位置:首页 > 行业软件 > 一文掌握Excel新函数CHOOSECOLS使用教程与快速处理技巧

一文掌握Excel新函数CHOOSECOLS使用教程与快速处理技巧

时间:2026-07-11  |  作者:318050  |  阅读:0

什么是 CHOOSECOLS?

Excel 里有一类“新式武器”——动态数组函数,用起来特别顺手。CHOOSECOLS 就是其中之一。

它的核心功能是:从一个表格区域里,按列号精准提取你想要的列

最适合的场景:只从大表里抽几列出来做临时报表,或者快速调整字段顺序。

最常用的一句语法是:

=CHOOSECOLS(数据区域, 列号1, 列号2, ...)

举个例子:销售明细表里有订单号、销售日期、客户、城市、商品、销售额、负责人,一共 7 列。现在你只想要订单号、客户和销售额三列。

直接在空白单元格里写下:

=CHOOSECOLS(A1:G7, 1, 3, 6)

回车之后,结果会自动向右向下溢出,生成一张只有这三列的新表。不需要手动复制粘贴,更不用写复杂的嵌套公式。

本文以 Microsoft Excel 16.93 版本为例。演示用的源数据在 A 到 G 列,I 列往后是公式输出的区域。这个函数特别适合做日报、周报时快速精简列,还能跟 FILTERSORT 这些函数搭配,实现筛选 + 列重排一步到位。

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

写公式之前,先理清源表里每个字段的位置。本例中 A 到 G 共 7 列,依次是:

  • 订单号(第 1 列)
  • 销售日期(第 2 列)
  • 客户(第 3 列)
  • 城市(第 4 列)
  • 商品(第 5 列)
  • 销售额(第 6 列)
  • 负责人(第 7 列)

注意:列号是按你选中的区域内部从左到右计算的,不是按工作表自带的列标 A、B、C。比如你选中 B1:G7,那么 B 列就成了第 1 列,C 列是第 2 列,依此类推。

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

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

选中空白单元格 I2,输入:

=CHOOSECOLS(A1:G7, 1, 3, 6)

敲回车后,Excel 自动把 A1:G7 里的第 1 列(订单号)、第 3 列(客户)、第 6 列(销售额)提取出来。表头和数据一起显示在 I2 及右侧的空白单元格里。

注意:公式所在单元格的右边和下方一定要有足够的空白区域,否则会报 #SPILL! 溢出错误。

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

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

如果想把销售额放到最前面,根本不用复制粘贴原表,直接把参数顺序改成:

=CHOOSECOLS(A1:G7, 6, 3, 1)

输出时第一列就是销售额,第二列是客户,第三列是订单号。函数的输出顺序完全遵照你写的列号顺序——第一个填 6,结果第一列就是第 6 列的内容。

同一个列号还能重复写。比如你想让销售额出现两次,直接写两个 6 即可,临时复制某一列非常方便。

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

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

源区域 A1:G7 总共只有 7 列。如果你写成 =CHOOSECOLS(A1:G7, 8),第 8 列根本不存在,Excel 会返回 #VALUE! 错误。

如果列号没写错却弹出 #SPILL!,多半是输出区域里已经填了别的数据。把公式右边和下方的单元格清空之后重新计算即可。

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

CHOOSECOLS 语法

完整语法是:

=CHOOSECOLS(array, col_num1, [col_num2], ...)

其中:

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

版本兼容

CHOOSECOLS 属于 Microsoft 365 的动态数组函数。本文示例在 16.93 版本的 Excel 上验证通过。

永久授权的旧版 Excel(比如 2016、2019)大概率没有这个函数。打开带此公式的文件会显示 _xlfn.CHOOSECOLS 或名称错误。如果使用 WPS 或旧版 Excel,需要先确认是否支持。

常见错误

  • #VALUE!:多数是列号写错了——源区域只有 7 列,你填了个 8。
  • #SPILL!:结果要展开的位置被占了,清空输出区域即可。
  • #NAME:不是版本不支持,就是把函数名拼错了(大小写无影响,但单词不能写错)。

特别容易踩的坑:如果你把选中的区域从 A1:G7 改成 B1:G7,列号会重新从 B 列开始算第 1 位,不会接着原来 A 列的序号来数。所以选定区域时一定要清楚第 1 列是哪一列。

扩展示例

只想提取最后一列的负责人信息,可以写:

=CHOOSECOLS(A1:G7, -1)

想把销售额和负责人放到报表最前面,可以写:

=CHOOSECOLS(A1:G7, 6, 7, 1, 3)

如果要先筛选出负责人是“林晓”的所有记录,再提取订单号、客户、销售额三列,一步完成:

=CHOOSECOLS(FILTER(A1:G7, G1:G7="林晓"), 1, 3, 6)

实际做报表的时候,先用 FILTER 筛选行,再用 CHOOSECOLS 精简列,比反复复制粘贴要稳得多,处理速度也更快——动一次公式就能更新,不用手动调整大量数据。

来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多