快好知 kuaihz订阅观点

 

Excel双向查找的8个公式,全了!

【例】如下图所示,要求在单元格D10设置公式,根据姓名和月份查找对应的销售量。

公式1

=INDEX(C3:H7,MATCH(B10,B3:B7,0),MATCH(C10,C2:H2,0))

注:这是最常用的双向查找套路,利用Macth分别查找姓名所在行数和月份所在列数,然后用index(表格,行数,列数)提取对应的数值

公式2

=OFFSET($B$2,MATCH(B10,B3:B7,0),MATCH(C10,C2:H2,0))

注:同公式1用match查找行、列数,但最后是用offset(目标单元格,偏移行数,偏移列数)提取对应的值。

公式3

=VLOOKUP(B10,$B$3:$H$7,MATCH(C10,$C$2:$H$2,0) 1,0)

注:用match函数查找3月(C10数据)所在列数,作为Vlookup(目标,表格,列数,0)函数的第3个参数。

公式4

=INDIRECT(ADDRESS(MATCH(B10,B1:B7,0),MATCH(C10,A2:H2,0),,,"sheet1"))

注:用match函数根据给出的姓名和月份查找行、列数,然后用address(行数,列数,绝对引用方式,是否为r1c1,表格名)组合成引用地址,然后用indirect(单元格地址)函数提取值。

公式5

=HLOOKUP(C10,C2:H7,MATCH(B10,B2:B7,0),0)

注:用match函数查找姓名(B10数据)所在行数,作为Hlookup(目标,表格,行数,0)函数的第3个参数。

公式6

=SUMPRODUCT(($B$3:$B$7=B10)*($C$2:$H$2=C10)*$C$3:$H$7)

注:利用=号对比把符合条件的变成True,不符合条件的变为false,再用(行数据)*(列数据)转换成N行N列的数组并把不符合条件的全部变成0,而符合条件的会变成1,然后再*值区域把1转换成符合条件的数值,最后用sumprouct提取值。

公式7

=SUM((B3:B7=B10)*(C2:H2=C10)*(C3:H7)) 数组公式

注:原理同公式6,只是这里用了sum函数提取唯一符合条件(大于0)的值。因为sum函数不能直接进行数组运算,所以本公式数组公式,要用ctrl shift enter完成输入。

公式8

=MAX((B3:B7=B10)*(C2:H2=C10)*(C3:H7)) 数组公式

注:原理同公式7,因为是数组中除了符合条件的值外,其余的全是0,所以这里也可以用max求最大值的方式提取数值。本公式同样也是数组公式,输入方法同7.

兰色说: 双向查找会一种公式就行了,干嘛要学这么多个烧脑的公式?兰色想说,这就是你和excel高手的区别。解题思路很重要,遇到问题时你总是找不到解决办法,而高手由于经常进行一题多解的思维锻炼,所以遇到难题马上就会闪现出很多解法。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:双向  双向词条  公式  公式词条  查找  查找词条  Excel  Excel词条  
办公

 是不是Excel老手,就看这个基...

你是否碰到过一些非常简单的公式都无法得到正确的结果?工作上使用Excel很多时候并不需要用到很复杂的东西,所谓的20/80原理很好的说明了,实际工作中,我们只需...(展开)