将excel中的一个单元格中的列表和自定义公式数据validation组合在一起,无需vba

任何人都可以帮助一种方法结合列表和自定义公式数据validation在单个单元格中,而不使用VBA? 我有一个自定义公式validation数据,如果逻辑是TRUE,但我希望用户也有能力以及从下拉列表中select。 任何援助将不胜感激。 谢谢。

对不起,如果问题不够清楚。 请看下面:

在这里输入图像说明

在此示例中,即使用户可以从下拉列表中进行select,但如果用户select了单元格A2的值为7,validation应该会抛出一个错误,因为它不小于或等于单元格B2。 它更清楚吗?

这个非VBA解决scheme结合了条件和下拉select列表。 它提供了2个不同的select列表,依赖于另一列中的值。

这是不同于共享级联列表方法 (但是看到一些伟大的技术的链接 )

假设你有两列的表格。 Field1可能包含任何内容:

a box cat z 

要求:当Field1包含a ,Field2的validation应该显示List1下拉列表,并且当Field1包含其他内容时显示List2。

解决scheme:依赖于Excel条件公式可以返回包含项目列表的范围的事实。

脚步:

  • 在查找表上创build选取列表的列表,并将其命名为List1
  • 在查找表上创build另一个列表,并将其命名为List2
  • 在条目表上,插入一个包含2列的表格对象。 命名表MyTable ,以及字段Field1Field2

    在这里输入图像说明

  • 创build以下定义的名称,并将其ValidFmla 。 这是秘诀:

    =IF(MyTable[@Field1]="a", List1, List2)

  • 在Field2中select入口单元格,然后单击数据function区上的validation。

  • select“列表”types,并input=ValidFmla
  • testing一下:

    在这里输入图像说明 在这里输入图像说明

优点:

  • 如果您更改表名,字段名称,列表名称或validation公式名称,则所有相关的东西都会自动更新。

  • 支持任何你想要的复杂条件,只要你的validation公式返回一个列表范围。 validation不必基于Field1中的值。

  • validation列表范围可以被命名为任何东西。 从属列表方法要求将validation列表范围命名为与第一个字段中的值相同。

请注意,您不必使用Table对象来使用此方法。 但是,使用Table对象在validation公式中提供了结构化引用,这是一种更智能,更可读的构build公式的方法。

保存我们想要在单元格B1中设置DV ,如下所示:

  • 如果input数字 ,则必须小于A1中的值
  • 如果input文本 ,它必须在从D1D3的列表中

这是公式化的DV来做到这一点:

在这里输入图像说明

该公式将数字testing与将input限制在某个固定列表中的能力相结合。