将表名作为单元格值验证的参考

alt*_*ern 5 validation microsoft-excel

我想在简单列表的帮助下验证单元格值。但事实证明,如果每次添加新值时都不需要更新验证源范围,就很难扩展此列表,如图所示。

替代文字

我的问题是:我可以将动态表引用放入“源”字段吗?如果是,那么我怎么能做到这一点?

谢谢。

小智 8

从 Excel 2010 开始,您不能直接使用结构化引用作为数据验证的源列表。但是,您可以为结构化引用定义一个名称,并改用这个新名称。

例如,如果我有一个名为 的单列表Table1,其中包含一个名为 的列Acceptable Values,我可以ValidValues使用结构化引用定义一个新名称Table1[Acceptable Values]。在数据验证列表的源字段中我可以输入=ValidValues


Nic*_*aly 6

回答你的问题:

我可以将动态表引用放入“源”字段吗?如果是,那么我怎么能做到这一点?

是的!像这样...

使用该INDIRECT函数直接从数据验证源字段引用表列。

示例数据验证源:

=INDIRECT("Table1[MyColumn]")
Run Code Online (Sandbox Code Playgroud)

请注意:对表/列引用名称的任何更改都不会神奇地更新!

参考

  1. https://support.office.com/en-nz/article/INDIRECT-function-21f8bcfc-b174-4a50-9dc6-4dfb5b3361cd?ui=en-US&rs=en-NZ&ad=NZ
  2. http://www.get-digital-help.com/2012/10/15/how-to-use-a-table-name-in-data-validation-lists-and-conditional-formatting-formulas/


DMA*_*361 3

我可以看到两种方法可以做到这一点:

使用命名范围

选择C1:C6,在菜单栏上转到“插入” -> “名称” -> “定义”,输入范围的名称(例如“ValidationList”)。在“数据验证”窗口中, “源”字段上方应设置为=ValidationList

每当您将项目添加到列表中时,您需要重新访问“插入” -> “名称” -> “定义”窗口,从列表中选择命名项目并根据需要更改“引用”值。

所有对 的引用=ValidationList将自动指向新修改的列表。

扩展列表的中心

在此示例中,您用作$C$1:$C$6列表区域,如果您在此列表的中间插入新单元格即,选择C4、右键单击、插入、向下移动单元格),则应为您扩展范围。