首页 > 解决方案 > 创建 Excel 多重查找/匹配公式

问题描述

假设一个简单的工作簿有两个工作表。工作表 A 和 B 都有一个我首先需要匹配的 ID 列。工作表 B 有两列额外的文本。该公式的目标是在工作表 A 中提供一个简单的 Y/N 值 如果 1) 工作表 B 具有与工作表 A 中的行匹配的 ID,并且该匹配行的任一文本列包含一些静态文本。在本例中,要搜索的静态文本将是单词“blind”。我尝试使用 VLOOKUP、MATCH 和 INDEX 函数的多次迭代,但只能在 ID 上产生成功的一维匹配。

表 A:ID 列,以及请求公式中所需的 Y/N 列。此外,注释列解释了为什么应根据表 B 中的数据评估 Y/N

ID   |  MATCHED BY FORMULA  |  WHY
--------------------------------------------
1    |  Y                   | ID and text match
2    |  N                   | NO ID match
3    |  N                   | NO text match
4    |  N                   | NO ID match
5    |  N                   | NO text match

工作表 B:还包含与工作表 A 匹配的 ID。它还包含两个文本列,其中一个(或两个)都可以包含公式搜索的静态文本(“盲”)。要定位的文本必须存在于字符串中,并且不需要与整个字符串完全匹配。

ID   | TEXT1      |  TEXT2
--------------------------------
1    | three      | blind, mice
3    | mice       | see
5    | how, mice  | they
7    | run        | three
9    | blind      | mice

标签: excelexcel-formula

解决方案


当这样的事情变得棘手时,通常最好的做法是至少在您尝试制作一个长公式时使用帮助列。通常最好还是保留它们以提高可读性。

为了证明这一点,我的解决方案创建了一个引用这些辅助列的公式和一个将所有内容合并为一个的公式。请参阅随附的屏幕截图:

表 A

表 B

表 A 公式

另外,请注意,如果您正在处理一个非常大的数据集,最好将 OFFSET MATCH 转换为文本匹配列的 INDEX MATCH,因为 Offset 是一个易变函数。


推荐阅读