Excel 多个 FIND 公式

Excel 多个 FIND 公式

我不是 Excel 专家,因此非常感谢您的帮助!

我正在尝试让一个单元格在另一个单元格内进行多次搜索。

我知道要在一个单元格中搜索特定的单词,您可以使用 =FIND(Blue,C2)

但我需要在一个单元格中查找多个不同的单词。以下是我想执行的操作的示例:

下面是我尝试做的一个例子

我需要在成分单元格中显示所有过敏原,例如花生、麸质、牛奶、芝麻等

我如何获得列出所有过敏原的结果?

我知道我可以在单独的单元格中执行单个查找功能,然后将它们连接起来,但是一定有更简单的方法吗?

谢谢

答案1

我想建议两种可能的方法。第一个是公式第二是宏观。

方法 1:

在此处输入图片描述

=IFERROR(IF(OR(SEARCH(B1,A1)>0,SEARCH(C1,A1)>0,SEARCH(D1,A1)>0,SEARCH(E1,A1)>0),"Found",""),"Nfound")

笔记:

  • 在单元格中写入此公式G1并将其向下拖动。
  • 如果要搜索更多文本/单词,您可以扩展公式。

方法 2:

在此处输入图片描述

  • 在活动工作表中Alt+F11按打开VB Editor
  • 复制粘贴下面显示代码为标准模块
  • A1:A3选择要搜索的文本/单词的范围强调
  • 跑步宏。
  • 输入单词输入框,以逗号分隔并按好的

宏将会以粗体形式显示范围中找到的字样A1:A3

Sub MultiFindNBoldFace()

Dim strSearch As String
Dim arySearch As Variant
Dim searchRng As Range
Dim cel As Range
Dim i As Long, ii As Long


Set searchRng = Application.Selection
strSearch = InputBox("Please enter the text to make bold as a comma delimited list (Abc,Xyz) - No spaces:", "Bold Text")
If strSearch = "" Then Exit Sub
arySearch = Split(strSearch, ",")
For Each cel In searchRng

With cel

.Font.Bold = False
For ii = LBound(arySearch) To UBound(arySearch)

i = InStr(cel.Value, arySearch(ii))
If i > 0 Then

.Characters(i, Len(arySearch(ii))).Font.Bold = True
End If
Next ii
End With
Next cel

End Sub

您还可以在公式以及宏中调整单元格引用。

相关内容