如何将公式放入数据验证列表Excel?

时间:2016-11-07 06:49:43

标签: excel list excel-vba validation excel-formula vba

我正在创建一个带有以下数据验证下拉列表的Excel工作表。

  1. NA
  2. 完成
  3. (在这里添加一些公式)
  4. 基本上,我可以从下拉列表中选择纯文本“NA”/“Done”。但有时,我希望用户能够根据所选行的单元格计算某些值,因此,我希望在数据验证下拉列表中有一个公式作为选择。这可能吗?

    数据验证列表来源

    enter image description here

    当我点击“公式”选项时,它应该针对该行中的单元格执行公式

    enter image description here

    但是目前,我输入的公式没有执行,相反它只会在激活时在单元格中显示整个公式。

    enter image description here

    1)我怎样才能做到这一点,当我从数据验证列表中选择公式时,它会执行它而不是用它来填充单元格?

    2)如何设置公式以便它将使用当前行中的单元格? (例如,如果我在 N60 中使用数据验证列表,公式应该适应自己使用单元格(假设 A60 ?)。

3 个答案:

答案 0 :(得分:1)

我可能无法帮助第二部分,但我正在寻找第一部分的答案,并使用名称管理器发现了解决方案/解决方法。

首先,在公式>名称管理器,创建一个新的引用(“引用”将包含您希望最终显示在验证列表中的任何公式。对于此示例,我们使用公式引用“= IF($ H54 = ...”和名称)它是“UniqueName”

现在,我们进入数据验证,选择列表,并输入我们想要在列表中显示的三个项目,在我们新命名的引用之前有一个等号:ie。 “NA,完成,= UniqueName”

注意:您不能以= UniqueName开头,否则验证将尝试将其全部作为公式读取并失败。

此方法允许用户在单元格中显示“NA”,“Done”或“= UniqueName”;如果选择“= UniqueName”,则单元格本身会将其解释为公式并相应地执行它,显示“= IF($ H54 = ...”或whateverelse的结果,您指定将其用作命名公式。

如果对你来说太晚了,我希望这可以帮助那些可能遇到类似问题的人。

答案 1 :(得分:0)

虽然我想我知道你想说什么。为什么不使用IF公式来评估所有内容,而不是手动为每一行选择下拉列表。你已经使用IF部分解决了它。只需添加一个"完成"的标准。和" NA"

=if(A1="date","Done",if(A1<"date","NA",if(something else until you have all your catergories))

答案 2 :(得分:0)

只是背叛马克的回应。

如果您真的需要将您的命名公式作为列表中的第一个选择,您可以使用如下所示的前导逗号设置列表:

,= UniqueName,NA,完成

这对我的使用有用,并且数据验证下拉列表中没有列出空项目。希望有所帮助!