首页 > 解决方案 > 在引用数组中使用通配符引用的索引匹配问题

问题描述

我希望标记“数组 B”中的所有行项目,如果“数组 A”中存在部分匹配,则分配一个标志。我想将返回的“标志”设置为在“数组 A”中找到的单元格。

我想知道使用通配符引用进行索引匹配是否是完成此任务的正确方法。我对 Excel 公式很陌生。

请看下面我已经完成的事情。

我已经尝试过 Stack Overflow 上的多个方程式,但它们似乎并没有解决我的问题。请参阅下面的我尝试使用的等式。

在此处查看我的文件的屏幕截图:https://i.imgur.com/DSrKfA0.jpg

这是我尝试使用的公式=INDEX(B$1:B$9998,MATCH("*"&G2&"*",A$1:A$9999,0))

我预计“标志”列的内容会返回,但等式返回值 #N/A

编辑:我包含了一个更简单的数据集,以用作下面的示例

在此处查看更简单的数据集 - 还不能发布图像 - 如果可以,请编辑以包括在内,谢谢!

标签: excelexcel-formula

解决方案


感谢您的补充说明。如果您想将 Variation Sku(G 列)与 Master Sku(A 列)匹配,我假设您想使用通配符,因为您的某些变体(例如 BER-92-MP-002)可能与 A 列略有不同(例如“xxxBER-92-MP-002xxx”),这就是您要查找的原因:

"*"&"BER-92-MP-002"&"*"

表格1

假设这是正确的,那么您可以使用数组公式来查找匹配发生的行号,例如单元格 E2(Ctrl+Shift+Enter):

=MAX(IFERROR(IF(FIND(G2,$A$2:$A$9),ROW($A$2:$A$9)),0))

然后可以按如下方式检索您的标志(单元格 F2):

=IF(E2,INDEX($B$1:$B$9,E2))

最终结果截图: 最后结果

如果我误解了您的原始要求,希望对您有所帮助并道歉。如有必要,很高兴调整这两个公式(您可以通过编辑原始帖子来发布其他屏幕截图)。

调整: 假设您的搜索字符串始终以“SKU”开头,后跟“-”符号和一个附加字符串(例如 SKU-BLUE),您可以在单元格 F2 中使用以下公式:

=IFERROR(MATCH(MID(H2,FIND("SKU-",H2),FIND("-",MID(H2,FIND("SKU-",H2),100),5)-1),$A$1:$A$5,0),0)

G列中的公式与我之前的帖子中的相同。最后结果:

决赛2


推荐阅读