Vlookup曾是表格中最常用查找函数,但随着新版本增加了xlookup、Filter等函数,可以轻松实现多条件、反向、倒查等,难道Vlookup就没用了吗?NO! 它还有一个绝招:隔列取数。
案例一:
Vlookup有4个参数,其中第3个参数是返回值所在的列数。正常情况下只需要返回一个值,所以常用一个整数。
=VLOOKUP(G2,B:E,4,0)
很多人不知道的是,如果第3个参数是一个组数,就可以返回多列值。
=VLOOKUP(A11,A1:E7,{2,3,5},0)
注: 非WPS和Office365版本需要按三键(ctrl shift enter) 输入公式
利用这个特点可以解决工作中常见的隔列取值问题。比如最常遇到的查找后的隔列求和
【例】如下图所示,要求根据下表的姓名,从上表中查找并隔列对实际、计划求和。
分析:估计很多同学首先想到Sumif函数,但这是一个多列求和而且要先分产品。如果非要用它,公式为:
=SUMIF(B2:Y2,B2,OFFSET(B2:Y2,MATCH(A14,A3:A10,0),0))
或:
=SUM(SUMIF(A:A,AA2,OFFSET(A:A,,ROW(1:12)*2-1)))
用Sumproduct函数公式会简单些,但数据量大了会很卡。
=SUMPRODUCT((A3:A10=A14)*(B2:Y2=B13)*B3:Y10)
其他函数都不理想,换作Vlookup怎么样?嘿嘿,很简单!
=SUM(VLOOKUP(A14,A:Y,ROW($1:$12)*2,0))
用Vlookup查找并隔列取值,用Sum求和就可以了,其中row(1:12)生成1,2,3,4....12序号*2就变成了2,4,6...24用来取实际列的数字。
其实很多函数的参数都可以把一个数换成一组数,用来批量运算。
别怕,IF函数其实很简单字符拆分的模式化公式,你最喜欢哪一种?
案例二:
如下图所示,需要从上表中提取1~12月的实际数放在下表格
分析:
Vlookup4个参数,其中第3个是提取的列数,比如3就可以提取上表中第3列的值。
=VLOOKUP(A13,A:Y,3,0)
其实3可以换成一组数,提取多列,比如
=VLOOKUP(A13,A:Y,{3,5,7},0)
注:非wps和office365版本没溢出功能,所以需要选取多列(几个数选几列)按Ctrl + shift+Enter输入。
但如果有很多列,一个个输入数字觉得麻烦,可以用Column函数生成
=COLUMN(A:L)*2+1
最终公式:
=VLOOKUP(A13,A:Y,COLUMN(A:L)*2+1,0)
如果外套 sum就可以求和了。
=SUM(VLOOKUP(A13,A:Y,COLUMN(A:L)*2+1,0))
很多excel函数的参数都可以使用数组,如sumifs、mid,实现高级用法。