【问题标题】:Partial match in excel, multiple values in match criteria to match against listexcel中的部分匹配,匹配条件中的多个值以匹配列表
【发布时间】:2020-07-28 19:58:17
【问题描述】:

我有一个字符串中包含多个国家/地区的 ID 列表。

ID  Countries
1   DK, US
2   PL, UK
3   CN, RU, DE
4   SE, FI
5   US, FI, DE
6   DK

然后我有一个列表,我想检查此列表中是否存在任何国家/地区。

Country Country Code
Sweden  SE
Denmark DK
Finland FI

例如,DK, US 应该返回 TRUE,因为 DK 存在于 Sheet1 列表中。

我试过了:

=INDEX(Sheet1!A:A;MATCH("*"&Sheet2!B2&"*";Sheet1!B:B;0))

但这不起作用,因为我试图将 DK, USDKSE 进行匹配。


我想避免使用 VBA 或将国家/地区拆分为单独的列。我认为帮助/虚拟列完全没问题,但不是最佳的

【问题讨论】:

  • 我会将每个国家/地区代码放在该 ID 的单独列中,甚至将每个国家/地区的多个 ID 条目 1 放在一起,然后搜索一系列单元格。
  • 如果可能的话,我想避免这种情况(它是从数据库中提取的)。 75k 行,在某些单元格中,我有 10-20 个国家/地区。在这个已经很大的工作簿中它会变得沉重和凌乱:(。
  • this question 的显着相似之处(但不重复)

标签: excel excel-formula match


【解决方案1】:

我会使用:

C2中的公式:

=SUMPRODUCT(--(FILTERXML("<t><s>"&SUBSTITUTE(B2,", ","</s><s>")&"</s></t>","//s")=TRANSPOSE(F$2:F$4)))>0

或者:

=SUMPRODUCT(--ISNUMBER(FIND(", "&$F$2:$F$4&", ",", "&B2&", ")))>0

向下拖动。

【讨论】:

  • 这太神奇了!!!我希望我能给你一个双重接受:)!!!谢谢,省了很多时间!! :)
  • @Wizhi,很高兴它有帮助。这类(制定良好的)问题很有趣(但在我确定之前已经完成了)。如果您对FILTERXML 可以为您做什么感兴趣,请查看here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多