11. AVERAGE 求平均值
本质: 数字全部加起,除以个数。
用法一览:
· =AVERAGE(A1:A10) → A1到A10平均值
· =AVERAGE(10,20,30) → 20
· =AVERAGE(金额列) → 全列平均值,自动忽略文字和空格
和谁组合:
· AVERAGE + IF → =AVERAGE(IF(部门="销售",工资)) 数组公式,条件平均
· AVERAGE + ROUND → =ROUND(AVERAGE(区域),2) 保留两位小数
· AVERAGE + LARGE → 取前N名平均
12. AVERAGEIF / AVERAGEIFS 条件平均
本质: 符合条件的才拿来平均。
用法一览:
· =AVERAGEIF(产品列,"桌子",金额列) → 桌子平均成交额
· =AVERAGEIF(分数列,">=60") → 及格分平均
· =AVERAGEIFS(金额列,销售员列,"张三",月份列,"一月") → 张三一月平均
和谁组合:
· AVERAGEIFS + 通配符 → =AVERAGEIFS(金额,产品,"*桌*")
· AVERAGEIFS + DATE → 用日期做条件
13. COUNT / COUNTA / COUNTBLANK 计数三兄弟
本质:
COUNT——只数数字格子。
COUNTA——数非空格子。
COUNTBLANK——数空格子。
用法一览:
· =COUNT(A:A) → 数字个数
· =COUNTA(姓名列) → 有多少个名字
· =COUNTBLANK(区域) → 空单元格数量
和谁组合:
· COUNTA + UNIQUE → =COUNTA(UNIQUE(部门列)) 部门不重复个数
· COUNTBLANK + IF → =IF(COUNTBLANK(区域)>0,"有漏填","齐全")
14. COUNTIF / COUNTIFS 条件计数
本质: 满足条件才数。
用法一览:
· =COUNTIF(分数列,">=90") → 优秀人数
· =COUNTIF(姓名列,"张*") → 姓张的人数
· =COUNTIFS(区域,条件1,区域,条件2,...) → 多条件计数
和谁组合:
· COUNTIF + 数据验证 → 限制不重复录入
· COUNTIFS + 日期 → 统计某时间段内条数
15. MAX / MIN / LARGE / SMALL 极值
MAX 最大值,MIN 最小值,LARGE(区域,N) 第N大,SMALL(区域,N) 第N小。
用法一览:
· =MAX(销售额列) → 最高销售额
· =MIN(成本列) → 最低成本
· =LARGE(区域,2) → 第二名
· =SMALL(区域,1) → 最小值,等同MIN
和谁组合:
· LARGE + IF → 按条件找第N大
· SMALL + INDEX + MATCH → 根据排名反查姓名
· MAX + IF 数组 → =MAX(IF(部门="销售",工资)) 销售部最高工资
16. RANK 排名
本质: 数字在列表中排第几。
用法一览:
· =RANK(分数格,分数列) → 降序排名,分数高排1
· =RANK(分数格,分数列,1) → 升序,分数低排1
· =RANK.EQ 相同值时并列,=RANK.AVG 取平均排名
和谁组合:
· RANK + COUNTIF → 中国式排名避免断挡
· RANK + SUMPRODUCT → =SUMPRODUCT((B2<$B$2:$B$10)/COUNTIF($B$2:$B$10,$B$2:$B$10))+1 中式排名
17. SUMPRODUCT 乘积求和
本质: 数组对应相乘再相加,天然处理数组,不用三键。
用法一览:
· =SUMPRODUCT(数量列,单价列) → 总金额
· =SUMPRODUCT((条件1)*(条件2)*求和列) → 多条件求和,替代SUMIFS
· =SUMPRODUCT(1/COUNTIF(区域,区域)) → 不重复计数
和谁组合:
· SUMPRODUCT + MONTH → 按月份条件统计
· SUMPRODUCT + MOD → 隔行求和
· SUMPRODUCT + LEFT → 将文本条件化
18. INDEX 坐标取数
本质: 告诉它区域、第几行、第几列,把值取出来。
用法一览:
· =INDEX(A1:C10,3,2) → A1:C10的第3行第2列
· =INDEX(整列,5) → 一列中第5个
· =INDEX(区域,0,列号) → 返回整行;行号0返回整列
和谁组合:
· INDEX + MATCH → 黄金组合(下面说)
· INDEX + SMALL + IF → 一对多查找
· INDEX + 区域数组 → 可返回整个数组给其他函数
19. MATCH 查找位置
本质: 找某个值在区域中是第几个。
用法一览:
· =MATCH("张三",姓名列,0) → 返回张三在第几行
· =MATCH(85,分数列,1) → 模糊匹配,找小于等于85的最大值位置,区域需升序
· =MATCH(85,分数列,-1) → 模糊匹配,找大于等于85的最小值,区域需降序
和谁组合:
· MATCH + INDEX → =INDEX(返回列,MATCH(查找值,查找列,0)) 替代VLOOKUP,可反向查
· MATCH + MATCH → 行列双向定位
· MATCH + OFFSET → 动态区域
20. INDEX + MATCH 黄金组合
本质: 定行号再用INDEX取该行任意列,不受左查限制。
常用公式:
· 正向查:=INDEX(工号列,MATCH("张三",姓名列,0))
· 反向查:=INDEX(姓名列,MATCH(工号,工号列,0)) 完全无视左右
· 行列交叉:=INDEX(数据区,MATCH(姓名,姓名列,0),MATCH(月份,月份行,0))
扩展:
· INDEX + MATCH + MATCH → 二维表精准取值
· INDEX + MATCH + IF → 多条件查找,如 =INDEX(结果列,MATCH(1,(条件1)*(条件2),0)) 数组
21. INDIRECT 间接引用
本质: 把文本字串变成单元格引用。
用法一览:
· =INDIRECT("A1") → 相当于直接引用A1
· =INDIRECT("Sheet2!B5") → 跨表取数
· =SUM(INDIRECT("A1:A"&B1)) → 动态范围,B1填10就求A1:A10
和谁组合:
· INDIRECT + ROW / COLUMN → 构建动态下拉列表
· INDIRECT + MATCH → 动态表名引用
· 数据验证 + INDIRECT → 二级下拉菜单
22. OFFSET 偏移定位
本质: 从起点出发,向下移几行、向右移几列,取多高多宽的区域。
用法: =OFFSET(起点格,行偏移,列偏移,高,宽)
用法一览:
· =OFFSET(A1,2,1) → 从A1向下2格再右1格,即B3
· =SUM(OFFSET(A1,0,0,COUNT(A:A),1)) → 动态求和,无论新增多少行
· 与图表结合 → 制作动态图表数据源
和谁组合:
· OFFSET + MATCH → 动态定位
· OFFSET + COUNTA → 自动扩展区域
· OFFSET + SUM → 近N天求和
23. ADDRESS / ROW / COLUMN 地址与行列
ADDRESS(行号,列号) 返回“$A$1”样式的文本地址。
ROW() 返回当前行号,ROW(A5) 返回5。
COLUMN() 返回列号,COLUMN(B1) 返回2。
用法:
· =INDIRECT(ADDRESS(行,列)) 灵活组合
· =ROW(1:1) 下拉生成序号
· =COLUMN(A1) 右拉生成1,2,3…
24. CHOOSE 选择返回值
本质: 给一个序号,从后面一堆选项里挑第几个。
用法: =CHOOSE(序号,选项1,选项2,……)
· =CHOOSE(2,"甲","乙","丙") → 乙
· 与WEEKDAY搭配:=CHOOSE(WEEKDAY(日期,2),"一","二","三","四","五","六","日")
· CHOOSE + VLOOKUP 实现逆向查询区域交换
25. DATE / YEAR / MONTH / DAY 日期拆合
DATE(年,月,日) 合成日期。
YEAR / MONTH / DAY 拆出年月日。
用法:
· =DATE(2025,12,31) → 2025-12-31
· =YEAR(TODAY()) → 今年年份
· =DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)) → 下月同一天
组合:
· DATE + MID → 从身份证凑日期
· EOMONTH + DAY → 求当月天数
26. TODAY / NOW 自动时间
TODAY() → 今天日期(动态)
NOW() → 当前日期+时间。
用法: 计算工龄 =DATEDIF(入职,TODAY(),"Y")
注意: 每次重新计算公式都会刷新。
27. EOMONTH / EDATE 月末和月推移
EOMONTH(日期,月数) 返回当月/前后某月最后一天。
EDATE(日期,月数) 返回前后某月同一天。
用法:
· =EOMONTH(TODAY(),0) → 本月末
· =EOMONTH(TODAY(),-1)+1 → 本月初
· =EDATE(合同日,续签月数) → 合同到期日
28. NETWORKDAYS / WORKDAY 工作日
NETWORKDAYS(开始,结束,假期) → 两日期间工作日数。
WORKDAY(开始,天数,假期) → 往后推N个工作日是哪天。
用法: 请假扣薪计算、项目截止日期。
29. TEXT / VALUE 文本与数值互转
TEXT(数字,格式文本) → 把数字变成指定格式的文本。
VALUE(文本) → 把文本型数字转成数值。
用法:
· =TEXT(日期,"yyyy-mm-dd") 统一日期显示
· =TEXT(金额,"#,##0.00") 千分位两位小数
· =VALUE(LEFT(A1,2)) 提取的数字如果是文本,用VALUE转
30. UPPER / LOWER / PROPER 大小写
· UPPER 全部大写
· LOWER 全部小写
· PROPER 首字母大写
31. CONCAT / CONCATENATE 文本连接
CONCATENATE(文本1,文本2,…) 老函数,现在用 CONCAT 或 TEXTJOIN 更好。
=CONCAT(A1,B1) 直接拼接。
也可以用 & 运算符:=A1&B1&"元"。
32. REPLACE / SUBSTITUTE 替换
REPLACE(文本,起始位置,替换长度,新文本) → 指定位置替换。
SUBSTITUTE(文本,旧文本,新文本,第几个) → 指定内容替换。
用法:
· 手机号加星号:=REPLACE(A1,4,4,"****")
· 去掉“元”:=SUBSTITUTE(A1,"元","")
· 只替换第二个“-”:=SUBSTITUTE(A1,"-","/",2)
33. FIND / SEARCH 查找定位
FIND 区分大小写、不支持通配符。
SEARCH 不区分大小写、支持通配符。
用法: =FIND("@",邮箱) 配合LEFT取用户名。
34. ISNUMBER / ISTEXT / ISBLANK 类型判断
· =ISNUMBER(A1) 判断是否数字(日期也是数字)
· =ISTEXT(A1) 是否文本
· =ISBLANK(A1) 是否真空
组合屏蔽错误,如 =IF(ISNUMBER(MATCH(…)),"找到","未找到")。
35. IFERROR / IFNA 错误处理
IFERROR 捕获所有错误,IFNA 只捕获#N/A。
用法: =IFERROR(VLOOKUP(...),"无此记录")
当只想处理查不到,不想掩盖除零等错误时用IFNA。
---
36. AND / OR / NOT 逻辑运算
AND 全真才真,OR 有真即真,NOT 取反。
常嵌套在IF里。
---
37. SWITCH 多值匹配
本质: 给一个表达式,列出多个匹配值和结果,不用多层IF。
用法: =SWITCH(分数等级,"A","优秀","B","良好","C","及格","不及格")
比IFS在某些场景更清晰。
---
38. FILTER 动态筛选(Excel 365)
本质: 按条件筛出所有记录,自动溢出到相邻格。
用法:
· =FILTER(A2:C100, B2:B100="销售") → 返回销售部所有行
· =FILTER(A2:C100, (B2:B100="销售")*(C2:C100>10000)) 多条件
· =FILTER(A:A, A:A<>"") 剔除空行
和谁组合: 在外面套 SORT、UNIQUE。
39. SORT / SORTBY 动态排序
SORT(区域,排序列,升/降序)
SORTBY(区域,依据列1,升/降1,依据列2,升/降2...)
=SORT(FILTER(...),2,-1) 筛选后降序排。
40. UNIQUE 动态去重
用法: =UNIQUE(部门列) 返回唯一值列表;加上, , TRUE可判断只出现一次的值。
41. SEQUENCE 生成序列
SEQUENCE(行数,列数,起始值,步长)
=SEQUENCE(10) 得到1到10一列,用来搭建动态序号。
42. RANDARRAY 随机数组
=RANDARRAY(5,3,0,1) 生成5行3列的0到1随机数。和SORTBY一起用可随机抽奖。
43. XMATCH 升级版MATCH
可从上/下搜,支持通配符,自带容错。用法类似XLOOKUP的查找位置功能。
44. LET 定义变量
本质: 给计算结果起名字,公式里重复用时不用再算一遍。
用法: =LET(销售额,SUM(B2:B100),奖金比例,0.05,销售额*奖金比例)
清晰提速。
45. LAMBDA 自定义函数
在名称管理器中定义:=LAMBDA(参数,计算式),之后可以像普通函数一样用。