首页 > 解决方案 > 如何有条件地格式化包含相同文本字符串的单元格?

问题描述

我正在尝试根据它们包含的单个字符串而不是单元格的整个值来更改单元格的颜色。具体来说,如果单元格共享相同的字符串,我想格式化它们。

例如,如果我有下表:

Pair 1             Pair 2            Pair 3              Pair 4
Apples - Bananas   Oranges - Pears   Apples - Avocados   Kiwis - Watermelons

然后将突出显示包含“Apples - Bananas”和“Apples - Avocados”的单元格,因为它们都包含字符串“Apples”。

从计数到使用左/右功能,我已经尝试了所有我能想到的东西。我取得的最大成功是使用以下条件格式公式:

=LEFT(C$27, SEARCH("-", C$27, 1) -2) = LEFT($C$27:$E$27, SEARCH("-", $C$27:$E$27, 1)-2)

其中 C$27 是起始单元格,$C$27:$E$27 是我要格式化的范围,第一个 LEFT 和 SEARCH 函数组合提取单元格中最左边的字符串,第二个 LEFT 和 SEARCH 组合执行相同但超过范围。这工作得很好,但它总是将范围内的第一个单元格识别为满足条件,并基于字符串搜索该值,即使在范围的其余部分也是如此。

标签: excelexcel-formula

解决方案


在条件格式中使用此公式:

=SUMPRODUCT(--ISNUMBER(SEARCH("-"&TRIM(MID(SUBSTITUTE(A2,"-",REPT(" ",999)),(ROW(INDIRECT("1:" & LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))+1))-1)*999+1,999))&"-","-"&SUBSTITUTE($A$2:$D$2," ","")&"-")))>LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))+1

这适用于 A2:D2

在此处输入图像描述


并证明顺序无关紧要并且它是特定于整个单词的(不会在 CrabApples 中找到苹果)

在此处输入图像描述


推荐阅读