如何在多个数组和数组查找中找到匹配项?

时间:2017-01-23 21:10:38

标签: excel vba

我有一些表中的数据,我需要在多个数组位置找到匹配项。如果我只找一个位置我很好,但如果我需要在另一个位置找到它,那就说,位置!A6:J6我得到#value。在这里我的查找。

=INDEX(location!A8:J8,MATCH(W_D!A6,location!A10:J10,0)) 'this is cell B6 formula *works fine

=INDEX(location!A6:J6&location!A8:J8,MATCH(W_D!A6,location!A4:J4&location!A10:J10,0)) 'Here is the issue.

Formula

Table

*注意:我的一张桌子也是颠倒的。

1 个答案:

答案 0 :(得分:0)

您可以使用连接或嵌套公式。有很多方法可以组成它,但可能是最简单的将组合许多INDEX/MATCH组合,以便结果将是与条目匹配的结果。

我将首先描述一般方法,然后将其应用于您的案例。您有一个在一个范围内正常工作的搜索公式,但您希望在许多范围内应用多个搜索。通常有两种方法可以实现这一目标:

方法1:连接

=IFERROR(search1, "") & IFERROR(search2, "") & IFERROR(search3, "")

此连接仅显示成功搜索。如果不成功,结果为空。但是,如果许多人成功,结果将是他们的连接。

方法2:嵌套

我们还可以nest IFERROR语句。一般来说,编辑起来比较复杂,但它解决了重复结果的问题。

=IFERROR(search1, IFERROR(search2, IFERROR(search3, "Not Found")))

我更喜欢方法1,因为你知道你的搜索没有重复的结果。所以我们保持简单并将连接方法应用到你的案例中:

=IFERROR(INDEX(location!A6:J6,MATCH(W_D!A6,location!A4:J4,0)), "") &
 IFERROR(INDEX(location!A8:J8,MATCH(W_D!A6,location!A10:J10,0)), "")

使用方法2,公式为:

=IFERROR(INDEX(location!A6:J6,MATCH(W_D!A6,location!A4:J4,0)), IFERROR(INDEX(location!A8:J8,MATCH(W_D!A6,location!A10:J10,0)), "Not Found")