一、函数定义
TOCOL 和 TOROW 是 Excel 动态数组函数,用于将二维数据扁平化转置为一列或一行。
TOCOL将数组或单元格区域转换为单列
TOROW将数组或单元格区域转换为单行
语法:
=TOCOL(数组, [忽略规则], [按列扫描])
=TOROW(数组, [忽略规则], [按列扫描])
控制扫描方向,默认FALSE按行扫描
[忽略规则]:参数为0(或省略)、1、2、3
0(或省略):保留全部
1:忽略空白
2:忽略错误
3:忽略空白和错误
按行扫描:从左到右读完一行,再读下一行
按列扫描:从上到下读完一列,再读下一列
二、示例
=TOCOL(A1:C3) →按行扫描,结果为一列
=TOCOL(A1:C3, , TRUE) →按列扫描,结果为一列。
=TOROW(A1:C3),结果为一行
三、实例
交叉表还原为数据库格式
1、利用TOROW函数
见图一
HSTACK:左右并排放(增加列数)
=HSTACK(TOCOL(IF(B2:D4, A2:A4)),TOCOL(IF(B2:D4,B1:D1)),TOCOL(B2:D4))
2、利用TOROW函数
见图二
VSTACK:上下摞起来(增加行数)
=VSTACK(TOROW(IF(B2:D4, A2:A4)),TOROW(IF(B2:D4, B1:D1)),TOROW(B2:D4))