在Excel中,如果按照某一列进行匹配可以运用vlookup或者index+match,区别在于vlookup按列进行匹配,且匹配条件必须位于查找区域的第一列,而index则是按照选定行数和列数来进行匹配。
如果要实现按照多列来进行匹配,则可以运用以下三种方式:
1. SUMIFS(匹配目标列,条件范围1,条件1,条件范围2,条件2...)
例如下表,如果想要查找匹配ITEM为CL,ID为03的NUM,那么输入在目标单元格输入SUMIFS($C$2:$C$9,$A$2:$A$9,"C",$B$2:$B$9,"3") 即可得到
A | B | C | |
1 | ITEM | ID | NUM |
2 | AL | 01 | 100 |
3 | AL | 02 | 200 |
4 | BL | 01 | 800 |
5 | CL | 01 | 300 |
6 | CL | 02 | 200 |
7 | CL | 03 | 900 |
8 | DL | 02 | 600 |
9 | EL | 05 | 400 |
2. SUMPRODUCT(($A$2:$A$9="C")*($B$2:$B$9=3),$C$2:$C$9)
要注意括号中等号右边的数字格式与查找区域一致
3. LOOKUP(1,0/(($A$2:$A$9="C")*($B$2:$B$9=3)),$C$2:$C$9)
通用公式为LOOKUP(1,0/((条件1)*( 条件2)* ( 条件N)),目标区域或数组),用0除以条件组合是为了避免查找范围必须升序排序的弊端,很神奇的用法。要注意括号中等号右边的数字格式与查找区域一致
4. VLOOKUP("C"&"3",IF({1,0},$A$2:$A$9&$B$2:$B$9,C2:C9),2,0)
IF({1,0},$A$2:$A$9&$B$2:$B$9,C2:C9)表示将A列和B列合并成一列,再与C列组成一个两列的区域,变成了数组形式后,要用ctrl+shift+enter实现结果
5. INDEX($C$2:$C$9,MATCH("C"&"3",$A$2:$A$9&$B$2:$B$9,0))
同样为数组形式,要用ctrl+shift+enter实现结果