来自另一张表的条件格式

问题描述 投票:17回答:4

我正在尝试在工作表A上有一个单元格,检查它是>或<工作表B上单元格中的值,然后相应地更改其颜色。根据我使用的自定义公式:=A1>("SheetB!A1"),但它似乎不起作用。我使用颜色绿色为>和颜色红色为

功能错了吗?或是不可能有条件格式甚至跨表格搜索?

google-sheets gs-conditional-formatting
4个回答
39
投票

由于某种原因(我承认我不知道为什么)条件格式的自定义公式不直接支持跨表引用。

但是支持交叉表引用INDIRECT-ly:

=A1>INDIRECT("SheetB!A1")

或者如果你想比较SheetS上的A1:B10和Sheet上的A1:B10,那么使用:

=A1>INDIRECT("SheetB!A1:B10")

适用于A1:B10。


3
投票

您可以通过引用当前工作表中的单元格和行号来执行此操作,以便将该条件格式拖放复制到其他行时,它将引用正确的单元格。在下面的等式中,我基于在该示例中名为“otherSheetName”的一些其他表中的完全相同的单元格着色单元格。例如,如果您想在Sheet2中为单元格B2着色,如果otherSheetName中的单元格B2包含文本“我喜欢狗”,您将转到单元格Sheet2!B2,单击条件格式,从下拉列表中选择方程式并粘贴下面的等式。

=IF(INDIRECT("otherSheetName!"&ADDRESS(ROW();COLUMN()))="I Like Dogs";1;0)

0
投票

有一个技巧/错误:如果Sheet1中的条件格式显式引用自身(例如,公式是Sheet1!$C$2),您可以使用Paste special > conditional formatting将条件格式复制到Sheet2,它将“工作”...只要你不要碰任何东西:

  • 如果您尝试编辑Sheet2中的条件格式,那么您将收到“无效公式”错误。
  • 如果Sheet1中的列/行发生更改以致它们影响条件格式(例如,行/列插入),则不会反映在Sheet2中(请记住@AdamL提到的indirect技巧也不会反映列/行更新,所以这是一个洗手。)

0
投票

比较字符串而不是条件格式规则的数字,您可以使用:

=EXACT(A1,(INDIRECT("Sheet2!A1")))

区分大小写。

© www.soinside.com 2019 - 2024. All rights reserved.