我在Excel中有一个用于跟踪项目的表。每当我为表创建一个新行时,我希望它自动填充项目“未开发票”的一列。我还希望本专栏使用数据验证仅允许“未开票”或“开票”作为内容。
我已经能够使这两件事都有效,但我似乎无法让它们一起工作而不会出错!我得到的最接近:
将公式放入相关列。已根据另一列的空白度尝试了超级基本="Not Invoiced"
和=IF
公式。每次我创建一个新行时,这都会正确执行。
然后我在列上添加了数据验证,该列最初工作正常,因为我的公式中的默认值是其中一个选项,但是当项目发票时我选择“已开票”然后我收到错误我违反了上述公式。从我读过的内容中选择下拉菜单应该只替换自动填充的公式,但这似乎不会发生,它给我一个错误,我违反了列的公式。
< / LI>我已经阅读了多个地方,如果你正确地订购了东西(创建表格,添加默认值的公式,然后添加数据验证),上面的方法应该可行,但它不适合我,我继续得到每个错误时间我改为“已开票”。
答案 0 :(得分:0)
您可以将stati“Not Invoiced”和“Invoiced”输入到靠近的单元格中,例如$ G $ 3和$ G $ 4。然后,为$ G $ 3创建一个命名范围:$ G $ 4,让我们说“ValList”(菜单:公式/定义名称)。
想象一下,A列是控制列,B是状态列(“Invoiced”/“Not Invoiced”)。单元格B5的示例:
初始状态为= IF(A5 =“”;“”; $ G $ 3)
验证(类型“列表”)必须由公式= IF控制(A5 =“”;“”; ValList)
祝你好运!答案 1 :(得分:0)
有一个简单的方法可以做到这一点。
在开始使用新表之前,请将列表数据验证添加到第一行也是唯一行中的单元格:
Invoiced,Not Invoiced
然后,在同一单元格中表格的第一行中:
=IF(TRUE,"Not Invoiced";"Not Invoiced")
这会将Not Invoiced
作为默认值,添加到表中的每个新行上,并保持数据验证到位。您仍然可以在每个新行的单元格上访问存储在初始单元格的数据验证列表参数中的下拉列表。
由于某种原因,如果您尝试像描述的那样对另一个单元格尝试相同的IF函数方法,则数据验证将被覆盖。
答案 2 :(得分:0)
解决此问题的一种方法是使用帮助器列。 您可以将数据验证列表用于输入列,例如列A。 您可以在隐藏的列B中使用公式= IF(A1,“ Invoiced”,“ Invoiced”,“ Not invoiced”)