我试图find一个公式,可以突出显示一列中的单元格,如果它包含任何位于另一列的单词

A列包含美国城市,每个单元一个城市,在列下。

B栏包含可能包含或不包含A列中提到的城市之一的句子。

如果列B包含A列中提到的任何城市,我想强调B列。

注意:在单元格中除城市名称之外还有其他文字。

下面是没有任何突出显示的情况下的示例

在这里输入图像说明

B列中的所有内容都应该突出显示,除了“from xyz”

您可以通过使用条件格式来完成此操作。 在Excel 2007及更高版本中:

  1. 通过单击单元格B1并向下拖动到B4select单元格B1:B4 ,以便B1是活动单元格
  2. 点击首页 – >条件格式 – >新规则…
  3. 在“ 新build格式规则”对话框中,select“ 使用公式确定要格式化的单元格”选项
  4. 此公式为真的文本框中input格式值 ,input以下内容: =SUMPRODUCT(--ISNUMBER(SEARCH($A$1:$A$4, B1))) > 0
  5. 点击格式…button
  6. 在“ 格式单元格”对话框中,设置所需的格式选项(例如,在“填充”选项卡上select黄色),然后单击OKbutton
  7. 在“ 新build格式规则”对话框中,单击“ 确定”button

结果:

在这里输入图像说明

你可以使用VBA /macros来做到这一点。 对于你的例子,按Alt+F11 ,然后插入模块,并把这个macros代码:

 Sub highlight() Dim n As Integer, strng As String Dim LastRow As Long Columns("B:B").Select n = 1 With ActiveSheet LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row End With For n = 1 To LastRow strng = "=$A$" & n Selection.FormatConditions.Add Type:=xlTextString, String:=strng, _ TextOperator:=xlContains Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13551615 .TintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = False Next n End Sub 

这是一个可以检查的示例文件。