别再一个个复制粘贴、手动删重复、画透视表了。
![]()
下面这16个新函数,覆盖合并、去重、拆分、提取、排序、汇总、透视、替换。每个都配案例和公式,复制就能用。建议先收藏。
提醒:新函数需要 Excel 365 或 WPS 最新版;公式里的表名、区域按实际替换。WPS 和 Excel 部分函数名不同,下面已标注。
案例1:合并100个表格?用 VSTACK
场景: 100个分表结构一样,都是 A1:D100,要合并成一张总表。
公式:
=VSTACK(表1:表N!A1:D100)说明: 把“表1”到“表N”之间所有工作表的 A1:D100 纵向堆叠。
如果表名是“1月”到“12月”,可写:
=VSTACK('1月:12月'!A1:D100)效果: 100个表瞬间变一张总表,新增分表也能自动带上。
案例2:除去一列中的重复值?用 UNIQUE
场景: A列是客户名单、订单号、商品编码,重复很多。
公式:
=UNIQUE(A:A)建议实用版:
=UNIQUE(A2:A1000)效果: 重复内容只保留第一次出现,结果自动溢出。
如果只想保留“只出现过一次”的值,可用第三参数:
=UNIQUE(A2:A1000,,1)案例3:多列名字转换成一列?用 TOCOL
场景: A:D四列都是姓名,想快速拉成一列。
公式:
=TOCOL(A1:D100)忽略空白版:
=TOCOL(A1:D100,1)效果: 多列数据按行扫描,变成一列。
第二参数:1 忽略空白,2 忽略错误,3 忽略空白和错误。
案例4:A1按“-”拆分成3列?用 TEXTSPLIT
场景: A1内容是“张三-销售部-上海”,要拆成三列。
公式:
=TEXTSPLIT(A1,"-")效果: 自动拆成三列溢出。
如果整列都要拆:
=TEXTSPLIT(A1:A10,"-")也可以拆行、拆列组合使用,比如按逗号拆列、按分号拆行。
案例5:提取字符串的所有数字?用正则
场景: C2是“订单AB12345共678元”,要提取 12345 和 678。
Excel 365 版:
=REGEXEXTRACT(C2,"\d+",1)WPS 版:
=REGEXP(C2,"\d+")说明: \d+ 表示连续数字。Excel 第三参数 1 表示返回所有匹配。
效果: 所有数字自动溢出,适合提取金额、编号、电话、身份证号中的数字。
案例6:提取所有工作表名称?用 SHEETSNAME
场景: 工作簿里有几十个分表,要快速列出所有表名。
WPS 版公式:
=SHEETSNAME()效果: 所有工作表名称横向溢出。
如果想纵向显示:
=TRANSPOSE(SHEETSNAME())适合做目录、做动态汇总导航。
案例7:用公式分类汇总?用 GROUPBY
场景: A:B是部门和地区,C:D是销售额和数量,要按部门+地区汇总。
公式:
=GROUPBY(A1:B10,C1:D10,SUM,3)说明: 按 A:B 分组,对 C:D 求和,第四参数 3 表示显示表头。
效果: 不用透视表,结果自动更新。
适合:按部门、按地区、按产品、按月份快速汇总。
案例8:替代透视表?用 PIVOTBY
场景: A列是行字段,B列是列字段,C列是值,要快速做交叉汇总。
公式:
=PIVOTBY(A1:A10,B1:B10,C1:C10,SUM)效果: A 做行,B 做列,C 求和,直接生成类似透视表的结构。
优点是公式动态更新,源数据一变,结果跟着变。
案例9:引用表格并按第2列升序排序?用 SORT
场景: A:C是数据表,要按第2列升序排列。
公式:
=SORT(A1:C10,2)降序:
=SORT(A1:C10,2,-1)多列排序:
=SORT(A1:C10,{2,3},{1,-1})效果: 原表不动,排序结果自动溢出。
案例10:两列内容顺序一致?用 SORTBY
场景: A列姓名,B列分数,要让姓名跟着分数一起排序。
公式:
=SORTBY(A1:A100,B1:B100)说明: 按 B1:B100 的顺序来排 A1:A100。
注意:两个区域行数要一致。
效果: 排序依据和原数据保持一一对应,不会错行。
案例11:按第2列提取前5名?用 TAKE
场景: A:C是成绩表,要按第2列降序取前5名。
公式:
=TAKE(SORT(A1:C10,2,-1),5)说明: 先按第2列降序,再取前5行。
如果想取后5名:
=TAKE(SORT(A1:C10,2,-1),-5)适合做排行榜、Top N、末位分析。
案例12:引用并删除表格前3行?用 DROP
场景: 表格前3行是标题或空行,要去掉后再引用。
公式:
=DROP(A1:C10,3)删除前3列:
=DROP(A1:C10,,3)删除最后3行:
=DROP(A1:C10,-3)效果: 只保留需要的数据区域,动态更新。
案例13:用“-”连接一行的值?用 TEXTJOIN
场景: A1:F1是一行数据,要用“-”连成一个字符串。
公式:
=TEXTJOIN("-",,A1:F1)说明: 第二参数省略或写 TRUE,表示忽略空白。
完整写法:
=TEXTJOIN("-",TRUE,A1:F1)适合拼接姓名、地址、标签、编码。
案例14:从表格中提取1、3、6列?用 CHOOSECOLS
场景: A:H有很多列,只要第1、3、6列。
公式:
=CHOOSECOLS(A1:H99,1,3,6)效果: 只提取指定列,顺序也能调整。
比如想倒序提取:
=CHOOSECOLS(A1:H99,-1,-3,-6)负数表示从右往左数。
案例15:一列转换成多列数据?用 WRAPCOLS
场景: A1:A16是一列数据,要每4个一列,转成多列。
公式:
=WRAPCOLS(A1:A16,4,"")说明: 按列包裹,每列4个数据,空白补空字符串。
如果想按行转换,可用:
=WRAPROWS(A1:A16,4,"")适合排班表、座位表、标签排版。
案例16:把特殊符号全替换成逗号?用 SUBSTITUTES
场景: D9是“北京-上海 广州。深圳”,要把空格、-、。都换成逗号。
WPS 版公式:
=SUBSTITUTES(D9,{" ","-","。"},",")Excel 365 替代写法:
=REDUCE(D9,{" ","-","。"},LAMBDA(a,b,SUBSTITUTE(a,b,",")))效果: 一次替换多个特殊符号,适合清洗地址、标签、备注。
最后提醒
- 这些新函数大多是动态数组,公式输入后会自动溢出,下方和右侧要留空白。
- 跨表引用时,表名带空格或特殊字符,要用单引号,如 '1月 数据:12月 数据'!A1:D100。
- SORTBY 的排序依据区域要和被排序区域行数一致。
- Excel 和 WPS 函数名有差异:Excel 用 REGEXEXTRACT,WPS 用 REGEXP;WPS 有 SHEETSNAME、SUBSTITUTES。
- 遇到报错先检查版本,再检查函数名和区域。
这16个函数,覆盖了日常表格最常用的合并、去重、拆分、提取、排序、汇总、透视、替换。
附图文教程
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
收藏起来,下次遇到直接套公式。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.