如何在google电子表格的同一列中重复显示单元格的值?

use*_*309 253 google-sheets gs-conditional-formatting

如果值在同一列中重复,我正在寻找谷歌电子表格突出显示单元格的公式

谁有人可以帮我查询这个问题?

小智 438

试试这个:

  1. 选择整个列
  2. 单击格式
  3. 单击条件格式
  4. 单击" 添加新规则"
  5. 如果要设置格式单元格:Custom formula is
  6. 将值设置为: =countif(A:A,A1)>1
  7. 设置格式样式.
  8. 确保范围适用于您的色谱柱(例如A).

完成.您在A1:A100单元格中编写的任何内容都将被检查,如果有重复内容(多次出现),则它将被着色.

对于多列,请使用A1:A100.

  • 从新的 Google 表格开始,您可以使用多列版本 COUNTIFS。如果重复项是更多列的组合,请像这样使用 `=COUNTIFS(A:A; A1; B:B; B1)>1` (43认同)
  • 有用.但为什么?假设A1是等式的标准,那么这个公式是否将范围内的所有单元格与A1进行比较? (11认同)
  • 作为旁注,如果你想将它应用于整个列,你可以使用公式**= countif(A:A,A:A)> 1**这意味着它不会只适用于单元格A1 ,但如果它们是相同的(重复)将到A4和A8.现在,A4和A8都将被格式化. (11认同)
  • @mafonya,自定义公式是一个通用公式,必须读取为应用于第一个单元格.所有参考文献都将适用于所选范围内的每个细胞.因此,例如,当检查单元格B2时,公式将变为内部`= countif(B:B,B2)> 1`.这允许在使用绝对与相对单元格引用时进行一些非常高级的格式化. (7认同)
  • 结尾`;`对我来说导致"无效公式"错误.只是删除它就可以了.另外要注意:您指定为`countif`的第二个参数的单元格应该是您选择的范围的第一个单元格. (5认同)
  • 有没有办法使用相同的想法,但使它甚至显示在列中重复出现的单词?我的意思是,此时它只显示完全相同的列。 (2认同)
  • 我尝试过,但它对我不起作用。=countif(J:J,J10)>1 ,我写错了吗? (2认同)

Sel*_*ish 61

虽然zolley的答案完全适合这个问题,但这里有一个更通用的解决方案,适用于任何范围,加上解释:

    =COUNTIF($A$1:$C$50, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))) > 1
Run Code Online (Sandbox Code Playgroud)

请注意,在此示例中,我将使用该范围A1:C50.第一个参数($A$1:$C$50)应替换为您要突出显示重复项的范围!


突出重复:

  1. 选择需要重复标记的整个范围.
  2. 在菜单上:Format>Conditional formatting...
  3. 在下Apply to range,选择应该应用规则的范围.
  4. Format cells if,Custom formula is在下拉列表中选择.
  5. 在文本框中插入给定的公式,调整范围以匹配步骤(3).

它为什么有效?

COUNTIF(range, criterion)将在每一个细胞比较rangecriterion,这是同样的处理,以公式.如果没有提供特殊运算符,它将比较该范围内的每个单元格与给定单元格,并返回找到的匹配规则的单元格数量(在本例中为比较).我们使用固定范围(带$标志),以便我们始终查看整个范围.

第二个块INDIRECT(ADDRESS(ROW(), COLUMN(), 4))将返回当前单元格的内容.如果将它放在单元格内部,则docs会对循环依赖关系进行哭泣,但在这种情况下,公式将被评估为好像它在单元格中,而不是更改它.

ROW()并且COLUMN()将返回的行和列分别给定的细胞.如果没有提供参数,则返回当前单元格(例如,这是基于1的,B3将返回3表示ROW(),2表示返回COLUMN()).

然后我们使用:ADDRESS(row, column, [absolute_relative_mode])将数字行和列转换为单元格引用(比如B3.记住,当我们在单元格的上下文中时,我们不知道它的地址或内容,我们需要内容才能进行比较).第三个参数负责格式化,并4返回格式化INDIRECT().

INDIRECT(),将采用单元格引用并返回其内容.在这种情况下,当前单元格的内容.然后回到开始,COUNTIF()将测试范围内的每个单元格对我们的单元格,并返回计数.

