
遇到这样一个问题,A到C列存的是参数,是每种工具的规格与单件理论重量,然后登记每天领用不同件数最终要算一下合计理论重量。

这里涉及要先求出工具名称、规格同时满足条件下对应工具的单件理论重量,涉及到的点就是多条件查询。直接用VLOOKUP是不行的,1个条件还行,双条件怎么查呢?今天磊哥一次性给你4个函数对应的4种解法。
解法1:SUMIFS函数
最简单的方法就是用SUMIFS,因为参数区没有重复的行,SUMIFS求的只是1行的和—还是本身,所以临时客串了一下查询函数。
H2=SUMIFS(C:C,A:A,E2,B:B,F2)
简单回顾函数用法:SUMIFS(求和区域,区域1,区域1要满足的条件,区域2,区域2要满足的条件,……)

解法2:LOOKUP函数
最近才介绍过这个函数,基本用法是:LOOKUP(查找内容,条件区域,返回区域)。今天用到的是LOOKUP的经典用法:LOOKUP(1,0/(条件区域),查询区域)
H2=LOOKUP(1,0/(A:A&B:B=E2&F2),C:C)
涉及数组了,这么理解吧,就是在新构成的A:A&B:B虚拟列中,找是否存在虚拟值E2&F2,如果找到了,返回TRUE(即1),0/1=0;没找到返回FALSE(即0),0/0返回错误值 #DIV/0! ;A:A&B:B虚拟列找完了,第二参数返回的就是一个数组:#DIV/0!,#DIV/0!,0,#DIV/0!,#DIV/0!,……别忘了我们查找的是“1”,因为在刚才那个数组找不到,会继续找比它小的最大值,结果返回的是0值所在的位置,也就是第一个返回TRUE时的位置(行号),对应第三参数C列,交叉得到C3。过程有点复杂,原理慢慢消化。

解法3:XLOOKUP函数
office2021、365中才可用的函数,最常用的用法很简单:XLOOKUP(找的内容,要找的区域,找到了要显示的区域,找不到要显示的内容)
本例中,我们可以把条件和列分别用&符号并起来。
H2=XLOOKUP(E2&F2,A:A&B:B,C:C)

解法4:VLOOKUP函数
开篇说了直接用VLOOKUP是不行的,但是看了解法3,又动了心思,也用&符号就是了。但是第二参数怎么写呢?不好写啊。如何再构造A:A&B:B、C:C两列呢?
再介绍一个IF函数的用法:IF({1,0},A:A&B:B,C:C)。
IF函数的用法:IF(条件,条件为真显示内容,条件为假显示内容)
这么来拆IF({1,0},A:A&B:B,C:C):{1,0}意思是2个数,IF就要挨个判断下,第一轮是判断1,因为1也代表了TRUE,所以留下A:A&B:B;第二轮是判断0,因为0也代表FALSE,所以留下C:C。然后就形成了{A:A&B:B,C:C},相当于构造出了2列,再用列号2来找就是找C列了。看图就明白了:

因是数组公式,图中用了Ctrl+Shift+Enter组合键
所以问题解决了:
H2=VLOOKUP(E2&F2,IF({1,0},A:A&B:B,C:C),2,FALSE)
