【问题标题】:Excel - dynamic data validation lists for multiple rowsExcel - 多行的动态数据验证列表
【发布时间】:2021-02-24 23:47:33
【问题描述】:

Excel 16.x for Mac

我有一种情况,我们有一个用于申请的表格电子表格模板。为每个项目复制电子表格并填写。每个电子表格将有多行 - 从 1 到 400。每行都有带有数据验证规则的列。

问题是我无法弄清楚如何输入一个公式,该公式会为数据验证公式条目的每一行生成不同的列表。

例如: 每行都有一个“设施代码”和一个“建筑代码”。 “建筑代码”列表由“设施代码”单元格中的内容生成。问题是数据验证规则需要一系列单元格,而不是生成数组的公式。有时有 400 行,我需要根据 R(n):Facility_Code 条目创建 400 个不同的查找。

设施代码的动态列表(在模板中!P4): =UNIQUE(FILTER(NFS_Facilities[设施代码],(NFS_Facilities[设施代码]""),""))

建筑规范动态列表: =UNIQUE(FILTER(NFS_Facilities[Facility Code],(NFS_Facilities[Facility Code]='Template'!P4),""))

P4 是这里的问题,因为它将逐行更改。

数据列表验证指向一系列单元格。

当前行为在 R1 上,它工作正常。在R2上,无论在“P5”中输入什么,它都会根据P4生成数据(因为它应该是公式中的内容)。

有没有办法让数据验证公式根据 R(n) 动态变化?目的是让数据验证范围成为一个动态公式,将 P4 替换为 tableName[facilityCode]

【问题讨论】:

  • 您能发布一个数据示例吗?输入和预期输出
  • 我无法提供数据,但我可以解释一下。站点代码将是三个字符的字母代码。例如:AAA、AAB、ZZY、ZZZ 等。建筑规范类似于 Cnnn-nn,其中 n 是一个数字。一个站点可以有多个建筑规范。所以我选择了一个站点代码 - AAA,并且建筑代码列表将有 1-50 个项目可供选择。挑战在于,虽然 R1 可能有 AAA 作为站点代码,但 R2 可能有 AAB 等。电子表格将跟踪多达 400 个不同的行。所以每一行都必须有一个不同的建筑代码列表。

标签: arrays excel validation dynamic


【解决方案1】:

...忽略我之前的回答。

由于某种原因,在具有动态引用的 DV 中放置 FILTER 是行不通的。

您需要一个隐藏的工作表,在该工作表中,输入工作表上的每一行都有相应的选项行。他们的关键是在 FILTER() 周围使用 =TRANSPOSE() 以使结果在行而不是列中(因此它们不会导致 #SPILL! 错误。

设置完成后,只需将 DV 指向带有溢出引用的工作表(后面带有 #):Sheet BUILD_CODE_OPTIONS!A4 中的示例:

=TRANSPOSE(UNIQUE(FILTER(NFS_Facilities[Facility Code],(NFS_Facilities[Facility Code]='Template'!P4),"")))

然后在第 4 行的建筑代码字段的 DV 中:

BUILD_CODE_OPTIONS!A4#

您需要为想要动态下拉的每一列提供一个工作表。

...现在等待MS修复阻止DV中的FILTER的错误...

【讨论】:

  • 谢谢你——这就是我害怕的。这可能需要 800 行或更多的溢出引用。我相信这会在较小的范围内起作用,但有这么多……不太确定。
  • 值得一试吗? ??‍♀️
猜你喜欢
  • 2018-03-03
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-28
  • 1970-01-01
相关资源
最近更新 更多