如果这是一个愚蠢的问题,我道歉,但我似乎无法找到解决方案。
我有这张table:Table
在两个单独的表(存储1和存储2)中,我有以下内容:enter image description here的
在这两个工作表(商店1和商店2),我想有一个下拉列表,以便,例如,如果“酒精”是在列中选择。B,在C列的“类别”下,下拉菜单只会显示两个选项(“葡萄酒”和“烈酒”)。如果选择了“Spirit”,则在D列中,下拉列表将仅显示“Red Wine”和“白色Wine”。
“组”不是一个真正的问题,因为我可以添加一个助手列到我的第一个表,然后使用UNIQUE函数。我不知道如何处理“类别”和“子类别”。
希望我能解释清楚!
1条答案
按热度按时间rjzwgtxy1#
使用动态数组...
x1c 0d1x的数据
A1:C8
包含OP所称的Store1
。E1:H5
包含Store2
。1.行
10
、13-16
和19-22
包含从列F
向前的动态数组,这些动态数组为Store2
中的单元格提供下拉列表。定义动态数组:
使用以下公式:
单元格
F10
:=TOROW(UNIQUE(A2:A8))
个单元格
F13
:=TOROW(UNIQUE((FILTER(B$2:B$8,A$2:A$8=F2))))
个复制到范围
F14:F16
单元格
F19
:=TOROW(FILTER(C$2:C$8,(A$2:A$8=F2)*(B$2:B$8=G2)))
个复制到范围
F20:F22
不寻常的是,这些数组公式在单元格引用中包含绝对元素($符号)。由于上面提到的复制/粘贴操作,这些是必需的。
为区域F2:H5中的单元格分配下拉列表
单元格
F2
数据验证”对话框的 Source: 字段被分配值
=$F$10#
将单元格F2
复制到范围F3:F5
单元格
G2
数据验证”对话框的 Source: 字段被分配值
=F13#
将单元格G2
复制到范围G3:G5
单元格
H2
数据验证”对话框的 Source: 字段被分配值
=F19#
将单元格H2
复制到范围H3:H5
注意事项
1.有必要将构成下拉列表的动态数组放置到工作簿中,因为数据验证对话框的 Source: 字段还没有!?)允许动态数组函数,如
UNIQUE
、FILTER
和TOROW
。#CALC
值在无法计算动态数组时显示。例如,单元格F15
的公式包含公式片段FILTER(B$2:B$8,A$2:A$8=F4)
。但是,单元格F4
中尚未选择任何值,这意味着无法计算代码段,因此返回#CALC
。只要在单元格F4
中输入一个值(使用其下拉菜单),动态数组就会出现在F15
及其右侧的单元格中。1.与@Solar Mike在他的评论中引用的答案(并且早于Excel的动态数组)不同,没有要求
Store1
中的数据按Group
然后Category
排序。