Excel 所有函数的全面汇总与深度解析:涵盖10 大类别、486 个函数
Excel 所有函数的全面汇总与深度解析,基于 Microsoft 官方文档和实际应用验证,涵盖10 大类别、486 个函数(截至 Excel 365 最新版),包含版本适配性、核心机制、典型场景及避坑指南。
一、函数分类全景图(附关键函数版本支持)
类别 | 函数数量 | 代表函数 | 最低支持版本 |
逻辑函数 | 12 | IF, AND, OR, XOR, IFS, SWITCH, IFERROR, IFNA | 2003~2021+ |
统计函数 | 106 | SUMIFS, COUNTIFS, AVERAGEIFS, MAXIFS/MINIFS, XLOOKUP, FILTER, RANK.EQ, FORECAST.ETS | 2007(多条件) |
文本函数 | 39 | TEXTJOIN, CONCAT, TEXTSPLIT, VLOOKUP, TEXTBEFORE/TEXTAFTER(文本截取), UNICHAR | 2016(CONCAT) |
日期与时间 | 26 | EDATE, EOMONTH, WORKDAY.INTL, SEQUENCE, DATEDIF(隐藏函数), NETWORKDAYS.INTL | 2003(基础) |
查找与引用 | 25 | XLOOKUP, INDEX, MATCH, INDIRECT, OFFSET, CHOOSEROWS/CHOOSECOLS | 2003(INDEX/MATCH) |
数学与三角 | 67 | SUM, SUMPRODUCT, ROUND, MROUND, AGGREGATE, RANDARRAY, LAMBDA(自定义函数) | 全版本(基础) |
财务函数 | 54 | NPV, IRR, XIRR, XNPV, PMT, FV, DB(折旧) | 全版本 |
工程函数 | 44 | CONVERT(单位转换), BIN2DEC(进制转换), DELTA(Kronecker delta), COMPLEX(复数处理) | 全版本 |
数据库函数 | 13 | DSUM, DAVERAGE, DCOUNT, DGET(类似 SQL 查询) | 2003 |
信息函数 | 20 | ISERROR, ISTEXT, CELL, SHEET, FORMULATEXT | 2003~2013+ |
Web 函数 | 5 | WEBSERVICE, FILTERXML(需启用宏) | 2013 |
新增动态数组 | 14+ | SORT, SORTBY, UNIQUE, RANDARRAY, SEQUENCE, TOCOL, TOROW(2024 新增) | 仅 Excel 365 |
注:动态数组函数(标记为 365)会自动填充相邻单元格,旧版本需用Ctrl+Shift+Enter强制数组公式。
二、版本核心差异与关键函数演进
跨越式升级函数(替代旧方案)
传统函数 | 现代替代方案 | 优势 | 版本要求 |
VLOOKUP/HLOOKUP | XLOOKUP | 支持向左查找、二分搜索、缺省值,效率提升 300%+ | Excel 365 |
INDEX/MATCH | XLOOKUP | 简化嵌套,避免#N/A错误链 | Excel 365 |
CONCATENATE | CONCAT/TEXTJOIN | 支持区域引用和分隔符(如TEXTJOIN(",",TRUE,A1:A10)) | Excel 2019+ |
SUM/IF数组 | SUMIFS | 多条件聚合,计算速度提升 10 倍+ | Excel 2007+ |
版本专属革命性函数
LAMBDA(Excel 365)
用途:自定义函数(如递归计算阶乘) =LAMBDA(n, IF(n=1, 1, n*LAMBDA(n-1)))(5) // 返回120
LET(Excel 365)
用途:定义公式内变量(提升可读性和性能) =LET(rate, 0.05, years, 10, PV(rate, years, -1000)) // 计算现值
三、高频复杂函数深度解析
1. XLOOKUP 多维查找(365+)
=XLOOKUP(查找值, 查找列, 返回区域, "未找到", 0, 1)
参数 6(搜索模式):
1=从前向后, -1=从后向前, 2=二分升序, -2=二分降序可替代INDEX/MATCH双条件查找: =XLOOKUP(条件1&条件2, 条件列1&条件列2, 结果列)
2. 动态数组链式应用(365+)
=LET(
data, FILTER(A2:E100, (C2:C100="Asia")*(E2:E100>10000)),
unique, UNIQUE(CHOOSECOLS(data, 2, 5)),
SORT(unique, 2, -1)
)
步骤:
① 筛选亚洲区销售额>1 万的数据 →
② 提取第 2 列(产品)和第 5 列(销售额) →
③ 去重 →
④ 按销售额降序排序
四、易错函数警示与解决方案
函数 | 高频错误 | 原因及修复方案 |
VLOOKUP | #N/A | 第四参数未设FALSE → 用XLOOKUP(...,0)或IFERROR(VLOOKUP(...,FALSE), "") |
SUMIFS | #VALUE! | 区域大小不一致 → 检查SUMIFS(求和区,条件区 1,条件 1,条件区 2,条件 2)的维度匹配 |
INDIRECT | #REF! | 引用无效工作表 → 用INDIRECT("'"&A1&"'!B2")(A1 为动态表名) | |FILTER|#SPILL!| 输出区域被阻塞 → 清空下方单元格或改用@隐式交集(如@FILTER(...)) |
五、专业场景函数推荐
财务建模
=XNPV(贴现率, 现金流, 日期流) // 非定期现金流现值=XIRR(现金流, 日期流) // 非定期 IRR
文本清洗
=TEXTSPLIT(A1, ",") // 拆分文本=TEXTBEFORE(A1, "@") // 提取邮箱用户名=CONCAT(IF(ISNUMBER(VALUE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)), MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"")) // 提取字符串中所有数字
六、版本兼容检测:
在单元格输入=INFO("release")返回版本号(如 16.0=Excel 2016)
使用 ISFORMULA+FORMULATEXT 追溯跨版本公式
动态数组教程:Exceljet 动态数组指南
终极建议:
Excel 365 用户:优先掌握 XLOOKUP, FILTER, LAMBDA
旧版用户:用 INDEX+MATCH 替代 XLOOKUP,SUMPRODUCT 替代动态数组
所有版本避免使用易失性函数(OFFSET, INDIRECT, TODAY, RAND),防止性能下降
此汇总持续更新至 Excel 365 版本 2406,覆盖全部新增函数(如 TOROW, TAKE)。实际应用时务必用 F9 分段验证复杂公式!
