你是不是还在为Excel里繁琐的数据透视、多表合并、文本拆分而加班熬夜?
手动操作不仅容易出错,更耗费大量时间。好消息是,微软近年来为Excel推出了大批强大的新函数,能让你用一条公式就轻松解决以往需要多步甚至编程才能完成的复杂任务。
我们结合实用性和场景频率,熬夜整理了这份 【30个Excel新函数速查手册】,并附上核心公式与用法解析。收藏这一篇,足以应对90%的复杂数据处理工作。
第一部分:数据分析与汇总革命(核心利器)
这部分的函数将彻底改变你汇总分析数据的方式。
- PIVOTBY函数 · 功能:用公式实现动态数据透视,无需手动创建透视表,结果可随源数据自动更新。 · 场景:按多条件(如地区、产品)快速统计销售额、数量等。 · 示例:=PIVOTBY(A2:A100, B2:B100, C2:C100, SUM, 3) (含义:根据A列“城市”和B列“产品”对C列“销量”进行求和汇总)
- GROUPBY函数 · 功能:强大的分类汇总函数,语法更灵活,可直接生成汇总报表。 · 场景:多级分组汇总,并可同时计算合计、平均值等多种聚合值。 · 示例:=GROUPBY(A2:B100, C2:C100, SUM, 3) (根据城市和产品分组汇总销量)
- FILTER函数 · 功能:一对多条件筛选,直接返回符合条件的所有行。 · 场景:提取“财务部”所有人员信息、找出销量大于1000的所有订单。 · 示例:=FILTER(A2:F100, A2:A100="财务部") (筛选出A列为“财务部”的所有行数据)
- UNIQUE函数 · 功能:一键提取唯一值列表,去重神器。 · 场景:快速获取不重复的客户名单、产品目录等。 · 示例:=UNIQUE(A2:A1000) (提取A列所有不重复的公司名称)
第二部分:文本处理与清洗(告别“分列”和复杂嵌套)
文本处理从未如此简单,正则表达式也直接内置了。
- TEXTSPLIT函数 · 功能:按指定分隔符将单个单元格内容拆分到多列或多行。 · 场景:拆分“姓名-部门-工号”这类格式规整的字符串。 · 示例:=TEXTSPLIT(A2, “-”) (将“张三-男-20”拆分为三列)
- TEXTBEFORE / TEXTAFTER函数 · 功能:提取某个特定分隔符前/后的所有内容。 · 场景:提取省份名(“省”字之前)、提取详细地址(“市”字之后)。 · 示例: =TEXTBEFORE(A2, “省”) (提取“河南省”中的“河南”) =TEXTAFTER(A2, “市”) (提取“北京市海淀区”中的“海淀区”)
- TEXTJOIN函数 · 功能:用指定分隔符连接一个区域内的所有文本。 · 场景:将多个单元格的姓名用顿号连接起来。 · 示例:=TEXTJOIN(“、”, TRUE, A2:A10) (将A2到A10的内容用“、”连接,忽略空单元格)
- REGEXEXTRACT / REGEXREPLACE / REGEXTEST函数 · 功能:使用正则表达式进行提取、替换、检测,功能无比强大。 · 场景:从混杂文本中提取手机号、邮箱;批量替换复杂格式;验证数据格式。 · 示例: =REGEXEXTRACT(A2, “\d{11}”) (提取11位手机号) =REGEXREPLACE(A2, “\d+”, “***”) (将所有数字替换为*) =REGEXTEST(A2, “^\d{4}-\d{2}-\d{2}$”) (判断是否为“YYYY-MM-DD”日期格式)
第三部分:表格动态重构与合并
轻松实现表格的拆分、组合与变形。
- VSTACK / HSTACK函数 · 功能:垂直/水平堆叠多个表格区域,实现多表合并。 · 场景:合并12个月的销售表;将多列数据横向拼接成一张宽表。 · 示例: =VSTACK(‘1月:12月’!A2:B100) (垂直堆叠1到12月表的A2:B100区域) =HSTACK(A2:A10, D2:D10) (将A列和D列横向合并)
- CHOOSECOLS / CHOOSEROWS函数 · 功能:从原表中按索引号选择指定的列或行,生成新表。 · 场景:从包含20列的原始数据中,仅提取第1、3、5列进行分析。 · 示例:=CHOOSECOLS(A2:G100, 1, 3, 5) (提取第1、3、5列)
- TAKE / DROP函数 · 功能:提取或删除表格开头/结尾的N行/ N列。 · 场景:取表格前10行预览;删除表头行;取最后5行数据。 · 示例: =TAKE(A2:F100, 10) (取前10行) =DROP(A2:F100, 1) (删除第1行,常用于去除标题行)
- TOROW / TOCOL函数 · 功能:将多行多列的区域转换为单一行或单一列。 · 场景:将二维表格转为一维列表,方便后续分析。 · 示例:=TOCOL(A2:F10) (将A2:F10区域转换为单列)
第四部分:查找与排序进化版
比VLOOKUP和传统排序更强大。
- XLOOKUP函数 · 功能:VLOOKUP的终极替代者,支持反向查找、多条件查找、未找到返回值。 · 场景:根据部门和姓名两个条件查找学历;从后往前查找最后一条记录。 · 示例:=XLOOKUP(“财务部”&“张三”, A2:A100&B2:B100, D2:D100) (联合A列和B列,查找对应的D列值)
- SORT / SORTBY函数 · 功能:动态排序函数,源数据更新,排序结果自动更新。 · 场景:制作自动更新的销售排行榜;按主次关键字排序。 · 示例: =SORT(A2:D100, 3, -1) (按第3列降序排列) =SORTBY(A2:D11, C2:C11, 1, D2:D11, -1) (先按C列升序,再按D列降序)
第五部分:高级编程与自定义函数
释放Excel的编程潜力,实现高度自动化。
- LAMBDA函数 · 功能:允许你自定义函数,将复杂公式命名后像内置函数一样重复使用。 · 场景:封装一个经常使用的复杂计算逻辑(如计算提成)。 · 示例:=LAMBDA(销售额, 利润率, 销售额*利润率) 定义后,可在名称管理器中命名为CalcProfit,之后直接使用=CalcProfit(A2, B2)。
- LET函数 · 功能:在公式内部为中间计算结果定义名称,让超长公式变得易读、易维护。 · 示例: =LET(x, VLOOKUP(D2, A:B, 2, 0), IF(x>100, “优秀”, “达标”)) (将VLOOKUP结果命名为x,后续判断直接用x)
- REDUCE / SCAN函数 · 功能:遍历数组并累加计算(REDUCE返回最终结果,SCAN返回每一步的中间结果数组)。 · 场景:自定义条件求和、求积或更复杂的迭代计算。 · 示例:=REDUCE(0, A2:A10, LAMBDA(acc, val, IF(val>0, acc+val, acc))) (对A2:A10中所有正数求和)
- MAP函数 · 功能:将数组中的每个值,用指定规则进行转换,并返回新数组。 · 场景:批量将区域中的0替换为“零”,或将所有值乘以一个系数。 · 示例:=MAP(A2:A10, LAMBDA(x, IF(x=0, “零”, x)))
总结与学习建议
这30个新函数代表了Excel从“电子表格”向“数据分析平台”的进化。学习路径建议如下:
- 优先掌握:FILTER, XLOOKUP, UNIQUE, SORT, TEXTSPLIT, TEXTJOIN。这些能立刻解决大量日常痛点。
- 进阶学习:PIVOTBY, GROUPBY, VSTACK/HSTACK,它们将重塑你的报表自动化流程。
- 高手之路:掌握LAMBDA, LET, REDUCE等,结合名称管理器,打造属于自己的函数库,实现极致效率。
重要提示:部分新函数(如PIVOTBY、GROUPBY及所有REGEX系列)需要Office 365/ Microsoft 365的最新版本。
赶紧打开你的Excel,尝试用这些新函数替换掉老旧的步骤吧!从此告别重复劳动,把时间花在更有价值的决策和分析上。
觉得有用?请点赞、收藏、转发,让更多职场朋友摆脱加班! #Excel技巧 #办公软件 #职场效率 #数据分析
测试题:
- 文章中提到的哪个函数可以用公式实现动态数据透视,且结果可随源数据自动更新?
- 如果想用一条公式提取出某个单元格中“-”分隔符之前的所有内容,应该使用哪个函数?
- 根据文章的学习建议,哪几个函数被推荐为优先掌握,以解决大量日常痛点?
测试题答案:
- PIVOTBY函数。
- TEXTBEFORE函数。
- FILTER, XLOOKUP, UNIQUE, SORT, TEXTSPLIT, TEXTJOIN。
(完)

