Excel在最新版本出了一个TOCOL函数公式,它的基础用法是将数据转换成一列
例如,当我们输入公式:
=TOCOL(A1:C3,3)
表示将A1:C3单元格中的数据,排列成一列,第2个参数3表示忽略空白单元格和错误值,得到了右边一列的结果

仅仅是这么一个基础的公式,还能用来快来的进行数据逆透视
可以将下面的数据从左边的效果,转换成右边的格式
从右边得到左边的只需要数据透视表就可以完成,从左边变成右边就是逆透视的效果

只需要分别用3个TOCOL公式就可以完成
首先,对姓名进行逆透视,我们输入的公式是:
=TOCOL(IF(B2:E6<>"",A2:A6,NA()),3)

关于它的原理,我们只用分析它的内置公式
=IF(B2:E6<>"",A2:A6,NA())
表示B2:E6单元格中不等于空值的时候,就返回左边姓名单元格的值,得到了标绿的结果
然后再套用TOCOL,使用参数3,就可以将姓名连接起来了

用同样的首先,我们在月份列,输入的公式是:
=TOCOL(IF(B2:E6<>"",B1:E1,NA()),3)
只需要把IF判断的结果,改成B1:E1就可以了

最后一步,只需要将IF判断的结果,改成B2:E6就可以了,输入的公式是:
=TOCOL(IF(B2:E6<>"",B2:E6,NA()),3)

如果你不想一条一条的输入公式,也可以使用一个公式直接搞定,输入的公式是:
=LET(x,B2:E6,
y,A2:A6,
z,B1:E1,
计算,LAMBDA(A,TOCOL(IF(x<>"",A,NA()),3)),
HSTACK(计算(y),计算(z),计算(x)))
这里自定义了x,代表工资数据区域
自定义了y,代表姓名的数据区域
自定义了z,代表月份区域
可以直接修改xyz对应的数据区域,套用使用上述的公式可以实现快速的逆透视

关于这个小技巧,你学会了么?自己动手试试吧!