最后一步是让我们的公式返回一个布尔值,使其成为一个逻辑表达式:COUNTIF(...) > 1.使用它> 1是因为我们知道至少有一个与我们相同的单元格.这是我们的细胞,它在范围内,因此将与自身进行比较.因此,为了表明重复,我们需要找到2个或更多匹配我们的单元格.


资料来源:

  • 可悲的是,这对我不起作用.尽管存在大量重复,但它根本无法突出显示任何内容.不知道为什么,这听起来是个不错的解决方案. (4认同)
  • 确切地说,这是所需的解决方案.这就像HASHMAP一样可以识别重复项. (2认同)

Shu*_*rik 27

从"文本包含"下拉菜单中选择"自定义公式为:",并写入:"= countif(A:A,A1)> 1"(不带引号)

我完全按照zolley的建议,但应该做一些小修正:使用"自定义公式"代替"文本包含".然后条件渲染将起作用.

菜单截图


mah*_*are 27

@zolley的回答是对的.只需添加一个Gif和步骤供参考.

  1. 转到菜单 Format > Conditional formatting..
  2. Format cells if..
  3. 添加=countif(A:A,A1)>1字段Custom formula is
    • 注意:A使用您自己的列更改字母.

在此输入图像描述

  • 突出显示重复项后如何按颜色过滤它们? (2认同)

Red*_*eti 16

突出显示重复项(在 C 列中):

=COUNTIF(C:C, C1) > 1
Run Code Online (Sandbox Code Playgroud)

说明:C1here 不是指 C 中的第一行。因为这个公式是由条件格式规则计算的,相反,当检查公式是否适用时,theC1有效地指的是当前正在计算的任何行看看是否应该应用突出显示。(所以它更像是INDIRECT(C &ROW()),如果这对您有意义的话!)。本质上,在评估条件格式公式时,任何引用第 1 行的内容都会针对运行该公式的行进行评估。(是的,如果您使用 C2,那么您要求规则检查当前正在评估的行正下方的行的状态。

所以这就是说,计算C1整个列中(正在评估的当前单元格)中出现的任何内容C,如果其中超过 1 个(即该值有重复),则:应用突出显示(因为公式,总体而言,评估为TRUE)。

仅突出显示第一个重复项:

=AND(COUNTIF(C:C, C1) > 1, COUNTIF(C$1:C1, C1) = 1)
Run Code Online (Sandbox Code Playgroud)

说明:这仅在两个COUNTIFs 都是TRUE(它们出现在 内AND())时突出显示。

要评估的第一项 (the COUNTIF(C:C, C1) > 1) 与第一个示例中的完全相同;这是TRUE只有在无论是在C1有重复。(请记住,C1有效地指的是正在检查的当前行以查看它是否应该突出显示)。

第二项 ( COUNTIF(C$1:C1, C1) = 1) 看起来很相似,但它有三个关键区别:

它不搜索整个列C(如第一个广告:C:C),而是它开始从第一行搜索:C$1 (将$迫使它从字面上看行1,而不是在被评估为准行)。

然后它停止在正在评估的当前行处搜索C1

最后它说= 1

因此,只有TRUE当当前正在评估的行上方没有重复项时才会出现这种情况(意味着它必须是第一个重复项)。

结合第一项(仅TRUE当该行有重复项时才会出现)这意味着只有第一项会被突出显示。

突出显示第二个及以后的重复项:

=AND(COUNTIF(C:C, C1) > 1, NOT(COUNTIF(C$1:C1, C1) = 1), COUNTIF(C1:C, C1) >= 1)
Run Code Online (Sandbox Code Playgroud)

说明:第一个表达式与 always 相同(TRUE如果当前计算的行完全是重复的)。

第二项与最后一项完全相同,只是它被否定了:它有一个NOT()围绕它。所以它忽略了第一次出现。

最后,第三项选取重复项 2、3 等。COUNTIF(C1:C, C1) >= 1在当前评估的行(在C1C1:C)开始搜索范围。然后它只评估TRUE(应用突出显示)如果在这个(包括这个)下面有一个或多个重复项:(>= 1它必须>=不是,>否则最后一个重复项被忽略)。


vuj*_*jke 5

此外,您可以安装加载项删除重复项并查找(突出显示)或删除列或表中的重复值.