一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Excel新函数CHOOSECOLS怎么用?快速处理技巧

时间:2026-07-11 12:52:46 编辑:袖梨 来源:一聚教程网

choosecols的作用是从整块表格里按列号提取指定列,最常用的写法是 =choosecols(数据区域,列号1,列号2,...)。比如你想从销售明细里只留「订单号、客户、销售额」三列,直接输入 =choosecols(a1:g7,1,3,6),回车之后结果会自动溢出生成一张新表。

当前操作软件:Microsoft Excel。软件版本:16.93。示例里A到G列是原始销售明细,I列右侧的空白区域用来展示CHOOSECOLS返回的结果。这个函数很适合做临时报表、整理导出列,还能搭配FILTER或者SORT快速调整字段顺序。

第一步:准备好带完整字段的源表

先理清楚源表的字段位置,本次例子里A到G列总共7列,分别对应订单号、销售日期、客户、城市、商品、销售额、负责人。后面写列号的时候,选中的区域内部从左往右数,A列是第1列,C列是第3列,F列是第6列。注意列号是按你选中的区域内部计算的,不是按工作表自带的绝对列标来算。

第二步:输入CHOOSECOLS公式提取指定列

选中空白单元格I2,输入 =CHOOSECOLS(A1:G7,1,3,6)。按回车之后,Excel会自动把A1:G7里的第1、3、6列提取到右侧,表头和下面的明细数据一起出结果。要注意公式所在单元格的右边和下方得留够空白,不然会弹出溢出错误。

第三步:调整列号顺序快速重排字段

要是你想把销售额放到最前面,根本不用复制粘贴原表,直接把参数里的列号顺序改成 =CHOOSECOLS(A1:G7,6,3,1) 就行。CHOOSECOLS完全跟着你写的列号顺序输出内容,第一个参数填6,生成的结果第一列就会显示销售额;同一个列号还能重复写,临时复制某一列很方便。

第四步:排查列号越界和溢出区域问题

源区域A1:G7总共只有7列,要是你把公式写成 =CHOOSECOLS(A1:G7,8),不存在的第8列会让Excel返回 #VALUE! 错误。如果列号没写错却弹出 #SPILL!,基本都是输出区域里已经填了别的内容,把公式右边和下方的单元格清空之后重新计算就好。

CHOOSECOLS 语法

完整语法是 =CHOOSECOLS(array,col_num1,[col_num2],...)。其中 array 是你要提取列的数组或者单元格区域,col_num1 是必填的第一个列序号,后面可以继续加更多要提取的列序号。

参数 是否必填 说明 本例
array 必填 要从中提取列的区域或数组 A1:G7
col_num1 必填 第一个要返回的列序号 1 返回订单号
[col_num2] 选填 继续指定更多列,顺序就是输出顺序 3,6 返回客户和销售额
负数列号 可用 从数组右侧倒数取列 -1 返回最后一列负责人

版本兼容

CHOOSECOLS属于Microsoft 365的动态数组函数,本次示例在16.93版本的Excel上验证通过。永久授权的旧版Excel大概率没有这个函数,打开带这个公式的文件会显示 _xlfn.CHOOSECOLS 或者名称错误。如果使用 WPS 或旧版 Excel,需要先确认是否支持该函数。

常见错误

#VALUE! 大多是列号写错了,比如源区域只有7列你填了个8;#SPILL! 就是结果要展开的位置被别的内容占了;#NAME? 基本是当前Excel版本不支持CHOOSECOLS,或者你把函数名拼错了。还有个很容易踩的坑:要是你把选中的区域从 A1:G7 改成 B1:G7,列号会重新从B列开始算第1位,不会接着按原来A列的序号数。

扩展示例

只想提取最后一列的负责人信息,可以写 =CHOOSECOLS(A1:G7,-1);想把销售额和负责人放到报表最前面,可以写 =CHOOSECOLS(A1:G7,6,7,1,3);如果要先筛选出负责人是「林晓」的所有记录,再提取订单号、客户、销售额三列,公式可以写成 =CHOOSECOLS(FILTER(A1:G7,G1:G7="林晓"),1,3,6)。实际做报表的时候,先用FILTER筛选行,再用CHOOSECOLS精简列,比反复复制粘贴要稳得多,处理速度也更快。

热门栏目