动态表中的下拉列表

时间:2018-08-06 15:56:24

标签: excel vba validation

我有一个包含以下各列的动态表:

COUNTRY(String), ACTIVE (Boolean),NAME(String)

一个例子是:

COUNTRY(String), ACTIVE (Boolean),NAME(String)
USA, True, Chair
Canada, False, Table
USA, False, Pen
USA, True, Pencil
Canada, True, Pencil
Canada, True, Basket

我想创建一个数据验证列表,其中包含每个活动国家/地区的名称。该表应该是动态的,因为表是不断变化的。

例如,数据验证列表应检查包含国家名称的单元格是加拿大还是美国,以及 如果是美国,则是:椅子,铅笔;如果是加拿大,则是:铅笔,篮子。

1 个答案:

答案 0 :(得分:0)

我已通过三个步骤解决了这个问题。第一步是为将用于数据验证的任何增长/缩小列表创建一个“表”。

第1步

  

在列中列出可能的值作为新表。将国家/地区名称放在每一列的标题行。

  A       B       C       D       E
1 Country chair           USA     Canada   <----header row
2 USA     pencil          pencil  table
3 Canada  table           Plato   warthog
4 USA     warthog
5 Canada  tuba
6 USA     magic
7 Canada  Plato
  

选择列(例如,在示例中为D1:E3),然后单击“插入”>“表”。

     

选中“我的数据包含标题”,然后单击“确定”。

     

在新格式的列中选择一个单元格,然后单击“表格工具”>“设计”>“属性”>“表格名称:______”,然后键入“国家/地区”。

第2步

  

选择要进行数据验证的列。请注意哪个单元格处于活动状态(可以写入选择内容的单元格)。在示例中,是单元格B2。

第3步

  

在数据验证下,选择列表并输入以下等式:

=INDIRECT("Countries[" & A2 & "]")
  

如果活动的行是第3行,请改为输入:

=INDIRECT("Countries[" & A3 & "]")

这实际上对我有用。试试吧!