TOCOL 函数¶
函数概述¶
TOCOL 用于把二维区域“拉直”成单列,返回一个按规则排列的一维纵向数组(单列结果)。它常用于:
- 把多列/多行数据汇总成一列,便于去重、筛选、透视或下拉列表
- 把分散的区域拼成一列再做统计(如计数、匹配、查找)
- 配合
UNIQUE、FILTER、SORT、XLOOKUP等动态数组函数形成流水线
返回结果是动态溢出的:源数据变化后,TOCOL 的结果会自动更新。
基础语法¶
参数说明¶
| 参数 | 必填 | 含义 | 常用取值 |
|---|---|---|---|
| array | 是 | 需要展开为单列的数组/区域,可为单个区域或计算得到的数组 | A1:D5、A:A、FILTER(...) |
| ignore | 否 | 指定在展开时要忽略哪些值 | 0 不忽略(默认)1 忽略空白2 忽略错误值3 同时忽略空白和错误 |
| scan_by_column | 否 | 指定展开顺序:按列还是按行扫描 | TRUE 按列(默认)FALSE 按行 |
小提示:
ignore主要用来清洗“空单元格/错误值”,减少后续处理负担。
基础用法示范¶
下面用一个示例数据区说明(假设在 A1:C4):
| A | B | C | |
|---|---|---|---|
| 1 | 张三 | 90 | |
| 2 | 李四 | #N/A | 88 |
| 3 | 王五 | 76 | |
| 4 | 82 | 95 |
1)最基础:区域转单列¶
把 A1:C4 展开为一列(默认按列扫描):
得到的顺序是:先 A 列从上到下,再 B 列,再 C 列。
2)忽略空白:只要“有值”的项¶
适合做“人员清单”“项目清单”等:把散落的输入区汇成一列,空格自动丢弃。
3)忽略错误:跳过计算错误¶
当源区域里可能有 #N/A、#VALUE! 等错误时,这个写法能让结果更干净。
4)同时忽略空白和错误¶
这是最常用的清洗组合,直接输出“可用值列表”。
5)按行展开:改变扫描顺序¶
默认是按列;如果你想按行从左到右、从上到下:
这在“每行是一条记录”的场景里更直观(类似把表格按阅读顺序串起来)。
6)搭配去重:做一份“唯一清单”¶
把区域拉直、清洗后再去重:
常用于整理“所有出现过的姓名/标签/物料编码”等。
7)搭配排序:做可维护的列表¶
一条公式得到“去重 + 排序”的标准字典表。
8)先筛选再拉直:只汇总符合条件的值¶
例如先筛出 C 列分数 ≥90 的行,再把这些行的 A:C 展开:
思路是:先把数据裁剪到需要的范围,再用 TOCOL 汇总成一列。
总结¶
TOCOL的核心价值:二维 → 一维,把分散数据快速汇总为可分析的单列数组。-
记住三个关键点:
ignore用来清洗(空白/错误)scan_by_column控制按列或按行展开- 与
UNIQUE / SORT / FILTER组合,能快速搭建“清洗→汇总→标准化”的公式链路