当前位置:首页 > WPS表格 > 正文内容

多条件匹配的几种思路

达叔3个月前 (05-11)WPS表格146

VLOOKUP辅助列法

先从VLOOKUP讲起。用字段合并的方法,把多条件变为单一条件,如下图,把公司、部门合在一起。查找A:E区域,参考到第4行即可。注:辅助列加在哪都行,道理一样。

1.jpg

VLOOKUP辅助列法

VLOOKUP数组法

2.jpg

VLOOKUP数组法

前面的方法需要辅助列,如果不用辅助列,那么需要在函数中将A列B列进行合并,简单&的合并实际操作中批量会出现#N/A的结果,所以需要数组计算。函数的编写见上图。函数写完,最后不是按Enter,而是Shift Ctrl Enter,这样就是数组计算了。最后可以看到,函数最外面有个大括号“{}”。这个VLOOKUP函数中嵌套了一个IF函数。

【什么是IF({1,0},...)?】IF函数,1就是true,0就是false。与后面的真值和假值相对应。而{1,0}是数组,就是把真值、假值分别计算,1返回的值是A2:A25。0返回的值是D2:D25。两个结果结合成一个数组,也就是这里面的VLOOKUP的数据表区域。

LOOKUP法

146555407_3_20181010114001731.jpg

LOOKUP法

LOOKUP法的逻辑就是找到唯一对的那个值,在此借用“挫人”的解释会更清晰:

LOOKUP(lookup_value,lookup_vector,[result_vector])

当Lookup的Lookup Value永远大于lookup vector时,返回最后一个小于lookup vector对应的result

=LOOKUP(1,0/((A2:A3=G2)*(B2:B3=H2)),C2:C3)

lookup_value为1lookup_vector,为0/逻辑值

逻辑值(A2:A3=G2)*(B2:B3=H2)结果有两种,TRUE和FALSE。在公式计算中:TRUE看作是1,FALSE看做0

上面公式就变成了0/({TRUE;TRUE}*{TRUE;FALSE})-->0/{1;0}-->{0/1;0/0}-->{0;#DIV/0!}

整个公式就变成了=LOOKUP(1,{0;#DIV/0!},{100;200})因为0/0-->#DIV/0!为错误值,而LOOKUP要找的,是非错误值。所以,第二参数只有0,0<1,0对应的result是100,所以最后的值是100

P.S.除了1,0/……,还可以写2,1或者3,2或者100,0只要第一参数永远大于第二参数中的值就可以^_^

SUMIFS法

4.jpg

SUMIFS法

SUM是求和,SUMIFS是对条件指定的单元格求和,利用了条件筛选功能。求和区域就是要利用里面的值求和,当只有一个加数时,这个值就是我们想要的值。我们想知道员工数,就选C:C。然后是条件筛选,先选第一条件区域比如公司A:A,在选条件也就是对应的G2。后面的部门也是如此。这样就通过条件筛选出了唯一值。

SUMPRIDUCT法

5.jpg

SUMPRODUCT法

SUMPRODUCT是数组或各区域的乘积之和,这里用的不是乘积和而是多条件属性=SUMPRODUCT((条件1)*(条件2)*...(条件n))。同时满足多条件,返值。

高级筛选

6.jpg

高级筛选法

利用高级筛选复制到别的区域,缺点是需要手动更新。

版权声明:本文由WPS达师发布,如需转载请注明出处。
标签: 多条件匹配