我想应用条件格式,以便突出显示与另一行完全匹配的所有行。
假设我有一个如下的电子表格
| | a | b | c | |---|---|---|---| | 1 | A | B | C | // Matches row 3 and 6 | 2 | A | B | A | // Matches row 5 | 3 | A | B | C | // Matches row 1 and 6 | 4 | B | B | C | // Matches no other row | 5 | A | B | A | // Matches Row 2 | 6 | A | B | C | // Matches row 1 and 3 | 7 | B | B | A | // Matches no other row
第4行和第7行以外的所有行都会突出显示。
对于要被视为重复的行,给定行中每个/每个单元格的值必须与重复行中相应单元格(同一列中的单元格)的值完全匹配。
到目前为止,我的尝试只能返回行的值,只有前两个单元格是重复的,并返回每行中所有重复值的串联,这与我想要的相差很远。
CC = arrayformula(A:A&" "&B:B&" "&C:C)
返回一个新行,它是A,B和C的串联,它将单元格值强制转换为字符串,因此不同的“1”和1看起来是相同的,并且也不适用于整行(如果我只是继续添加列,但看起来很糟糕)。
=filter(unique(CC), arrayformula(countif(CC, unique(CC)) > 1))
CC是上一个等式的返回值
这会输出
A B C
A B A
然后我可以添加一个带有自定义公式的条件格式规则,如果它的连接内容突出显示一行“匹配”上一个等式中的一个返回值,但我不知道该怎么做,以及之前的方程已经很有缺陷了。
理想情况下,我想要一个不涉及字符串连接或输入所有列名的解决方案。
答案 0 :(得分:1)
让我们回顾创建此功能所需的内容。
首先,您需要将行作为字符串获取,以便能够像您一样比较它们。我没有像你那样使用空间,因为它发生了,但你可以保留它们。
=ARRAYFORMULA(A:A&B:B&C:C)
问题在于,由于公式将位于3列,因此我们不希望它变为C:C&D:D&E:E
,因此我们必须修复该列。
=ARRAYFORMULA($A:$A&$B:$B&$C:$C)
耶!现在我们有一个字符串列表,表示每行的“值”。我们现在可以计算每条线路的次数。我使用A2因为我猜你有一个标题,但如果你没有,只需用A1替换它。
=COUNTIF(ARRAYFORMULA($A:$A&$B:$B&$C:$C);A2&B2&C2)
我们还必须在此处修复列,否则该功能仅适用于第一个。
=COUNTIF(ARRAYFORMULA($A:$A&$B:$B&$C:$C);$A2&$B2&$C2)
现在剩下的就是检查你是否想要看到那些独特的或者有匹配的人
=COUNTIF(ARRAYFORMULA($A:$A&$B:$B&$C:$C);$A2&$B2&$C2)>1
答案 1 :(得分:0)
此解决方案并不涉及将值转换为字符串,但仍需要为每列添加一个函数,因此它几乎就在那里。
=countifs(arrayformula($A:$A=$A1),TRUE,arrayformula($B:$B=$B1),TRUE,arrayformula($C:$C=$C1),TRUE)>1
它只是countifs conditional = arrayformula($A:$A=$A1)
中每列countifs(conditional, true)
的条件。
我只需要这样做就可以将列值作为一个数组,我猜测它需要arrayformula
答案 2 :(得分:0)
有一种更简单的方法。