Google表格基于其他表格的条件格式

时间:2020-10-30 09:11:55

标签: google-sheets conditional-formatting

我建立了一个Google Spreadsheets来跟踪每个月中某些物品的价格。不同的项目显示在行3:30中。 C:M列中显示了不同的零售商。每个月显示在不同的工作表中。我想将单元格C3与单元格C3匹配(例如),如果价格上涨,则将颜色设置为红色,如果价格下跌,则将颜色设置为绿色,如果价格相同,则将其设置为白色。我想对每个单元格C3:M30这样做。

我设法找到了一个公式,以匹配单元格C3到C3,然后匹配单元格C4到C4等,直到匹配单元格C30。这是我使用的公式:

=C3>INDIRECT("OKTOBER 2020!C"&ROW())

这对于列C很好用,但是我找不到在此公式中合并列D:M的方法。有没有办法在同一公式中合并D:M列的条件格式设置规则?还是我应该将此公式添加到具有相应行字母的每一行?

谢谢。

1 个答案:

答案 0 :(得分:2)

答案:

您可以使用ARRAYFORMULA进行此操作。

公式:

=ARRAYFORMULA(C3:M30>INDIRECT("OKTOBER 2020!"&SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","")&ROW()))

此公式的摘要:

  • 使用相对引用创建一个具有一行1(当前列索引)的单元格ADDRESS
  • 用硬编码的行号1代替以提取列字母
  • 使用提取的列字母,当前ROW()构造对当前单元格的间接引用,并将其附加到字符串OKTOBER 2020!
  • 检查此单元格是否大于当前单元格
  • C3:M30范围内运行整个公式。如有必要,可以扩展到其他单元格。

此公式检查价格是否上涨,条件格式应对此反映出来。您还可以通过更改初始比较运算符来针对价格下降或保持不变的情况执行此操作:

降价:

=ARRAYFORMULA(C3:M30<INDIRECT("OKTOBER 2020!"&SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","")&ROW()))

没有价格变化:

=ARRAYFORMULA(C3:M30=INDIRECT("OKTOBER 2020!"&SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","")&ROW()))

我希望这对您有帮助!

参考文献: