找了一下之后难过......
我有一个包含如下项目的电子表格:
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 for array formula):
={if(c2:c6="Activity",a2:a6,"")}
但我无法弄清楚如何正确地将该公式放入命名范围。当我按下ctrl + shift + enter时,不会出现大括号。当它没有大括号时,它似乎也不起作用(它将值显示为{...})。
有没有办法让这项工作?
提前致谢
最后,这不可能通过命名范围;我最终根据Darren上述评论中的blog page以及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”(同样,值不是a很重要的)。枢轴布局设置为表格,重复标签,无总计或小计。我将此枢轴放在另一个旁边,第一个标题行从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)
这基本上取了帮助列中的范围来制作下拉列表。当这些公式被扩展时,它们会递增(A3到A4,B3到B4等),这样即使向listobject表添加行,它们仍然可以工作。
在D列中创建一个辅助列并编写简单的公式
= IF(C2 = “活动”,A2, “”)
一旦你有了D列,就可以从D列创建一个列表,忽略你想要的空白单元格。
附:如果您不关心空白单元格,请使用E2列中的公式并在下方拖动,这将为您提供要在列表中看到的连续值。
= IFERROR(SMALL($ d $ 2:$ d $ 6 ROW() - 1), “”)