excel查询函数你只知道LOOKUP?试试冷门却好用的HLOOKUP
LOOKUP函数有三兄弟,自己,大兄VLOOKUP,小弟HLOOKUP。许多小伙伴对LOOKUP和大兄VLOOKUP熟悉,却不认识小弟HLOOKUP。今天我们就来说说HLOOKUP的基本用法。人人都需会Excel真的一点不夸张,就连销售小哥都要会用Excel函数公式。
最近我们在交流群中就收到一位家装行业销售小哥的问题:公司提供定制,定制的价格由材料型号和饰面颜色共同组成,不同客户在选择材料和颜色搭配后就会产生各种各样的组合,怎么将每种组合对应的总价统计出来?
如下表所示:
这个问题的难点在于如何根据材料型号以及颜色匹配对应的单价,然后进行求和。
笔者想到了三种解决方法,如下:
方法①
=LOOKUP(I3,{"材料1";"材料2";"材料3"},{17;23;49})*H3+LOOKUP(J3,{"颜色1";"颜色2";"颜色3"},{38;66;81})*H3
方法②
=OFFSET(B2,1,MATCH(I3,$B$2:$D$2,0)-1,1,1)*H3+OFFSET(E2,1,MATCH(J3,$E$2:$G$2,0)-1,1,1)*H3
方法③
=HLOOKUP(I3,$B$2:$D$22,(ROW(B3)-1),0)*H3+(HLOOKUP(J3,$E$2:$G$22,(ROW(B3)-1),0)*H3)
简化后:
=HLOOKUP(I3,$B$2:$D$22,ROW(B2),0)*H3+(HLOOKUP(J3,$E$2:$G$22,ROW(B2),0)*H3)
前面两种方法都是老朋友了,大家应该都很熟了。今天主要说说这位新朋友HLOOKUP在这里的用法。
函数公式:
大家对于VLOOKUP很熟悉,但是对于HLOOKUP可能比较陌生。
其实HLOOKUP与VLOOKUP基本用法以及语法结构保持一致,VLOOKUP是按照列数向右查找,HLOOKUP是按照行数向下查找。
HLOOKUP函数基本语法结构
=HLOOKUP(查找值,数据区域,行序号,0/1(精确匹配/近似匹配))
譬如:
=HLOOKUP(I3,$B$2:$D$22,2,0)
结果是17。公式在$B$2:$D$22数据区域的首行B2:D2中查找到I3(材料1)在B列,然后向下找到B列第2行的数据作为返回值。
本例函数公式中第三个参数,行序号,我们通过ROW函数动态引用当前客户所在行的行号。所以我们看到HLOOKUP(I3,$B$2:$D$22,(ROW(B3)-1),0)函数公式时就可以看作HLOOKUP(I3,$B$2:$D$22,2,0),向下填充时,行号依次变成3、4、5、6……
三种方法个人认为HLOOKUP和OFFSET+MATCH组合更实用,因为即使出现不同客户报价不同的情况,这两种公式也可以照常使用,但是第1种LOOKUP函数公式就无法满足这个需求了。