【问题标题】:Validate cell based on another cell value in Excel根据 Excel 中的另一个单元格值验证单元格
【发布时间】:2021-03-29 20:56:24
【问题描述】:

我有这张桌子

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

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

我做了什么?

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

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

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

【问题讨论】:

  • 代替“四”和“六”这个词,为什么不让生活更轻松,使用4和6呢?更容易验证 LEN() 返回的数字与实际数字。
  • 实际上,我并没有像四六个那样使用counter,而是在使用与此类似的不同用例。
  • 那么请创建一个能反映您的用例的示例数据。

标签: excel validation excel-formula


【解决方案1】:

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

所以在你的情况下:

=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")

应该是一样的。

【讨论】:

    猜你喜欢
    • 2013-08-18
    • 2021-12-16
    • 1970-01-01
    • 2011-11-21
    • 2019-05-12
    • 1970-01-01
    • 2020-11-28
    • 2019-10-04
    • 1970-01-01
    相关资源
    最近更新 更多