找了一会儿就懵了……
我有一个包含以下项目的电子表格:
A B C
+------+----------------------+--------------+
| Code | Desc | Type | 1
+------+----------------------+--------------+
| 1 | Main item | Activity | 2
| 1.1 | Sub item | Sub-activity | 3
| 1.2 | Another sub item | Sub-activity | 4
| 2 | Another main item | Activity | 5
| 2.1 | Yet another sub item | Sub-activity | 6
+------+----------------------+--------------+
我想创建一个基于 Activity 的下拉列表。我可以在一个典型的单元格中执行此操作(使用 ctrl + shift + enter 进行数组公式):
={if(c2:c6="Activity",a2:a6,"")}
但我不知道如何将该公式正确放入命名范围。当我按 ctrl + shift + enter 时,没有出现大括号。当它没有大括号时,它似乎也不起作用(它将值显示为 {...})。
有没有办法使这项工作?
提前致谢
最佳答案
最后,通过命名范围是不可能的。我最终根据 blog page 做了一个带有偏移量和两个枢轴的依赖下拉列表的变体。来自 Darren 的上述评论以及 this link .可能有点矫枉过正,但至少我知道我是怎么做到的。
设置第一个下拉数据源和下拉数据验证
=OFFSET('PivotSheet'!$A$4,0,0,COUNTA('PivotSheet'!$A$4:$A$100),1)
这基本上列出了项目并删除了任何空白。它不像我想要的那样动态,但我认为我不太可能超过列表中的约 100 项,所以我决定接受它。
={""}
这样,如果选择了第二个依赖项,我也可以锁定第一个下拉列表(以防止出现奇怪的不匹配数据问题)。
=IF(ISBLANK($B3),costCategory,emptyList)
其中 $B3 是第二个相关的下拉位置。
设置第二个依赖下拉数据源和数据验证
5. 我从同一个数据源创建了另一个数据透视表,其中包含“Type”和“Desc”行,以及“Type”的计数值(同样,这些值没什么大不了的)。数据透视布局设置为表格、重复标签、无总计或小计。我把这个枢轴放在另一个旁边,第一个标题行从 E3 开始。它也是 alpha 排序。
=ROW(INDEX('PivotSheet'!$F$4:$F$200,MATCH($A3,'PivotSheet'!$E$4:$E$200,0)))
在 col D 中,为了获取存在依赖数据的 cols 的数量,我输入了以下公式:
=(LOOKUP(2,1/('PivotSheet'!$E$4:$E$200=$A3),ROW('PivotSheet'!$F$4:$F$200))-ROW(INDEX('PivotSheet'!$F$4:$F$200,MATCH($A3,'PivotSheet'!$E$4:$E$200,0))))+1
=OFFSET('PivotSheet'!$F$1,$C3-1,0,$D3,1)
这基本上采用了在帮助器 cols 中找到的范围来制作下拉列表。
当这些公式被扩展时,它们会递增(A3 到 A4、B3 到 B4 等),因此即使您在 listobject 表中添加行,它们仍然可以工作。
关于excel - 使用带有数组公式的 if 语句命名范围以用于依赖下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52053670/