核心结论 excel 里面的 column 函数是信息类函数,核心作用是返回指定单元格或者单元格区域对应的列序号,A 列返回 1,B 列返回 2,C 列返回 3,以此类推,这个函数语法非常简单,只有一个可选参数,日常经常搭配 vlookup index match sumif 等函数做动态列号,实现公式横向填充自动变化列序号,不用手动修改列标,它属于 excel 基础进阶函数,适合做动态报表多列汇总横向序列生成,很多新手只知道它基础返回列号的用法,不清楚它在数组公式和嵌套函数里的高级用法,掌握基础语法参数规则填充特性和嵌套案例之后,就可以利用 column 函数大幅减少重复写公式的工作量。
column 函数设计的初衷是让公式可以自动识别列的数字编号,excel 本身列是用字母 A B C 标记,但是绝大多数查找求和类函数,内部计算需要数字形式的列序号,字母列标没办法直接参与数值运算,所以 column 函数就是完成字母列标转数字列号的工具,当公式向右拖动填充的时候,引用单元格跟着偏移,column 返回的数字就会自动递增,这个自动变化特性就是 column 函数最核心的价值,它属于动态参数,非常适合横向批量计算场景。
学习 column 函数可以按照先理解函数语法再练习基础用法然后掌握横向填充特性接着学习嵌套组合案例最后排查常见报错这个顺序推进,先单独测试无参数和带参数两种写法,理解返回结果,再练习向右下拉填充,之后重点学习和其他函数嵌套,这也是考试和办公实战最常用部分,最后处理引用错误参数类型错误这类常见问题。
函数语法基础
column 引用
参数说明
引用 是可选参数,可以填写单个单元格,也可以填写单元格区域,如果省略这个参数,column 函数就返回当前输入公式所在单元格的列序号
重要规则
如果引用填写的是一个单元格区域,在普通普通单元格公式里面,只返回区域左上角单元格的列序号
如果在数组公式环境下,column 可以一次性返回整组区域所有列的序号,生成一列连续数字数组
基础用法对照表
| 写法 | 返回结果 | 说明 |
|---|---|---|
| column | 当前单元格对应的列号 | 省略参数,取公式所在单元格 |
| column B1 | 2 | B 列对应的数字是 2 |
| column D5 | 4 | D 列对应的数字是 4 |
| column F1 H1 | 6 | 普通公式只返回左上角 F 列序号 6 |
实战应用案例
案例 1 生成连续横向序号
在 A1 单元格输入 column A1,向右拖动填充,依次得到 1 2 3 4,适合做表头动态编号
案例 2 搭配 vlookup 动态取多列数据
vlookup 查找的时候,第三参数 col_index_num 默认写死数字,向右填充不会自动变化,搭配 column 函数之后,公式写成 vlookup A1 数据表 column B1,向右拖动的时候列序号自动增加,一次性取出多列匹配数据
案例 3 搭配 sumif 横向多列汇总
sumif 里面使用 column 函数动态指定求和列,实现多列横向汇总,不用每一列单独写求和公式
案例 4 生成数组序列
在新版 excel 动态数组版本,输入 column A1 D1,回车之后自动溢出 1 2 3 4 四个数字,生成连续数字数组
填充特性重点说明
向右拖动填充的时候,如果参数是相对引用,比如 column A1,向右拖动变成 column B1,返回数字跟着变大
如果参数改成绝对引用 column A1,向右拖动,引用不会变化,永远返回数字 1,这个是最容易出错的点,相对引用和绝对引用决定 column 函数填充之后数字会不会自动递增
常见错误类型
VALUE! 错误,一般是参数填写错误,引用对象不是单元格或者区域
结果固定不变,原因是参数加了绝对引用符号,向右填充不会偏移
数组模式结果只显示一个数字,旧版 excel 没有按三键数组确认,新版动态数组不需要三键
column 函数核心价值就是自动输出数字形式的列序号,依靠相对引用实现横向自动递增,基础用法简单,难点是嵌套其他函数的时候搭配绝对引用,做动态查找多列提取,日常办公优先掌握 vlookup 搭配 column 这个高频组合,旧版 excel 使用数组用法记得使用数组确认方式,新版动态数组可以直接溢出,不需要额外操作。
【常见问题】
问题 1 excel 中 column 函数如果不写参数会返回什么
回答 1 excel 中 column 函数省略引用参数的时候,会返回输入 column 函数这个公式所在单元格本身对应的列序号,比如在 C 列单元格输入 column,返回结果就是 3。
问题 2 column 函数能不能返回列的字母比如 A B C
回答 2 不可以,column 函数的功能只返回数字形式列序号,不能直接返回列字母,如果需要把 column 得到的数字转成列字母,需要搭配 char 函数进行转换。
问题 3 为什么向右填充 column 函数结果一直不变
回答 3 出现这个问题,是 column 函数里面的引用参数使用了绝对引用,锁定了单元格,向右拖动的时候引用不会偏移,column 函数返回数值就固定,改成相对引用即可自动递增。
问题 4 column 函数和 row 函数有什么区别
回答 4 column 函数作用是返回列序号,row 函数是返回行序号,column 函数适合横向填充生成列编号,row 函数适合纵向填充生成行编号,两个函数经常搭配一起使用,同时获取行列数字。
【免责申明】
本内容为 excel column 函数教学资料,不同 excel 版本旧版 2016 新版 365 在动态数组支持上存在差异,部分数组操作方法会有区别,案例仅供学习参考,复杂业务表格使用前建议自行测试公式,本内容不替代微软官方函数文档。
