首页 > 解决方案 > 根据 Excel 中的另一个单元格值验证单元格

问题描述

我有这张桌子

Counter    | String
---------------------
four       | Apple
six        | Banana

String并希望根据同一行列中前一个单元格的值来验证该列中的单元格Counter

我做了什么?

-> 数据 -> 数据验证 -> 自定义,这是我写的公式

=AND(LEN(ADDRESS(ROW(),COLUMN()))=4, INDIRECT(ADDRESS(ROW(),COLUMN()-1)) = "four")

但这对我不起作用,任何人都可以帮助我吗?

标签: excelvalidationexcel-formula

解决方案


INDIRECT返回单元格引用而不是单元格值。在单元格中使用这并不是真正的区别,但在其他地方使用可能会出现问题。在您的情况下,单元格引用不等于“四”,但该单元格引用背后的值是。要解决这些问题,您可以将结果包含INDIRECTNT依赖于结果是数字还是文本。

所以在你的情况下:

=AND(LEN(ADDRESS(ROW(),COLUMN()))=4,T(INDIRECT(ADDRESS(ROW(),COLUMN()-1)))="four")

如果应用于列,这应该可以工作String

但是INDIRECT应该避免大量使用,因为它的行为不稳定。大多数情况下,它可以使用INDEX. 在这种情况下也是如此。

=AND(ROW()<10,COLUMN()<27,INDEX($A$1:$Z$9,ROW(),COLUMN()-1)="four")

应该是一样的。


推荐阅读