我正在创建一个带有以下数据验证下拉列表的Excel工作表。
基本上,我可以从下拉列表中选择纯文本“NA”/“Done”。但有时,我希望用户能够根据所选行的单元格计算某些值,因此,我希望在数据验证下拉列表中有一个公式作为选择。这可能吗?
数据验证列表来源
当我点击“公式”选项时,它应该针对该行中的单元格执行公式
但是目前,我输入的公式没有执行,相反它只会在激活时在单元格中显示整个公式。
1)我怎样才能做到这一点,当我从数据验证列表中选择公式时,它会执行它而不是用它来填充单元格?
2)如何设置公式以便它将使用当前行中的单元格? (例如,如果我在 N60 中使用数据验证列表,公式应该适应自己使用单元格(假设 A60 ?)。
答案 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,完成
这对我的使用有用,并且数据验证下拉列表中没有列出空项目。希望有所帮助!