Google表格条件格式-具有更改数据的列比较

时间:2019-05-14 16:10:59

标签: google-sheets gs-conditional-formatting

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

Col:A    B        C        D        

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

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

适用于范围: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的值,则为红色
  • 如果
  • Data1的值大于该行中的Data2的值,则为红色
  • Data2将始终是未格式化的,因为它的右侧没有可比较的值。

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


侧面注意:我也有另一个类似的规则,如果该值是“小于”而不是“大于”,则将单元格涂成绿色。一旦我使该规则生效,这也将适用。

1 个答案:

答案 0 :(得分:0)

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

我的代码插入值适用于规则(请参见下文),但是当我手动在新列中键入值(以测试公式)时,未应用规则。 但是,可以手动将值复制并粘贴到新列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+"))