问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

VLOOKUP函数高级教程:多列结果的高效处理方法

创作时间:
作者:
@小白创作中心

VLOOKUP函数高级教程:多列结果的高效处理方法

引用
1
来源
1.
https://home.wps.cn/topic/18797

VLOOKUP函数是Excel和WPS表格中非常强大的数据查找工具,特别是在需要返回多列结果时,其高级用法可以显著提升工作效率。本文将通过三个案例,详细介绍如何使用VLOOKUP函数处理间隔列返回、乱序多列返回以及列数较多时的高效处理方法。

案例01 | 间隔列返回

在第一个案例中,我们将展示VLOOKUP函数如何返回间隔的多列数据。关键在于VLOOKUP的第3参数支持数组,例如{3,5,7}就是一个常量数组,可以根据需要返回的多列进行自由扩展。

公式如下:

=VLOOKUP(A10,A1:G7,{3,5,7},0)

在WPS表格中,由于还不支持动态数组,上述公式需要按Ctrl+Shift+Enter作为数组公式输入。如果需要返回的多列没有规律,还可以通过其他函数或逻辑判断来实现一次返回。

案例02 | 乱序多列

当需要返回的列没有规律时,可以采用以下几种方法:

2.1 解法01

理论上可以使用下面的公式来处理,但目前测试显示WPS还不支持第三参数为非常量数组的情况:

=VLOOKUP(A10,$A$3:$G$7,FILTER(COLUMN(B2:G2),B2:G2=D2),0)

这可能是一个bug,有待进一步测试确认。

2.2 解法02

退而求其次,可以使用普通的方法依次返回每个结果:

=VLOOKUP($A10,$A$3:$G$7,SMALL(IF($B$2:$G$2="实际",COLUMN($B$2:$G$2)),COLUMN(A1)),0)

2.3 解法03

除了VLOOKUP,还可以使用XLOOKUP函数配合FILTER函数来实现:

=FILTER(XLOOKUP(A10,A3:A7,B3:G7),B2:G2=C2)

2.4 解法04

更简单的写法:

=TOROW(IF((A3:A7=A10)*(B2:G2=C2),B3:G7,\),2)

处理问题的思路多种多样,可以根据具体需求选择合适的方法。

案例03 | 列数多不用数

当列数较多且不定时,可以通过MATCH函数找到对应位置。例如,返回5月对应的数据:

=VLOOKUP($A9,$A$2:$G$6,MATCH($B8,$A$1:$G$1,),)

如果没有逻辑关系且列数特别多,可以使用COLUMNS函数配合处理:

=VLOOKUP($A9,$A$2:$G$6,COLUMNS($A$1:$F$6),)

发现很多用户习惯于人工计数,特别是在Excel中,而WPS表格有一个列提示功能,稍微好一些。

以上就是VLOOKUP函数在处理多列返回时的一些高级技巧。掌握这些技巧,可以显著提升数据处理效率。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号