一招搞定数据合并、多条件查询、表格汇总,90%的人还不知道
最近有个粉丝私信我,说被领导安排整理一堆乱七八糟的数据,光是合并列就搞了一下午。我直接甩给他一个函数,半小时后他发来消息:哥,这玩意儿是谁发明的?!
不卖关子了,就是TOCOL。
这函数真的很简单,但很多人居然还不知道。它的工作就一个:把多列数据怼成一列。
TOCOL函数是啥?
语法:=TOCOL(数组, [忽略类型], [扫描模式])
第一参数是你要转换的区域,第二参数决定要不要忽略空白或错误,第三参数控制按行扫还是按列扫。后面两个参数都是可选的,不填也没事。基础用法就不展开说了,直接上干货——下面这6个场景才是真正的救命招。
01 带错误值的数据求和
你敢信?一列数据里只要有一个#N/A,SUM函数就直接罢工。以前的做法是一个个找错误值,删掉或者改掉,数据量大的时候光找错误就能找半天。现在一行搞定:=SUM(TOCOL(A3:C10,3))。那个“3”的意思是忽略错误值和空单元格,剩下的正常求和,完事。

02 单条件查询(Vlookup的替代方案)
Vlookup是挺好用,但遇到要从右边往左查或者多条件查就有点麻烦了。试试这个:=TOCOL(B2:B7/(A2:A7=A10),3)。
原理其实不复杂:条件成立的时候对应数字保留,条件不成立就变成错误值,然后TOCOL把错误值全部扔掉,剩下的就是要查的结果。实测比Vlookup写起来还快。

03 多条件查询
两个条件同时满足才能查出来?那就把条件乘起来:
=TOCOL(C2:C7/((B2:B7=F2)*(A2:A7=E2)),3)跟上个原理一样,两个条件都成立才会保留结果,写起来比嵌套IF简单太多了。

04 按指定次数重复数据
比如你有一列“文具名称”,旁边有一列“需要几个”,想把每个文具按照次数重复出来。公式是:
=TOCOL(IF(B2:B4>=COLUMN(A:E),A2:A4,NA()),3)这个看着吓人,但其实逻辑很简单:
用IF判断每个名称需要重复几次,不够次数的位置填错误值,然后TOCOL把错误值一扔,就得到了重复后的列表。自动生成,再也不用手动复制粘贴了。

05 合并多个表格
三个月的销售数据,分别放在1月、2月、3月三个工作表里,每个表的A列都是文具名称。想把它们合到一起?公式是:=TOCOL('1月:3月'!A2:A15,3)。
操作步骤要注意:先打公式,然后点一下“1月”的标签,按住Shift再点“3月”的标签,最后选中A2到A15的区域,回车。这个操作很多人不知道,学会了就比别人快一倍。

06 二维表转一维表(压轴重点)
这个是最麻烦、也是最能体现TOCOL价值的地方。给你一张表,行是文具名称,列是月份,中间是销量,想转成文具、月份、销量三列。分三步走:
第一步提取文具名称:
=IF(B2:D5<>"",A2:A5,NA())
第二步提取月份:
=TOCOL(IF(B2:D5<>"",B1:D1,NA()),3)
第三步提取销量:=TOCOL(B2:D5,3)
三列数据自动对齐。以前手动做这种转换,一百行数据能改到怀疑人生,现在三秒钟出结果。

说实话,TOCOL是我这两年用过最爽的函数之一。它不是那种花里胡哨的炫技功能,而是实打实能让你少加班的工具。你可以不用数组公式、不用VBA,就靠这一个函数,解决掉至少七八种之前要折腾半天的场景。
如果你是做数据分析、财务、行政、运营的,建议你把这篇文章收藏一下。下次遇到类似的问题,直接翻出来照着套就行。
效率这东西,从来不是靠加班堆出来的,是靠工具省出来的。
你用过TOCOL吗?还有什么骚操作?欢迎评论区分享一下。
———
如果你觉得这篇文章有用,欢迎点个「在看」支持一下~
夜雨聆风