gpt4 book ai didi

excel - 使用带有数组公式的 if 语句命名范围以用于依赖下拉列表

转载 作者:行者123 更新时间:2023-12-04 20:30:14 29 4
gpt4 key购买 nike

找了一会儿就懵了……

我有一个包含以下项目的电子表格:

   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 .可能有点矫枉过正,但至少我知道我是怎么做到的。

设置第一个下拉数据源和下拉数据验证

  • 对于第一个列表,我从下拉数据源中创建了一个数据透视表,其中包含“类型”列和计数“类型”的值(这些值并不相关,但我发现只知道预期的任何元素很有用对于以后的依赖项)。此枢轴位于新工作表上的标准默认枢轴位置,其中标题行从 A3 开始。默认情况下,使用枢轴还会按字母顺序对其进行排序(我想要的)。翻转所有总列。
  • 然后,我使用以下公式创建了一个命名范围(“costCategory”):
    =OFFSET('PivotSheet'!$A$4,0,0,COUNTA('PivotSheet'!$A$4:$A$100),1)
    这基本上列出了项目并删除了任何空白。它不像我想要的那样动态,但我认为我不太可能超过列表中的约 100 项,所以我决定接受它。
  • 我使用以下公式创建了另一个命名范围(“emptyList”):
    ={""}
    这样,如果选择了第二个依赖项,我也可以锁定第一个下拉列表(以防止出现奇怪的不匹配数据问题)。
  • 对于需要下拉列表的表行,我使用以下公式为列表输入数据验证:
    =IF(ISBLANK($B3),costCategory,emptyList)
    其中 $B3 是第二个相关的下拉位置。

  • 设置第二个依赖下拉数据源和数据验证
    5. 我从同一个数据源创建了另一个数据透视表,其中包含“Type”和“Desc”行,以及“Type”的计数值(同样,这些值没什么大不了的)。数据透视布局设置为表格、重复标签、无总计或小计。我把这个枢轴放在另一个旁边,第一个标题行从 E3 开始。它也是 alpha 排序。
  • 我放入辅助列以确定依赖下拉列表的特定父级的列表从哪里开始,以及该列表的行数。它使用与第一个下拉列表中相同的任意长范围方法 - 只需在枢轴中放入一些不太可能超过的行。在 col C 中,为了获取依赖数据开始的第一行,我输入了这个公式:
    =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
  • 最后,在具有相关下拉列表(col B)的列中,我使用了以下数据验证规则:
    =OFFSET('PivotSheet'!$F$1,$C3-1,0,$D3,1)
    这基本上采用了在帮助器 cols 中找到的范围来制作下拉列表。

  • 当这些公式被扩展时,它们会递增(A3 到 A4、B3 到 B4 等),因此即使您在 listobject 表中添加行,它们仍然可以工作。

    关于excel - 使用带有数组公式的 if 语句命名范围以用于依赖下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52053670/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com