01
TOCOL函数到底有什么用?
原来的数据可能是这样的:

现在要把这些名字全部整理到一列,以前做法可能是:
复制 A 列,粘贴; 复制 B 列,接着粘贴; 复制 C 列,再接着粘贴;
但现在用TOCOL,只需要一个公式就能搞定
=TOCOL(A2:C4)

02
基础语法
=TOCOL(要整理的区域, [是否忽略空白或错误], [按行或按列读取])
第1个参数:把你要整理的那堆单元格框选给它,比如A1:E9
第2个参数:忽略方式
第3个参数:读取方式
输入
FALSE或不填,就是逐行扫描(先读完第一行再读第二行)输入
TRUE就是逐列扫描,(先读完第一列再读第二列)
03
6个高频场景,一看就会用
在F2单元格里输入:=TOCOL(A2:D5,1)

在F2单元格里输入:=UNIQUE(TOCOL(A2:D5,1))

UNIQUE:对整理出来的一列名单进行去重,自动去掉重复人员,生成一份干净的名单。在D4单元格里输入:=TOCOL(IF(B2:B10>=60,A2:A10,y),3)

3 表示忽略空白和错误值。在F2单元格里输入:=HSTACK(TOCOL(IF(B2:D6<>"",A2:A6,y),2),TOCOL(B2:D6,1))

如果有值班人员,就返回 A 列对应的日期;如果是空白单元格,就返回没有加引号的 y,让 Excel 生成错误值。
再用 TOCOL(...,2)把日期整理成一列,第二参数 2 表示忽略错误值,所以只保留有值班人员对应的日期。
2、把 B2:D6 区域里的值班人员整理成一列,第二参数 1 表示忽略空白单元格。最后用 HSTACK 把前面生成的“日期列”和“值班人员列”左右拼接,得到“日期 + 值班人员”的竖向规范表。
在D2单元格里输入:=TOCOL(IF(B2:B5>=COLUMN(A:Z),A2:A5,y),2)


在A1单元格里输入:=UNIQUE(TOCOL('Excel课:AI办公课'!A:A,1))

TOCOL('Excel课:AI办公课'!A:A,1):把 Excel课 到 AI办公课 这几个连续工作表中 A 列的姓名,全部合并整理成一列;第二参数 1 表示忽略空白单元格。
UNIQUE(...):对合并后的名单进行去重,只保留不重复的姓名,就能得到一份完整、干净的不重复报名名单。
夜雨聆风