我需要一个函数来搜索单元格中的许多关键字文本字符串(模型编号)并返回它找到的每个模型编号。在我的所有研究中,我只找到了提供一个匹配关键字的解决方案,但我希望所有匹配关键字。
仅找到一个关键字的解决方案示例:Excel: Search for a list of strings within a particular string using array formulas?
我想要的例子:
要搜索的单元格(A1)包含:
A-007858 CustomerCompanyName D1001,S1135,BE60和R235新6和8包
搜索关键字(在单独的工作表A1-A70上):
A32:D1001
A43:S1135
A6:BE60
A64:R235
期望的输出: 找到的每个型号(D1001,S1135,BE60,R235)显示在搜索的单元格旁边的单元格B1,C1,D1和E1中(A1)。型号的顺序并不重要。我更喜欢Excel功能解决方案而不是VBA。
答案 0 :(得分:1)
将此公式放入B1并复制:
=IFERROR(INDEX(Sheet2!$A$1:$A$70,AGGREGATE(15,6,ROW(Sheet2!$A$1:$A$70)/(ISNUMBER(SEARCH(Sheet2!$A$1:$A$70,$A1))),COLUMN(A:A))),"")
将Sheet2
替换为列表所在的工作表的名称。
它将按照另一张表上的列表顺序排列。
答案 1 :(得分:0)
如果您没有太多关键字,您可以相当简单地执行此操作:
B1 = IF(ISERROR(SEARCH("D1001",A1)),"","D1001")
您可以将“D1001”替换为对另一个工作表中单元格的引用。 C1:E1类似。
如果你有很多,那么你需要更多参与的东西,比如@ScottCraner建议。