转自:微点阅读(www.weidianyuedu.com)微点阅读 - 范文大全 - 免费学习知识的网站
在我们的实际工作中,交叉查询是非常常见的,比如如下例子:
根据品名和地区查询销量:
VLOOKUP法:
输入公式:
=VLOOKUP(A12,A2:G8,MATCH(B12,A1:G1,0),0)
VLOOKUP(查找值,查找区域,返回值在查找区域的第几列,查找方式)
MATCH(B12,A1:G1,0)部分找到B12 单元格内容“华北地区”在区域A1:G1中的位置5,把它作为VLOOKUP函数的第3参数;
公式就是:=VLOOKUP(A12,A2:G8,5,0)
查找A12 单元格内容“产品D”
返回值在区域A2:G8中的第5列,即E列
即E5单元格中的值6945
LOOKUP法:
输入公式:
=LOOKUP(,0/(A2:A8=A12),OFFSET(A2:A8,,MATCH(B12,B1:G1,0)))
MATCH(B12,B1:G1,0) 部分找到B12 单元格内容“华北地区”在区域B1:G1中的位置4,把它作为OFFSET函数的第3参数;
OFFSET(A2:A8,,4)部分以A2:A8单元格区域为基点,偏移0行4列,到达E列,即E2:E8单元格区域
公式就是:=LOOKUP(,0/(A2:A8=A12), E2:E8)
LOOKUP(1,0/(条件1),返回区域)
(A2:A8=A12)部分条件成立返回TRUE,条件不成立返回FALSE;
发生四则运算时TRUE相当于1,FALSE相当于0;
利用0/任何数=0、0/0=#DIV/0!的特性,0/(A2:A8=A12)部分构成了一个由0和#DIV/0!组成的数组;
用大于第2参数所有数值的1作为查找值,返回结果6945
INDEX+MATCH法:
输入公式:
=INDEX(B2:G8,MATCH(A12,A2:A8,),MATCH(B12,B1:G1,0))
MATCH(A12,A2:A8,) 部分找到A12 单元格内容“产品D”在区域A2:A8中的位置4,把它作为INDEX函数的第2参数;
MATCH(B12,B1:G1,0) 部分找到B12 单元格内容“华北地区”在区域B1:G1中的位置4,把它作为INDEX函数的第3参数;
INDEX (单元格区域,行号,列号)
公式就是:=INDEX(B2:G8,4,4)
返回结果就是B2:G8单元格区域中的4行4列,即E5单元格中的值6945
返回结果是文本或数值时,交叉查询可以用以上查找函数,除本文介绍外,OFFSET、HLOOKUP等函数也能完成。
当返回结果是数值,MAX、SUM、SUMPRODUCT等函数也能完成。
MAX法:
输入公式:
=MAX((A12=A2:A8)*(B12=B1:G1)*B2:G8)
数组公式,按<Ctrl+Shift+Enter>三键结束
SUMPRODUCT法:
输入公式:
=SUMPRODUCT((A12=A2:A8)*(B12=B1:G1)*B2:G8)