从另一个单元格获取数值并条件格式化文本的公式

3
我有一个包含每个单元格中1-4个短语的A列。
我还有4个单元格,它们包含1个单词值:B1 C1 D1和E1
我需要设置条件格式,以便:
1)如果来自A列的单元格中的文本包含与上述单元格之一匹配的单词,则突出显示该单元格(来自A列)为红色。
2)如果来自A列的单元格中的文本包含与上述两个单元格之一匹配的单词,则将该单元格(来自A列)突出显示为蓝色。
3)如果来自A列的单元格中的文本包含与上述三个单元格之一匹配的单词,则将该单元格(来自A列)突出显示为黄色。
4)如果来自A列的单元格中的文本包含与上述所有四个单元格匹配的单词,则将该单元格(来自A列)突出显示为绿色。
请参见附加的图像以进行说明:
当我更改B1 C1 D1或E1中的任何一个值时,如果不是立即反映在A列中,则希望通过运行某种宏来实现。
我怀疑它应该是按公式进行条件格式化或运行某种宏...
附注:我使用Excel 2010
1个回答

4
请使用以下公式进行条件格式设置:
=SUM(COUNTIF(A1,"*" & $B$1:$E$1 & "*")) = 1

显然需要为2、3和4添加一个公式,并选择合适的颜色,但这样就可以了。

如果您想在单元格中测试该公式,则需要使用Ctrl-Shift-Enter输入它作为数组公式。但是条件格式化可以识别没有任何花哨的数组公式。

该公式表示对B1到E1中包含任何文本的值的出现次数进行求和,因此需要使用通配符。如果您只获取公式的COUNTIF部分并按F9键,则会看到它评估为类似以下内容:

=SUM({1,0,0,0}) = 1

enter image description here

要将条件格式应用于A列的所有单元格,只需在每个公式的“适用范围”框中输入$A:$A:

enter image description here


有没有一种方法可以将公式应用于整个列,而不管该列中有多少行,而无需像您建议的那样将其复制下来?我正在制作一个记录宏,每次列的长度都会有所不同。 - Acidon
当然。条件格式公式不会改变。“复制向下”并不是正确的说法。无论如何,您只需要在CF对话框中的每个公式旁边的“适用范围”框中放置公式应用的范围。请参见我的编辑。 - Doug Glancy
1
谢谢,这正是我在寻找的,你是最棒的! - Acidon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接