一、 基础信息与逻辑判断
这类公式用于获取信息或进行条件判断,是构建复杂公式的基础。
公式 | 说明 | 示例 |
---|---|---|
=NOW() |
获取当前系统的日期和时间 | =NOW() → 2023-10-27 15:30 |
=TODAY() |
获取当前系统的日期 | =TODAY() → 2023-10-27 |
=CELL("filename") |
获取当前工作簿、工作表路径和名称 | 需要结合其他函数提取特定部分 |
=IF(逻辑判断, 真时返回值, 假时返回值) |
核心函数:根据条件返回不同的值 | =IF(A2>60, "及格", "不及格") |
=IFS(条件1, 值1, 条件2, 值2...) |
检查多个条件(Excel 2019+) | =IFS(A1>90, "优", A1>80, "良", TRUE, "中") |
=IFERROR(值, 错误时返回值) |
极其重要:捕获错误并返回自定义值 | =IFERROR(A2/B2, 0) 避免 #DIV/0! 错误 |
=ISNUMBER(值) |
判断是否为数字 | =ISNUMBER(A1) → TRUE / FALSE |
=ISTEXT(值) |
判断是否为文本 | =ISTEXT(A1) → TRUE / FALSE |
=ISBLANK(值) |
判断是否为空单元格 | =ISBLANK(A1) → TRUE / FALSE |
二、 文本处理函数
用于处理、提取、连接和转换文本字符串。
公式 | 说明 | 示例 |
---|---|---|
=LEFT(文本, 字符数) |
从文本左侧提取指定数量的字符 | =LEFT("Hello World", 5) → "Hello" |
=RIGHT(文本, 字符数) |
从文本右侧提取指定数量的字符 | =RIGHT("Hello World", 5) → "World" |
=MID(文本, 开始位置, 字符数) |
从文本中间指定位置提取字符 | =MID("Hello World", 7, 5) → "World" |
=FIND(要查找的文本, 源文本, [开始位置]) |
查找文本在另一文本中的位置(区分大小写) | =FIND("W", "Hello World") → 7 |
=SEARCH(要查找的文本, 源文本, [开始位置]) |
查找文本在另一文本中的位置(不区分大小写) | =SEARCH("w", "Hello World") → 7 |
=LEN(文本) |
返回文本字符串的字符个数 | =LEN("Hello") → 5 |
=TRIM(文本) |
常用:删除文本中多余的空格(首尾、单词间多个空格保留一个) | =TRIM(" Hello World ") → "Hello World" |
=CONCAT(文本1, 文本2, ...) / & |
连接多个文本字符串 | =CONCAT(A2, " ", B2) 或 =A2 & " " & B2 |
=TEXT(值, 格式代码) |
将数值转换为按指定格式显示的文本 | =TEXT(1234.567, "¥#,##0.00") → "¥1,234.57" |
=TEXTJOIN(分隔符, 是否忽略空值, 文本1, 文本2...) |
用分隔符连接区域或列表中的文本(Excel 2016+) | =TEXTJOIN(", ", TRUE, A2:A10) |
三、 数学与统计函数
用于数学计算和数据分析。
公式 | 说明 | 示例 |
---|---|---|
=SUM(数字1, [数字2], ...) |
求和 | =SUM(A2:A10) |
=SUMIF(条件区域, 条件, [求和区域]) |
单条件求和 | =SUMIF(B2:B10, "苹果", C2:C10) 求所有"苹果"的销售额 |
=SUMIFS(求和区域, 条件区域1, 条件1, 条件区域2, 条件2...) |
多条件求和 | =SUMIFS(C2:C10, B2:B10, "苹果", A2:A10, ">=2023-10-01") |
=AVERAGE(数字1, [数字2], ...) |
求平均值 | =AVERAGE(A2:A10) |
=AVERAGEIF(条件区域, 条件, [求平均区域]) |
单条件求平均 | =AVERAGEIF(B2:B10, "苹果", C2:C10) |
=COUNT(值1, [值2], ...) |
计算包含数字的单元格个数 | =COUNT(A2:A10) |
=COUNTA(值1, [值2], ...) |
计算非空单元格的个数 | =COUNTA(A2:A10) |
=COUNTIF(区域, 条件) |
单条件计数 | =COUNTIF(B2:B10, "苹果") 统计"苹果"出现的次数 |
=COUNTIFS(条件区域1, 条件1, 条件区域2, 条件2...) |
多条件计数 | =COUNTIFS(B2:B10, "苹果", C2:C10, ">100") |
=MAX(数字1, [数字2], ...) |
求最大值 | =MAX(A2:A10) |
=MIN(数字1, [数字2], ...) |
求最小值 | =MIN(A2:A10) |
=RANK(数值, 数值区域, [排序方式]) |
返回某数字在一列数字中的排位 | =RANK(A2, $A$2:$A$10, 0) 降序排位 |
=SUBTOTAL(功能代码, 区域1, [区域2]...) |
返回分类汇总,可忽略被筛选隐藏的行 | =SUBTOTAL(9, A2:A10) 对可见单元格求和(9代表SUM) |
=ROUND(数字, 小数位数) |
将数字四舍五入到指定的小数位数 | =ROUND(2.678, 2) → 2.68 |
=ROUNDUP(数字, 小数位数) |
向上舍入数字 | =ROUNDUP(2.111, 2) → 2.12 |
=ROUNDDOWN(数字, 小数位数) |
向下舍入数字 | =ROUNDDOWN(2.999, 2) → 2.99 |
=MOD(被除数, 除数) |
返回两数相除的余数 | =MOD(5, 2) → 1 |
四、 查找与引用函数
用于在数据表中查找和引用特定值,是数据分析的核心。
公式 | 说明 | 示例 |
---|---|---|
=VLOOKUP(查找值, 数据表, 列序号, [匹配模式]) |
最常用:垂直查找。按行查找表中最右侧列的值 | =VLOOKUP("苹果", A2:C10, 3, FALSE) 精确查找"苹果"并返回第3列的值 |
=XLOOKUP(查找值, 查找数组, 返回数组, [未找到值], [匹配模式]) |
VLOOKUP的现代替代品,更强大灵活(Office 365) | =XLOOKUP("苹果", A2:A10, C2:C10, "未找到", 0) |
=INDEX(区域, 行号, [列号]) |
返回表或区域中指定行列交叉的值 | =INDEX(A2:C10, 3, 2) 返回区域中第3行第2列的值 |
=MATCH(查找值, 查找区域, [匹配类型]) |
返回查找值在区域中的相对位置,常与INDEX组合使用 | =MATCH("苹果", A2:A10, 0) 返回"苹果"在A2:A10中的行号 |
=INDEX(区域, MATCH(查找值, 查找列, 0), MATCH(查找标题, 标题行, 0)) |
INDEX+MATCH双雄合璧,实现双向查找(行和列) | =INDEX(B2:D10, MATCH("苹果", A2:A10, 0), MATCH("销量", B1:D1, 0)) |
=INDIRECT(文本形式的单元格引用) |
返回由文本字符串指定的引用 | =INDIRECT("A" & 1) → =A1 |
=OFFSET(参考单元格, 偏移行数, 偏移列数, [高度], [宽度]) |
根据给定的偏移量返回引用 | =SUM(OFFSET(A1, 1, 0, 5, 1)) 求A2:A6的和 |
五、 日期与时间函数
用于处理日期和时间计算。
公式 | 说明 | 示例 |
---|---|---|
=YEAR(日期) |
提取日期中的年份 | =YEAR("2023-10-27") → 2023 |
=MONTH(日期) |
提取日期中的月份 | =MONTH("2023-10-27") → 10 |
=DAY(日期) |
提取日期中的天数 | =DAY("2023-10-27") → 27 |
=DATE(年, 月, 日) |
将年、月、日组合成一个日期 | =DATE(2023, 10, 27) → 2023-10-27 |
=DATEDIF(开始日期, 结束日期, 单位) |
隐藏函数:计算两个日期之间的差值("Y"年, "M"月, "D"日) | =DATEDIF(A2, B2, "Y") 计算年龄(整年) |
=EDATE(开始日期, 月数) |
返回指定月数之前或之后的日期 | =EDATE("2023-10-27", 3) → 2024-01-27 |
=WORKDAY(开始日期, 天数, [假期]) |
返回指定工作日天数之前或之后的日期 | =WORKDAY(TODAY(), 10) 返回10个工作日后的日期 |
=NETWORKDAYS(开始日期, 结束日期, [假期]) |
返回两个日期之间的工作日天数 | =NETWORKDAYS("2023-10-01", "2023-10-31") |
六、 动态数组函数(Office 365)
这些是现代Excel的利器,可以自动溢出结果,极大地简化了复杂操作。
公式 | 说明 | 示例 |
---|---|---|
=UNIQUE(区域) |
去重神器:提取区域中的唯一值列表 | =UNIQUE(A2:A100) |
=SORT(区域, [排序列], [排序顺序]) |
排序神器:对区域或数组进行排序 | =SORT(A2:C100, 2, -1) 按第2列降序排序 |
=FILTER(区域, 条件) |
筛选神器:根据条件筛选区域或数组 | =FILTER(A2:C100, B2:B100="苹果") |
=SEQUENCE(行数, [列数], [开始值], [步长]) |
生成一个数字序列 | =SEQUENCE(5) → {1;2;3;4;5} |
使用建议
- F9键:在编辑栏选中公式的一部分,按F9可以调试计算该部分的结果,按Esc退出。
- 绝对引用 (
$
) 与相对引用 :使用$A$1
锁定行列,使用$A1
锁定列,使用A$1
锁定行。在拖拽填充公式时至关重要。 - 名称管理器 :为常用的单元格区域定义名称,可以让公式更易读(如
=SUM(销售额)
)。 - 公式求值:在"公式"选项卡下使用"公式求值"功能,可以一步步查看公式的计算过程,用于排查复杂公式的错误。