【问题标题】:Google Sheets Conditional Formatting - Column comparison w/ changing dataGoogle 表格条件格式 - 与/更改数据的列比较
【发布时间】:2019-05-14 16:10:58
【问题描述】:

我有一个代码生成的电子表格,其中包含以下数据:

Col:A    B        C        D        

Sect   | Lbl    | Data1  | Data2      
===================================
Sec1   | Lbl1   | 1      | >50       
-----------------------------------
Sec2   | Lbl2   | 2      | 1       

我有一个条件格式规则,如果Data1 大于Data2,则将Data1 列中的单元格背景颜色设为红色。如果数据是>50,我会在我的公式中提取50。我忽略了第一行和前 2 列,因为这种格式不需要它们。

应用到范围:C2:Z1000

自定义公式为:=AND((1*REGEXEXTRACT(D2,"\d+"))<(1*REGEXEXTRACT(C2,"\d+")))

这似乎工作正常。

下一步是在现有电子表格的 B 列和 C 列之间插入一些新数据(我的最新数据始终在左侧)

Col:A    B        C        D         E      

Sect   | Lbl    | NEWData| Data1   | Data2    
==========================================
Sec1   | Lbl1   | 9      | 1       | >50       
------------------------------------------
Sec2   | Lbl2   | 3      | 2       | 1

如您所见,新数据现在位于 C 列中,并且所有内容都移动了 1 列。 该规则现在影响 D 列(对上述设置没有任何更改)。但是,我希望它影响所有 C 列以后:

  • 如果该行上的NEWData 值大于Data1 值,则NEWData 值为红色
  • 如果该行上的Data1 值大于Data2 值,则Data1 值为红色
  • Data2 将始终未格式化,因为它在右侧没有可比较的价值。

每次我添加一个新列(在 C 列的位置)时,我都希望为所有适用的列数据更新颜色。


旁注:我还有另一个类似的规则,如果值“小于”而不是“大于”,则将单元格着色为绿色。一旦我得到这个规则,这也将被应用。

【问题讨论】:

  • 如果突出显示 C 列并在左侧插入 1 列,它不是将条件格式公式复制到新列并调整现有列中的公式,还是我遗漏了什么?
  • 当您有一个专门查看仅 2 列的公式时,不确定如何通过在左侧添加列来实现这一目标
  • 确实需要好的建议。我想(a)调整公式以遍历所有列,或者(b)每次通过代码插入列时可能添加一个新公式。我是条件格式的新手,但我想如果没有添加 $ 前缀,那么公式是否/应该遍历所有指定范围?

标签: google-sheets gs-conditional-formatting


【解决方案1】:

我终于想通了。问题似乎在于输入新列的数据的格式(或假定格式)。

我的代码插入值适用于规则(见下文),但是当我手动将值输入到新列(以测试公式)时,未应用规则。 不过,手动将值复制并粘贴到新列 DID 中。 很烦人。

无论如何,我已经简化了我的规则:

如果此值大于右侧的值,则 BG 颜色 = 红色

  • 范围:C2:Z
  • 公式:=GT(1*REGEXEXTRACT(C2,"\d+"),1*REGEXEXTRACT(D2,"\d+"))

如果该值小于右边的值,则 BG 颜色 = 绿色

  • 范围:C2:Z
  • 公式:=LT(1*REGEXEXTRACT(C2,"\d+"),1*REGEXEXTRACT(D2,"\d+"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多