使用 UNIQUE 和 FILTER 函数以及数据验证,我正在尝试使用 EXCEL 365 中的多级依赖下拉列表创建房间查找器。
正在拉取数据的列表被格式化为表格。
我一直成功到第 4 个下拉列表。不幸的是,它显示了指定建筑物所有楼层的所有房间,而不仅仅是该楼层可用的房间。
表格布局如下: A1:地区 | B1:大楼 | C1:楼层| D1:房间详情
下拉数据验证
A2:List=$A$26# B2:List=$B$26# C2:List=$C$26# D2:List=$D$26#
表格有 4 列,横跨 (A4:D24),带有标题: A4:地区 | B4:大楼 | C4:楼层| D4:房间详情 A5:D4填写相关DATA。 列出的每个房间都在自己的行中,即使它在同一栋楼和同一层楼。
唯一和过滤器功能:
A26:=UNIQUE(Details[Region])
B26:=UNIQUE(FILTER(Details[Building],Details[Region]=A2))
C26:=UNIQUE(FILTER(Details[Floor],Details[Building]=B2))
D26:=FILTER(Details[Room Details],Details[Building]=B2,Details[Floor]=C2)
我真的很难过,我试图通过 VLOOKUP、OFFSET、SEARCH 和 FIND 传递它,但我不断打破公式来显示 CALC!或值#。我不确定我做错了什么,感谢任何帮助。
FILTER()
上的文档
你会注意到我们在第二个标准中使用
*
的多个标准。第三个保留用于如果没有匹配项。
FILTER 用于返回多个条件
在这种情况下,我们使用乘法运算符 (
) 返回数组范围 (*
) 中所有具有苹果且位于东部地区的值:A5:D20
.=FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),"")
所以应该是:
=FILTER(Details[Room Details],(Details[Building]=B2)*(Details[Floor]=C2))