使用表中的一个唯一键很容易寻找价值。我们可以简单地使用`link:/ formulas-and-functions-introduction-vlookup-function [VLOOKUP function]`。但是,当您的数据中没有该唯一列,而需要在多个列中查找以匹配值时,VLOOKUP则无济于事。

因此,要在具有多个条件的表中查找值,我们将使用`link:/ lookup-formulas-excel-index-function -`link:/ lookup-formulas-excel-match-function [MATCH]link:/ lookup-formulas-excel-index-function [INDEX]

式。

1

用于多个条件查找的通用公式

=INDEX(lookup_range,MATCH(1,INDEX((criteria1 =range1)(criteria2=range2)(criteriaN=rangeN),0,1),0))

lookup_range:您要从中检索值的范围。

Criteria1,Criteria2,Criteria N:这些是您要在range1,range2和Range N中匹配的条件。您最多可以有270个条件-范围对。

Range1,range2,rangeN:这些是您将符合各自条件的范围。

如何运作?让我们看看…=====带有多个条件的INDEX和MATCH示例这里有一个数据表。我想使用“预订日期”,“建造者”和“区域”来提取客户的名称。因此,这里有三个条件和一个查询范围。

2

在单元格I4中按回车键输入此公式。

=INDEX(E2:E16,MATCH(1,INDEX((I1=A2:A16)(I2=B2:B16)(I3=C2:C16),0,1),0))

3

工作原理:

我们已经知道EXCEL中的link:/ lookup-formulas-use-index-and-match-to-lookup-value [INDEX和MATCH函数]`的工作原理,因此在此不做解释。我们将在这里讨论我们使用的技巧。

(I1 = A2:A16)(I2 = B2:B16)(I3 = C2:C16):主要部分是这个。该语句的每个部分都返回一个真false数组。

当布尔值相乘时,它们将返回0和1的数组。

乘法用作AND运算符。仅当所有值都为true时,然后返回1,否则返回0(I1 = A2:A16)(I2 = B2:B16)(I3 = C2:C16)这将总共返回

{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}*

{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE}*

{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

会翻译成

{0;0;0;0;0;0;0;1;0;0;0;0;0;0;0}

INDEX((I1 = A2:A16)(I2 = B2:B16)(I3 = C2:C16),0,1):INDEX函数将返回相同的数组(\ {0; 0; 0; 0; 0; 0; 0 ; 0; 1; 0; 0; 0; 0; 0; 0; 0})的MATCH用作查找数组。

MATCH(1,INDEX((I1 = A2:A16)(I2 = B2:B16)(I3 = C2:C16),0,1):MATCH函数将在数组\ {0; 0; 0; 0中寻找1 ; 0; 0; 0; 1; 0; 0; 0; 0; 0; 0; 0}。并且将返回数组中找到的第一个1的索引号。此处为8。

INDEX(E2: E16,MATCH(1,INDEX((I1 = A2:A16)(I2 = B2:B16)(I3 = C2:C16),0,1),0))):

最后,INDEX将返回值从给定范围(E2:E16)到找到的索引(8)。

简单????。对不起,无法使其更简单

数组解决方案可以按CTRL + SHIFT + ENTER,然后可以消除内部的INDEX函数,只需编写此公式,然后按CTRL + SHIFT ENTER即可
=INDEX(E2:E16,MATCH(1,(I1=A2:A16)(I2=B2:B16)(I3=C2:C16),0))

| ===多重条件查找

=INDEX(lookup_range,MATCH(1,(criteria1 =range1)(criteria2=range2)(criteriaN=rangeN),0))

|公式的作用与上面的解释相同

|我尽了最大的努力来解释它,但是如果我不够清楚,请告诉我顺便说一句,您不需要知道引擎如何工作开车。您只需要知道如何驾驶它。而且您非常了解。

相关文章:

如何在Excel中使用INDEX-MATCH查找具有重复值的前5个值 |||| link:/ lookup-formulas-vlookup-multiple-values [如何在Excel中VLOOKUP多个值]

link:/ lookup-formulas-vlookup-dynamic-col-index [如何在Excel中使用Dynamic Col Index进行VLOOKUP]

热门文章:

`链接:/ keyboard-formula-shortcuts-50-excel-shortcuts可提高您的生产率[50 Excel快捷方式以提高生产率]]

link:/ formulas-and-functions-vlookup-function简介[如何在Excel中使用VLOOKUP函数]