COLUMNS 函数¶
函数概述¶
COLUMNS 函数用于返回引用区域中的列数。它常用来:
- 统计某个区域有多少列(例如数据源、表头区间)
- 配合 INDEX、OFFSET、CHOOSECOLS、动态数组等做动态取列/循环编号
- 在横向扩展公式时,自动生成递增序号或控制返回列位置
基础语法¶
参数说明¶
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
| array | 是 | 引用/数组 | 需要统计列数的区域或数组表达式 |
说明补充:
array可以是单元格区域(如A1:D10)、结构化引用(如Table1[#All])、也可以是数组结果(如A1:D10*1)。- 若
array只有一列,结果为 1;只有一个单元格,也视为 1 列。
基础用法示范¶
示例1 返回列数¶
目标:统计区域 A1:D10 的列数。
结果:4
示例2 统计整行列数¶
目标:统计第 1 行从 A 到 H 一共多少列。
结果:8
示例3 动态取最后一列¶
目标:在 A2:D2 中返回最后一列的值。
逻辑:COLUMNS(A2:D2) 得到 4,所以 INDEX(...,1,4) 返回第 4 列的值。
示例4 横向填充递增序号¶
目标:在一行中从左到右生成 1、2、3、4…… 在第一个单元格输入(假设从 B2 开始),然后向右填充:
效果:B2 为 1,C2 为 2,D2 为 3……
要点:左端固定 $B2,右端随填充扩展。
示例5 配合MATCH取指定列¶
目标:从 A2:D2 返回“标题所在列”的数据(标题在 A1:D1)。
你也可以用 COLUMNS 做边界控制,例如将查找列限定在动态范围内:
总结¶
- COLUMNS 用来数列:返回引用区域/数组的列数量。
- 典型用途:统计宽度、动态定位列、横向填充序号、配合 INDEX 等函数做动态取值。
- 编写技巧:横向递增时常用
COLUMNS($起点:当前)的写法,让结果随填充自动增加。