【问题标题】:Google Spreadsheets: Alternating Background Color on Value Change?谷歌电子表格:值变化时交替背景颜色?
【发布时间】:2015-05-15 20:46:59
【问题描述】:

在 Google 电子表格中有 很多关于条件格式的主题,但不是我要找的主题。

我要做的就是根据列中的值变化设置交替的背景颜色。例如:

如果没有简单的方法来实现这一点,有人知道我会为条件格式公式写什么吗?

值将始终是连续的 - 其想法是,着色只是新值出现时的视觉辅助。

如果您好奇,我有一个系统类型列表及其功耗数字 - 我只是想在系统类型更改为右侧屏幕外时进行颜色划分。

【问题讨论】:

  • 唯一值是否总是连续的?您是否会看到ValueA 再次出现在第 16 行?如果是这样,您希望它是彩色的还是白色的?
  • 我将通过编辑我的帖子来回答这个问题 - 感谢您的提问!
  • @Locane 我的回答合适吗?

标签: google-sheets google-sheets-formula gs-conditional-formatting


【解决方案1】:

有一种方法可以做到这一点,而无需添加任何额外的行或列。制定条件格式规则并为“自定义公式”放置:

=iseven(match($A1,unique($A$1:$A$15),0))

它的工作方式是:

  1. unique 生成列表 ValueA,ValueB,ValueC,ValueD,ValueE
  2. match 在该列表中查找每个值(从 A1 开始),请注意,如果您的值未排序,则需要搜索选项 0match返回匹配值的索引
  3. iseven 根据匹配索引应用交替行着色

【讨论】:

  • 在我用分号替换逗号后,这对我有用,即=iseven(match($A1;unique($A$1:$A$15);0))
  • 按原样为我工作。很好的解决方案@nonagon - 在其他地方有另一篇文章,但需要隐藏行和列......但这个解决方案很简单而且效果很好。非常感谢!
【解决方案2】:

我添加了一个带有以下公式的附加列:=IF($A2=$A1,$D1,$D1+1)

A2 因为我有一个标题行 D 因为这是附加列

使用以下公式进行条件格式化:=isEven($D1)

【讨论】:

    【解决方案3】:

    0 / 1

    请在 B1 上试试这个公式:

    ={1;ArrayFormula(IF(OFFSET(A2,,,COUNTA(A:A)-1)<>OFFSET(A2,-1,,COUNTA(A:A)-1),1,0))}

    当连续出现新值时会加一个。


    计数器

    下一个公式将为 A:A 中的值创建一个计数器。

    粘贴到C1中:

    ArrayFormula(SUMIF(ROW(OFFSET(B1;;;COUNTA(A:A))); "<="&ROW(OFFSET(B1;;;COUNTA(A:A)));OFFSET(B1;;;COUNTA(A:A))))


    格式化

    A:Z 范围内的条件格式,使用以下公式:=isOdd($C1)

    【讨论】:

      【解决方案4】:

      对我来说最简单的似乎是清除格式并选择 ColumnA 和格式、条件格式...、格式单元格如果... 自定义公式是和:

      =and(A1<>"",isodd(counta(unique($A$1:$A1)))=TRUE)
      

      然后选择格式选择并完成

      (来自here。)

      【讨论】:

        【解决方案5】:

        我能看到这个工作的唯一方法是创建一个新列。如果您愿意,可以将其隐藏。

        将此公式放入任何新列并自动填充:

        =IFERROR(IF(A1<>INDIRECT("A"&ROW()-1),IF(INDIRECT(CHAR(COLUMN()+64)&ROW()-1)=0,1,0),INDIRECT(CHAR(COLUMN()+64)&ROW()-1)),1)
        

        根据需要将 A1 更改为数据的开头。您也可以将INDIRECT(...) 替换为偏移量,但是您必须告诉它您将公式放入哪一列。所以举一个这样做的例子;如果你把它放在B列:

        =IFERROR(IF(A1<>INDIRECT("A"&ROW()-1),IF(OFFSET(B1,-1,0)=0,1,0),OFFSET(B1,-1,0)),1)
        

        这个公式为我们提供了一列 0 和 1,它会告诉我们是使背景着色还是保持白色。

        因此,在您的条件格式中,只需将其应用于所需范围并使用“自定义公式为”:

        =$B1
        

        根据需要选择格式

        【讨论】:

          【解决方案6】:

          最可靠的是使用这个公式:

          =ISEVEN(SUMPRODUCT(--(A$1:A1<>A$2:A2)))
          

          【讨论】:

          • 您好,感谢您的回答。请您详细说明为什么这是最可靠的公式以及它是如何工作的?我真的很感兴趣。非常感谢。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-28
          • 1970-01-01
          • 2011-10-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多