多条件查询,INDEX函数憋了一个大招,而你只负责拿结果

嗯...这个公式相当复杂...我第一次看到它的时候很困惑...
在Excel中运行这个带有多个条件的查询真的很麻烦。
2 02 2 年,我帮一位朋友买了一本类似的书,还查了书名。
他们某市的公司数据量不大,只有几千条,但是花费却很大,不到一万块钱。

在这个公式中,FIND函数是关键。
你看,FIND($D$2 :$D$9 ,A2 )就是查找A2 单元格中的单词是否出现在D列的书名堆中。
如果找到,则提供一个数字,如果没有找到,则报错。

然后 ISNUMBER 函数检查该数字是否仍然错误。
如果它是一个数字,则表示已找到并返回 TRUE;如果是错误,则表示未找到并返回 FALSE。

然后使用 IF 函数。
该条件是 ISNUMBER 函数的结果。
如果条件为真,则为其分配相应的行号;如果它是假的,它仍然是假的。

SMALL 函数会导致问题。
您需要将 IF 函数的结果从小到大排序,然后按顺序提取它们。
ROW($1 :$9 ) 控制选择多少个,从1 到9
N(IF({1 },)) 这部分主要是用来把数组变成可以被INDEX函数吃掉的形状。
否则,INDEX函数不能直接使用带有FALSE的数组。

最后,INDEX函数根据N函数处理的行号在D列中搜索书名。
如果没有找到,使用SEERRORE函数将其转为空字符串,这样看起来更好。

这个公式确实很强大,但也容易出错。
后来我意识到也许我太极端了,认为直接使用VLOOKUP或COUNTIF会更容易。
不过这个方法在一些复杂的场景下还是很有用的。

无论如何...仅此而已。
明白了……就是这样。

查找函数XLOOKUP的用法

XLOOKUP 可根据要求直接使用。

个别情况请联系李四部。
公式为G2 =XLOOKUP(F2 ,B2 :B4 ,A2 :A4 )。

根据多个条件搜索工作。
公式为G2 =XLOOKUP(G2 &H2 ,B2 :B4 &A2 :A4 ,C2 :C4 )。

行数必须固定。
条件的顺序必须匹配。
默认精确匹配。

VLOOKUP 的简单替代方案。
无需嵌套多个条件。
未找到自定义值。

自己掂量一下。

十六、lookup函数与数组

多条件搜索、数组求和或乘积求和计算。
sumproduct:=sumproduct(条件1 条件2 求和区域)。
搜索灵活,可以在多种条件下进行检查。
矩阵公式:=sum((面积=广州)(科室面积=一科)面积)。
搜索 + 在表或复杂查询中搜索。
广州某学科总量:通过矩阵公式计算。
你自己掂量一下吧。

excel中数组搜索函数

说实话,以前使用Excel的时候,我经常使用这个MATCH函数,非常有趣。
我记得有一次我在产品数据表中寻找一定数量的产品,感觉就像大海捞针一样。
这就是当时的情况。
我有一个表,B3 到B7 的数据就是输出。
我想要的输出是 3 5 0,因此我在单元格 B9 中输入了公式“=MATCH(A9 ,B3 :B7 ,0)”。
A9 是我要寻找的具体值,B3 :B7 是我要寻找的范围。

该公式中的MATCH函数是帮助查找对象的工具。
它具有三个维度。
第一个是lookup_value,这就是您想要的。
第二个是 search_array,它是您想要的范围。
第三个是match_type,它决定了你想要的匹配类型。

当时不明白为什么要除以0、1 、-1 ,后来渐渐明白了。
0为精确匹配,即获取第一个匹配值; 1 是求数组中的最大值,如果数组按升序排序,-1 是按降序求最大值。

拿这个例子来说,如果我在B9 中输入0,它会返回第一个匹配值,这是第二个。
当我在E9 中输入公式“=MATCH(D9 ,E3 :E7 ,1 )”时,由于E3 :E7 是按升序排序的,所以它返回最大值,即第4 个。

所以这个任务的主要理解就是清楚地了解正确的选择。
其实操作并不复杂。
关键是要知道你是要找第一个匹配还是最大的匹配值。
这样,无论是扫描数据还是寻找模式,都可以快得多。