第四章:公式函数
4.1 公式基础
公式是Excel的核心功能,让我们能够进行各种计算和数据分析。
公式的基本结构
Excel公式总是以等号(=)开头,包含以下元素:
- 运算符:+、-、*、/、^ 等
- 单元格引用:A1、B2、C1:C10 等
- 数值:123、45.67 等
- 函数:SUM、AVERAGE、IF 等
- 常量:文本用双引号括起来,如"总计"
输入公式
- 选中要输入公式的单元格
- 输入等号(=)开始公式
- 输入公式内容
- 按Enter完成输入
基本运算符
+(加法):=A1+B1
-(减法):=A1-B1
*(乘法):=A1*10%
/(除法):=A1/B1
^(乘方):=A1^2
%(百分比):=50%
&(连接):="总计:"&A1
-(减法):=A1-B1
*(乘法):=A1*10%
/(除法):=A1/B1
^(乘方):=A1^2
%(百分比):=50%
&(连接):="总计:"&A1
运算符优先级
Excel按照以下顺序执行运算:
- 括号(()
- 引用运算符(: , 空格)
- 负数(-)
- 百分比(%)
- 乘方(^)
- 乘除(* /)
- 加减(+ -)
- 连接(&)
- 比较(= < > <= >= <>)
注意:运算符优先级相同的情况下,从左到右计算。使用括号可以改变运算顺序。
4.2 单元格引用
理解不同类型的单元格引用对编写正确公式至关重要。
相对引用
默认的引用方式,复制公式时会自动调整引用位置。
在C1中输入:=A1+B1
复制到C2,会变为:=A2+B2
复制到C2,会变为:=A2+B2
绝对引用
使用$符号固定行或列,复制时不会改变。
在C1中输入:=$A$1+B1
复制到C2,会变为:=$A$1+B2
复制到C2,会变为:=$A$1+B2
混合引用
部分使用绝对引用,部分使用相对引用。
$A1:固定列A,行相对变化
A$1:固定行1,列相对变化
A$1:固定行1,列相对变化
引用快捷键
选中引用后按F4键,可以在不同引用类型间切换:
- A1 → $A$1(完全绝对引用)
- $A$1 → A$1(混合引用,固定行)
- A$1 → $A1(混合引用,固定列)
- $A1 → A1(相对引用)
小技巧:在编辑公式时,点击引用区域可以自动选择该区域。
4.3 常用函数
Excel提供了数百个内置函数,以下是日常工作最常用的函数。
数学函数
SUM(range):求和
AVERAGE(range):平均值
MAX(range):最大值
MIN(range):最小值
COUNT(range):计数数字
COUNTA(range):计数非空单元格
ROUND(number, digits):四舍五入
INT(number):向下取整
MOD(number, divisor):求余数
AVERAGE(range):平均值
MAX(range):最大值
MIN(range):最小值
COUNT(range):计数数字
COUNTA(range):计数非空单元格
ROUND(number, digits):四舍五入
INT(number):向下取整
MOD(number, divisor):求余数
文本函数
LEFT(text, [num_chars]):从左提取字符
RIGHT(text, [num_chars]):从右提取字符
MID(text, start_num, num_chars):从中间提取字符
LEN(text):计算文本长度
CONCAT(text1, text2, ...):连接文本
TRIM(text):删除多余空格
UPPER(text):转换为大写
LOWER(text):转换为小写
PROPER(text):首字母大写
RIGHT(text, [num_chars]):从右提取字符
MID(text, start_num, num_chars):从中间提取字符
LEN(text):计算文本长度
CONCAT(text1, text2, ...):连接文本
TRIM(text):删除多余空格
UPPER(text):转换为大写
LOWER(text):转换为小写
PROPER(text):首字母大写
日期函数
TODAY():当前日期
NOW():当前日期和时间
DATE(year, month, day):创建日期
DATEDIF(start_date, end_date, unit):计算日期差
EOMONTH(start_date, months):月末日期
WORKDAY(start_date, days):工作日
NOW():当前日期和时间
DATE(year, month, day):创建日期
DATEDIF(start_date, end_date, unit):计算日期差
EOMONTH(start_date, months):月末日期
WORKDAY(start_date, days):工作日
查找函数
VLOOKUP(lookup_value, table_array, col_index, [range_lookup]):垂直查找
HLOOKUP(lookup_value, table_array, row_index, [range_lookup]):水平查找
INDEX(array, row_num, [col_num]):返回指定位置的值
MATCH(lookup_value, lookup_array, [match_type]):查找位置
HLOOKUP(lookup_value, table_array, row_index, [range_lookup]):水平查找
INDEX(array, row_num, [col_num]):返回指定位置的值
MATCH(lookup_value, lookup_array, [match_type]):查找位置
4.4 逻辑函数
逻辑函数用于进行条件判断,是数据分析的重要工具。
IF函数
根据条件返回不同值:
=IF(A1>60, "及格", "不及格")
=IF(AND(A1>60, B1>60), "双及格", "不及格")
=IF(OR(A1>60, B1>60), "单科及格", "都不及格")
=IF(AND(A1>60, B1>60), "双及格", "不及格")
=IF(OR(A1>60, B1>60), "单科及格", "都不及格")
AND函数
所有条件都为TRUE时返回TRUE:
=AND(A1>60, B1>60)
=AND(A1>0, A1<100)
=AND(A1>0, A1<100)
OR函数
任一条件为TRUE时返回TRUE:
=OR(A1>60, B1>60)
=OR(A1="优秀", A1="良好")
=OR(A1="优秀", A1="良好")
NOT函数
取反逻辑:
=NOT(A1=0)
=NOT(OR(A1>60, B1>60))
=NOT(OR(A1>60, B1>60))
嵌套IF
IF函数可以嵌套使用进行多重判断:
=IF(A1>=90, "优秀", IF(A1>=80, "良好", IF(A1>=60, "及格", "不及格")))
注意:Excel支持最多64层IF嵌套,但建议使用其他函数简化复杂逻辑。
4.5 IF函数替代方案
Excel引入了更简洁的IF函数替代方案,让逻辑判断更易读。
IFS函数
替代多层IF嵌套:
=IFS(A1>=90, "优秀", A1>=80, "良好", A1>=60, "及格", TRUE, "不及格")
SWITCH函数
根据值返回不同结果:
=SWITCH(A1, "A", "优秀", "B", "良好", "C", "及格", "不及格")
4.6 统计函数
统计函数用于数据分析和计算。
COUNT(range):计数数字
COUNTA(range):计数非空单元格
COUNTBLANK(range):计数空单元格
COUNTIF(range, criteria):条件计数
COUNTIFS(range1, criteria1, [range2, criteria2], ...):多条件计数
SUMIF(range, criteria, [sum_range]):条件求和
SUMIFS(sum_range, range1, criteria1, [range2, criteria2], ...):多条件求和
AVERAGEIF(range, criteria, [average_range]):条件平均
AVERAGEIFS(average_range, range1, criteria1, [range2, criteria2], ...):多条件平均
COUNTA(range):计数非空单元格
COUNTBLANK(range):计数空单元格
COUNTIF(range, criteria):条件计数
COUNTIFS(range1, criteria1, [range2, criteria2], ...):多条件计数
SUMIF(range, criteria, [sum_range]):条件求和
SUMIFS(sum_range, range1, criteria1, [range2, criteria2], ...):多条件求和
AVERAGEIF(range, criteria, [average_range]):条件平均
AVERAGEIFS(average_range, range1, criteria1, [range2, criteria2], ...):多条件平均
SUMIFS示例
=SUMIFS(C:C, A:A, "销售部", B:B, ">1000")
计算A列为"销售部"且B列大于1000的C列总和
计算A列为"销售部"且B列大于1000的C列总和
4.7 文本连接函数
Excel 2026提供了多种文本连接方法。
CONCAT函数
连接多个文本字符串:
=CONCAT(A1, " ", B1)
=CONCAT("姓名:", A1, " 部门:", B1)
=CONCAT("姓名:", A1, " 部门:", B1)
TEXTJOIN函数
用分隔符连接多个文本:
=TEXTJOIN("、", TRUE, A1:A5)
用顿号连接A1到A5的文本,忽略空值
用顿号连接A1到A5的文本,忽略空值
4.8 数组公式
Excel的数组公式功能得到显著增强。
动态数组函数
Excel支持多种动态数组函数:
UNIQUE(array):返回唯一值
SORT(array, [sort_index], [sort_order]):排序
FILTER(array, include, [if_empty]):筛选
SORTBY(array, by_array1, [sort_order1], ...):按多列排序
RANDARRAY([rows], [columns], [min], [max], [integer]):生成随机数
SEQUENCE(rows, [columns], [start], [step]):生成序列
XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]):增强查找
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode]):增强匹配
SORT(array, [sort_index], [sort_order]):排序
FILTER(array, include, [if_empty]):筛选
SORTBY(array, by_array1, [sort_order1], ...):按多列排序
RANDARRAY([rows], [columns], [min], [max], [integer]):生成随机数
SEQUENCE(rows, [columns], [start], [step]):生成序列
XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]):增强查找
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode]):增强匹配
UNIQUE函数示例
=UNIQUE(A1:A10)
返回A1到A10中的唯一值列表
返回A1到A10中的唯一值列表
FILTER函数示例
=FILTER(A1:B10, B1:B10>60)
返回B列大于60的所有行,包含A列和B列
返回B列大于60的所有行,包含A列和B列
4.9 错误处理
了解和处理常见的公式错误很重要。
常见错误类型
- #VALUE!:参数类型错误
- #DIV/0!:除以零
- #REF!:引用无效
- #NAME?:名称未定义
- #N/A:值不可用
- #NUM!:数值错误
- #NULL!:空交集
错误处理函数
IFERROR(value, value_if_error):处理所有错误
IFNA(value, value_if_na):只处理#N/A错误
ERROR.TYPE(error_val):返回错误类型编号
ISERROR(value):检查是否为错误
ISNA(value):检查是否为#N/A
IFNA(value, value_if_na):只处理#N/A错误
ERROR.TYPE(error_val):返回错误类型编号
ISERROR(value):检查是否为错误
ISNA(value):检查是否为#N/A
IFERROR示例
=IFERROR(VLOOKUP(A1, D:E, 2, FALSE), "未找到")
如果VLOOKUP返回错误,显示"未找到"
如果VLOOKUP返回错误,显示"未找到"
4.10 实践练习
让我们通过一个实际案例来练习公式和函数的使用:
- 创建一个销售数据表,包含:产品名称、数量、单价、折扣、金额
- 使用公式计算金额:金额 = 数量 * 单价 * (1-折扣)
- 使用SUM函数计算总金额
- 使用AVERAGE函数计算平均单价
- 使用IF函数判断销售状态:数量>10为"畅销",否则为"普通"
- 使用COUNTIF统计畅销产品数量
- 使用SUMIF计算畅销产品的总金额
- 使用VLOOKUP查找特定产品的信息
- 使用UNIQUE函数提取不重复的产品名称
- 使用FILTER函数筛选出金额大于1000的记录
4.11 AI辅助公式功能
Excel的AI辅助功能让公式编写更加智能。
智能公式建议
当开始输入函数时,Excel会根据上下文推荐合适的函数。
自然语言公式
可以用自然语言描述想要的计算,Excel自动生成公式:
- 输入:"计算A列的平均值"
- Excel生成:=AVERAGE(A:A)
公式解释
Excel可以解释复杂公式的含义,帮助理解公式逻辑。
4.12 本章小结
本章介绍了Excel的公式和函数功能,你现在应该能够:
- 创建和使用基本公式
- 理解并正确使用不同类型的单元格引用
- 熟练使用常用函数进行计算和数据分析
- 使用逻辑函数进行条件判断
- 运用动态数组函数进行高级数据处理
- 处理和调试公式错误
- 利用AI辅助功能提高公式编写效率
在下一章中,我们将学习如何创建专业的图表,让数据可视化更加直观和吸引人。