新版Excel推出了一系列功能非常强大的新函数,TOCOL就是其中之一。关于TOCOL函数的功能,官方说明是“Returns the array in a single column”(返回单列数组)。TOCOL函数内置了屏蔽错误值和空值的功能,这一功能被很多所谓的大佬玩出各种花样,其中之一就是跨表合并。如下图,要将3张子表合并,看看TOCOL是如何操作的。操作步骤如图:这种操作的思路是:将TOCOL函数第一参数的范围放大一点(比所有表的行数都大),第二参数设置为忽略空白,就实现了跨表合并。如此操作,貌似没问题。但是,有一个前提,被合并的子表必须100%规范,不能有空白单元格。而且,合并表和子表中的字段顺序必须完全一致(姑且不算条件吧)。如果,任意表中有空白单元格,结果必然出错。我们把最后一张表删掉两个数据:再看TOCOL合并的结果:很明显,因为忽略空值而错位,导致合并出错!标头字段顺序完全一致,属于跨表合并中最简单的,TOCOL都能出错!所以,那些把TOCOL合并子表的方法吹上天的,大家自个儿去评价。本文案例中的跨表合并,如果用函数方法,FILTER+VSTACK才是正道。