【问题标题】:Google Sheets Conditional formatting based on another sheet基于另一张工作表的 Google 表格条件格式
【发布时间】:2020-10-30 09:11:55
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: google-sheets conditional-formatting


    【解决方案1】:

    答案:

    您可以使用ARRAYFORMULA 来完成此操作。

    公式:

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

    这个公式的概要:

    • 使用相对引用创建一个单元格的ADDRESS,该单元格的行为 1,即当前列索引。
    • 替换硬编码的行号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()))
    

    参考资料:

    【讨论】:

    • 这太棒了,就像一个魅力!我还有一个问题。现在,如果单元格 C3 包含一个值,例如十月。 11 月的 C3 单元格可能是空的,但仍会变为绿色。因为当它为空时,它总是低于另一张纸中的。我尝试为 Cell 为空 > 白色格式添加规则,但该技巧不起作用。有什么办法可以将其纳入公式中?您已经提供了很大的帮助,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2019-12-16
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    相关资源
    最近更新 更多