首页 > 解决方案 > 在 Excel 数组公式结果中查找匹配项

问题描述

我正在寻找一种方法来进行某种嵌套/间接查找。

  1. 我有一个两列的表格,A 列中有汽车型号(例如野马),B 列有它们的品牌(例如福特)
  2. 在 FI 列中有汽车型号列表。这可以是 A 列中列出的模型,但并非 A 列的所有模型都列在 F 中
  3. D 列包含一些汽车品牌。

对于列 DI 中的每个汽车品牌,需要确定是否存在 F 列中存在的模型。因此,对于 D 的 a 中的汽车品牌,我想在 B 列中查找相应的护理模型,然后我想查看对于这些发现的护理模型在 F 列中的出现。

我成功地使用数组公式进行了第一次查找,但是我被困在如何确定结果数组和 F 中的范围是否具有共同元素(或非空交集)。

任何帮助将不胜感激!

亨吉斯伯特

A(型号)B(制造)C(空)D(=制造2)E(=找到)F(=carlist)

克尔维特雪佛兰道奇(1)?克尔维特卡
马罗雪佛兰雪佛兰(2)?Mustang
Mondeo Ford Camaro
Mustang Ford
Challenger Dodge
Avenger Dodge

在上面的示例中,在 (1) 上,结果应该是 N,因为在品牌 D1(“Dodge”)的 F 列中不存在任何模型。在 (2) 上,结果应该是 Y,因为在品牌 D2(“雪佛兰”)的 F 列中有模型(甚至 2 个)。

我有以下数组公式获取 D1 中 Make“Dodge”的所有模型:

{=IFERROR(INDEX($A$1:$A$6; SMALL(IF(D1=$B$1:$B$6; ROW($A$1:$A$6);""); ROW()));"")}

如何将此数组公式的结果与 F 列中的匹配项进行比较?

标签: excelarray-formulas

解决方案


你可以在E3中输入以下内容并向下拖动。输入公式Ctrl+ Shift+Enter即作为数组公式。

 =IF(SUMPRODUCT(--ISNUMBER(MATCH($F$3:$F$5,IF(ISNUMBER(SEARCH($D3,$B$3:$B$8)),$A$3:$A$8,""),0)))>0,"Y","N")

数据:

在此处输入图像描述


推荐阅读