条件格式:在 indirect() 和 and() 中使用 row() 无效。我究竟做错了什么?
Conditional formatting: using row() inside indirect() inside and() doesn't work. What am I doing wrong?
假设我在单元格 B2 上设置了 55 的值。
如果它的值为 55,单元格的背景颜色应该是绿色。因此,我通过选择 "User a formula to determine which cells to format" 使用公式创建了一个新规则,并将公式设置为以下内容:
=B2 = 55
很明显,它奏效了。但是因为我们不想对行进行硬编码,因为我们将此电子表格用作应用程序中的模板,只需将该单元格复制到另一行即可生成更多行,因此我将公式设置为:
=INDIRECT( "B" & row() ) = 55
而且因为我们实际上想要两个条件并且我们的要求并不那么简单,所以我尝试了以下方法:
=AND( INDIRECT( "B" & row() ) >= 50, INDIRECT( "B" & row() ) <= 60 )
这意味着如果该值在50到60(含)之间,则将背景设置为绿色。那没有用。但以下作品:
=AND( INDIRECT( "B" & "2" ) >= 50, INDIRECT( "B" & "2" ) <= 60 )
谁能告诉我为什么后者有效而调用 row() 的前者无效?
似乎 row() 仅在与 AND() 和 INDIRECT() 组合使用时不起作用,如下所示:
=AND( ROW() = 2 ) -> this one works
=INDIRECT( "B" & row() ) = 55 -> this one works too
=AND( INDIRECT( "B" & row() ) ) = 55 -> doesn't work :((
有人可以解释这是为什么吗?这是 Excel 2010 中的错误吗?我该如何解决这个问题?
假设我在单元格 B2 上设置了 55 的值。
如果它的值为 55,单元格的背景颜色应该是绿色。因此,我通过选择 "User a formula to determine which cells to format" 使用公式创建了一个新规则,并将公式设置为以下内容:
=B2 = 55
很明显,它奏效了。但是因为我们不想对行进行硬编码,因为我们将此电子表格用作应用程序中的模板,只需将该单元格复制到另一行即可生成更多行,因此我将公式设置为:
=INDIRECT( "B" & row() ) = 55
而且因为我们实际上想要两个条件并且我们的要求并不那么简单,所以我尝试了以下方法:
=AND( INDIRECT( "B" & row() ) >= 50, INDIRECT( "B" & row() ) <= 60 )
这意味着如果该值在50到60(含)之间,则将背景设置为绿色。那没有用。但以下作品:
=AND( INDIRECT( "B" & "2" ) >= 50, INDIRECT( "B" & "2" ) <= 60 )
谁能告诉我为什么后者有效而调用 row() 的前者无效?
似乎 row() 仅在与 AND() 和 INDIRECT() 组合使用时不起作用,如下所示:
=AND( ROW() = 2 ) -> this one works
=INDIRECT( "B" & row() ) = 55 -> this one works too
=AND( INDIRECT( "B" & row() ) ) = 55 -> doesn't work :((
有人可以解释这是为什么吗?这是 Excel 2010 中的错误吗?我该如何解决这个问题?