夜雨聆风学习资料网

ARTICLE · 1282683

别再死磕VLOOKUP了!这个被低估的Excel函数,一对多查找快得离谱

别再死磕VLOOKUP了!这个被低估的Excel函数,一对多查找快得离谱

最近跟一个做HR的朋友聊天,她吐槽说每个月做员工花名册的时候,最头疼的就是根据部门把人名找出来,还得横着排成一行。以前她要么手动复制粘贴,要么用INDEX+MATCH折腾半天。

我问她,你试过TOROW吗?

她一脸懵:这不是把数据转成一行的函数吗?跟查找有啥关系?

说实话,我之前也这么以为。后来研究了一下才发现,这函数简直就是被低估的查找神器。


先说说TOROW是干啥的

简单粗暴的理解:就是把一个表格区域,变成一行。

语法也不复杂:

=TOROW(要转换的区域, 要不要忽略空值或错误, 按行扫还是按列扫)

三个参数说人话就是:

  • 第一参数:你想转的数据范围
  • 第二参数:0啥都不忽略,1忽略空格,2忽略错误,3两个都忽略
  • 第三参数:FALSE就是横着按行转,TRUE就是竖着按列转

光说不练假把式,上个例子。


基础用法:多行多列变一行

比如你手里有个3行4列的数据表,想把它全部塞进一行里。

公式就这么写:

=TOROW(A2:F4, 3, FALSE)

意思就是把A2到F4这个区域按行扫一遍,遇到空白或者错误值自动跳过,最后输出成一行。

效果立竿见影,一秒完成。

如果你想按列的顺序转,把最后一个参数改成TRUE就行:

=TOROW(A2:F4, 3, TRUE)


王炸用法:一对多查找

这才是今天的重头戏。

回到开头HR朋友的痛点:根据部门,把该部门所有员工姓名找出来,还要横着排成一行。

传统思路无非是FILTER筛选出来再转置,或者用IF构造数组。

方法一:TOROW + FILTER

=TOROW(FILTER(B2:B8, C2:C8=E1, ""), 3)

FILTER先按条件把对应部门的员工筛出来,TOROW负责把这些名字横着摆成一排。第二个参数写3,万一没筛出东西也不报错。

方法二:TOROW + IF(更骚的操作)

=TOROW(IF(C2:C8=E1, B2:B8, NA()), 3)

IF判断每一行:部门匹配就返回员工姓名,不匹配就返回#N/A错误。然后用TOROW转成一行,同时告诉它看见错误值就忽略。

两种方法都能实现效果,看你习惯哪个。


为什么说它比VLOOKUP强?

VLOOKUP天生的短板就是只能返回第一个匹配项。你要找多个结果?不好意思,办不到。

TOROW配合FILTER或者IF,来多少个匹配项都能给你列出来,一个不落。而且自动横着排,省去了手动复制粘贴转置的麻烦。

说句大实话,Excel里很多老函数不是不好用,而是新函数把它们做不到的事情变得可能了。TOROW就是典型代表,表面上是转置工具,实际上是查找高手。


下次谁再问你一对多查找怎么做,把这篇甩给他。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料