【数据分析】Excel中的常用函数公式总结

目录

  • [0 引用方式](#0 引用方式)
    • [0.1 相对引用](#0.1 相对引用)
    • [0.2 绝对引用](#0.2 绝对引用)
    • [0.3 混合引用](#0.3 混合引用)
    • [0.4 3D引用](#0.4 3D引用)
    • [0.5 命名引用](#0.5 命名引用)
  • [1 基础函数](#1 基础函数)
    • [1.1 加法、减法、乘法和除法](#1.1 加法、减法、乘法和除法)
    • [1.2 平均数](#1.2 平均数)
    • [1.3 求和](#1.3 求和)
    • [1.4 最大值和最小值](#1.4 最大值和最小值)
  • [2 文本函数](#2 文本函数)
    • [2.1 合并单元格内容](#2.1 合并单元格内容)
    • [2.2 查找](#2.2 查找)
    • [2.3 替换](#2.3 替换)
  • [3 逻辑函数](#3 逻辑函数)
    • [3.1 IF函数](#3.1 IF函数)
    • [3.2 AND和OR函数](#3.2 AND和OR函数)
    • [3.3 IFERROR函数](#3.3 IFERROR函数)
  • [4 统计函数](#4 统计函数)
    • [4.1 COUNT函数](#4.1 COUNT函数)
    • [4.2 COUNTIF函数](#4.2 COUNTIF函数)
    • [4.3 SUMIF函数](#4.3 SUMIF函数)
    • [4.4 SUBTOTAL函数](#4.4 SUBTOTAL函数)
  • [5 时间和日期函数](#5 时间和日期函数)
    • [5.1 TODAY和NOW函数](#5.1 TODAY和NOW函数)
    • [5.2 DATEDIF函数](#5.2 DATEDIF函数)
  • [6 高级数学和三角函数](#6 高级数学和三角函数)
    • [6.1 POWER函数](#6.1 POWER函数)
    • [6.2 SQRT函数](#6.2 SQRT函数)
    • [6.3 SIN、COS和TAN函数](#6.3 SIN、COS和TAN函数)
  • [7 数据筛选和查找](#7 数据筛选和查找)
    • [7.1 VLOOKUP函数](#7.1 VLOOKUP函数)
    • [7.2 HLOOKUP函数](#7.2 HLOOKUP函数)
    • [7.3 INDEX和MATCH函数](#7.3 INDEX和MATCH函数)
  • [8 函数计算错误](#8 函数计算错误)
    • [8.1 #DIV/0! - 除零错误](#DIV/0! - 除零错误)
    • [8.2 #VALUE! - 类型不匹配或无效的参数](#VALUE! - 类型不匹配或无效的参数)
    • [8.3 #NAME? - 未识别的函数或公式名](#NAME? - 未识别的函数或公式名)
    • [8.4 #REF! - 无效的引用](#REF! - 无效的引用)
    • [8.5 #NUM! - 数值错误](#NUM! - 数值错误)

0 引用方式

0.1 相对引用

相对引用是Excel中最基本的引用方式之一。当公式中引用了单元格时,公式会根据相对位置自动调整引用。例如,如果你在单元格B2中输入公式=A1,那么当你复制这个公式到B3时,公式会自动调整为=A2,保持相对位置的关系。

excel 复制代码
A1: 10
B2: =A1    // 结果为10
B3: =A2    // 结果为10(相对引用自动调整)

0.2 绝对引用

绝对引用是一种在复制公式时保持引用不变的方法。在Excel中,使用$符号来创建绝对引用。例如,=A1会始终引用第一行的A列,无论公式被复制到哪里。

复制代码
A1: 10
B2: =$A$1   // 结果为10
C2: =$A$1   // 结果为10(绝对引用不变)

0.3 混合引用

混合引用是相对引用和绝对引用的结合。可以将$符号放在行或列的其中一个,使其保持不变。例如,= $A1将保持列A不变,但是行数会随着复制而改变。

复制代码
A1: 10
B2: =$A1   // 结果为10
B3: =$A2   // 结果为10(列A不变,行数相对引用)

0.4 3D引用

3D引用能够引用多个工作表中的单元格。语法为Sheet1:Sheet3!A1,表示引用从Sheet1到Sheet3的A1单元格。这在处理多个相关工作表时非常有用。

复制代码
Sheet1: A1: 10
Sheet2: A1: 20
Sheet3: A1: 30

Summary Sheet: B1: =SUM(Sheet1:Sheet3!A1)   // 结果为60 (10 + 20 + 30)

0.5 命名引用

命名引用是一种给单元格或单元格范围分配易记名称的方式。通过"公式"选项卡中的"定义名称"功能,可以为单元格或范围分配一个名称,然后在公式中使用该名称引用。

复制代码
A1: 10

定义名称 MyValue 为 =Sheet1!$A$1

B2: =MyValue   // 结果为10

1 基础函数

1.1 加法、减法、乘法和除法

加法:C1=A1+B1

减法:C1=A1-B1

乘法:C1=A1*B1

除法:C1=A1/B1

1.2 平均数

计算一组数字的平均值:

java 复制代码
B1=AVERAGE(A1:A10)

1.3 求和

计算一组数字的总和:

java 复制代码
B1=SUM(A1:A10)

1.4 最大值和最小值

最大值:

java 复制代码
B1=MAX(A1:A10)

最小值:

java 复制代码
B1=MIN(A1:A10)

2 文本函数

2.1 合并单元格内容

合并A1和B1单元格的内容:C1=A1&B1

2.2 查找

在文本中查找特定字符串,并返回所查找关键词(第一个文本字符串)在第二个文本字符串的下标位置(从1开始):

java 复制代码
C1=SEARCH("关键词", A1)

2.3 替换

替换文本中的特定字符串:

java 复制代码
C1=SUBSTITUTE(A1, "旧值", "新值")

3 逻辑函数

3.1 IF函数

基本的IF语句,根据条件表达式的值(IF括号中第一个值)返回结果,若条件为真,返回IF括号中的第二个值,否则返回第三个值:

java 复制代码
A2=IF(A1>10, "大于10", "小于等于10")

3.2 AND和OR函数

AND函数:如果其所有参数均为 TRUE,则返回 TRUE:

java 复制代码
C1=AND(A1>10, B1<20)

OR函数:如果任一参数为 TRUE,则返回 TRUE:

java 复制代码
C1=OR(A1>10, B1<20)

3.3 IFERROR函数

如果公式的计算结果错误,则返回指定的值;否则返回公式的结果。

java 复制代码
C1=IFERROR(A1/B1, "除数不能为零")

4 统计函数

4.1 COUNT函数

计算参数列表中数字的数量:

java 复制代码
B1=COUNT(A1:A10)

4.2 COUNTIF函数

根据条件计算符合条件的数字的数量:

java 复制代码
B1=COUNTIF(A1:A10, ">10")

4.3 SUMIF函数

根据条件计算符合条件的数字的总和:

java 复制代码
B1=SUMIF(A1:A10, ">10")

4.4 SUBTOTAL函数

对数据进行分类汇总,使用方法:

java 复制代码
SUBTOTAL(function_num,ref1,[ref2],...)

其中,function_num是函数指定的参数,不同数值对应不同的具体函数:

function_num(包含隐藏值) function_num(忽略隐藏值) 函数 含义
1 101 AVERAGE 求平均
2 102 COUNT 求数字的数量
3 103 COUNTA 求不为空的单元格的个数
4 104 MAX 求最大值
5 105 MIN 求最小值
6 106 PRODUCT 求参数中数字的乘积
7 107 STDEV 求样本标准差
8 108 STDEVP 求总体标准差
9 109 SUM 求和
10 110 VAR 求样本方差
11 111 VARP 求总体方差

注:

  • STDEV的计算方法是将样本的平均数的方差进行开平方得出的。
    STDEV = ∑ ( X i − X ˉ ) 2 n − 1 \text{STDEV} = \sqrt{\frac{\sum{(X_i - \bar{X})^2}}{n-1}} STDEV=n−1∑(Xi−Xˉ)2
    • X i X_i Xi代表数据集中的每个数据点。
    • X ˉ \bar{X} Xˉ 代表数据集的平均值。
    • n n n代表数据点的数量。
  • STDEVP的计算方法是先求一组资料中各数值与其算术平均数离差平方和的平均数,然后取其平方根。
    STDEVP = ∑ ( X i − X ˉ ) 2 n \text{STDEVP} = \sqrt{\frac{\sum{(X_i - \bar{X})^2}}{n}} STDEVP=n∑(Xi−Xˉ)2
  • VAR的计算方法是:
    VAR = ∑ ( X i − X ˉ ) 2 n − 1 \text{VAR} = \frac{\sum{(X_i - \bar{X})^2}}{n-1} VAR=n−1∑(Xi−Xˉ)2
  • VARP的计算方法是:
    VARP = ∑ ( X i − X ˉ ) 2 n \text{VARP} = \frac{\sum{(X_i - \bar{X})^2}}{n} VARP=n∑(Xi−Xˉ)2

5 时间和日期函数

5.1 TODAY和NOW函数

返回当前日期:

java 复制代码
A1=TODAY()

返回当前日期和时间:

java 复制代码
A1=NOW()

5.2 DATEDIF函数

计算两个日期之间相隔的天数、月数或年数,用于计算年龄很有用:

java 复制代码
C1=DATEDIF(A1, B1, "D") //返回A1日期和B1日期之间相隔的天数

其中,第三个参数Unit即指定计算相隔的是天数、月数或年数等,具体如下:

Unit 返回结果
"Y" 一段时期内的整年数
"M" 一段时期内的整月数
"D" 一段时期内的整天数
"MD" 开始日期和结束日期的天数之差,忽略日期中的月份和年份
"YM" 开始日期和结束日期的月份之差, 忽略日期中的天和年份
"YD" 开始日期和结束日期的日期部分之差, 忽略日期中的年份

注:第二个日期参数需在第一个日期参数之前,否则结果将为#NUM!。

6 高级数学和三角函数

6.1 POWER函数

计算一个数的指数:

java 复制代码
B1=POWER(A1, 2) //返回A1中数的平方

6.2 SQRT函数

计算平方根:

java 复制代码
B1=SQRT(A1) //返回根号A1中的数

6.3 SIN、COS和TAN函数

计算角度的正弦值:

java 复制代码
B1=SIN(A1)

计算角度的余弦值:

java 复制代码
B1=COS(A1)

计算角度的正切值:

java 复制代码
B1=TAN(A1)

7 数据筛选和查找

7.1 VLOOKUP函数

基于某个键值在表格中按行查找数据:

VLOOKUP函数参数如下:

java 复制代码
VLOOKUP(要查找的内容,要查找的内容所在范围,包含要返回的值的范围内的列号,近似(TRUE)或精确匹配(FALSE))
java 复制代码
C1=VLOOKUP(A1, B1:D10, 2, FALSE)

注:当存在多条满足条件的记录时,只能返回第1个满足条件的记录。

7.2 HLOOKUP函数

基于某个键值在表格中按列查找数据,类似于VLOOKUP,HLOOKUP函数参数如下:

java 复制代码
HLOOKUP(要查找的内容,要查找的内容所在范围,包含要返回的值的范围内的行号,近似(TRUE)或精确匹配(FALSE))
java 复制代码
C1=HLOOKUP(A1, B1:D10, 2, FALSE)

注:当存在多条满足条件的记录时,只能返回第1个满足条件的记录。

7.3 INDEX和MATCH函数

结合使用INDEX和MATCH进行更灵活的查找:

java 复制代码
C1=INDEX(B1:D10, MATCH(A1, A1:A10, 0), 2)

其中,INDEX 函数返回表格或区域中的值或值的引用,MATCH 函数在引用或数组中查找值并返回该值在所查找范围中的相对位置。

8 函数计算错误

Excel中如果遇到函数计算错误,可能有以下几种情况。

8.1 #DIV/0! - 除零错误

这个错误表示一个公式尝试除以零。

java 复制代码
A1: 10
B1: 0
C1: =A1/B1   // #DIV/0!

解决方法: 在除数前加入条件判断,确保除数不为零。

java 复制代码
C1: =IF(B1<>0, A1/B1, "N/A")

8.2 #VALUE! - 类型不匹配或无效的参数

这个错误表示公式中使用了无效或不匹配的数据类型。

java 复制代码
A1: "ABC"
B1: =A1+1   // #VALUE!

解决方法: 确保公式中使用的参数类型匹配,或使用适当的函数进行类型转换。

java 复制代码
B1: =VALUE(A1)+1   // 结果为 101

8.3 #NAME? - 未识别的函数或公式名

这个错误表示Excel无法识别使用的函数或公式名称。

java 复制代码
A1: 10
B1: =SUMM(A1)   // #NAME?

解决方法:检查拼写错误,确保使用的是正确的函数或公式名称。

java 复制代码
B1: =SUM(A1)   // 结果为 10

8.4 #REF! - 无效的引用

这个错误表示公式引用了不存在的单元格或范围。

java 复制代码
A1: 10
B1: =A1+C1   // #REF!

解决方法: 确保公式引用的单元格或范围存在,并且没有被删除。

java 复制代码
B1: =A1   // 结果为 10

8.5 #NUM! - 数值错误

这个错误表示公式包含了一个数学错误,例如负数的平方根。

java 复制代码
A1: -1
B1: =SQRT(A1)   // #NUM!

解决方法: 检查公式中的数学运算,确保不包含无法计算的数学操作。

java 复制代码
B1: =SQRT(ABS(A1))   // 结果为 1
相关推荐
陈老老老板1 小时前
2026企业数据采集选型指南,主流采集 API 与全托管平台深度对比
ai·数据分析
CC数分1 小时前
2026年HRBP岗位硬性要求和加分项
面试·职场和发展·数据分析
2601_962680221 小时前
数据分析面试常考的SQL题和业务题分别是哪几类?
sql·面试·数据分析
用户0332126663672 小时前
使用 Python 设置 Excel 行列自适应 【代码示例】
python·excel
企业数字化笔记3 小时前
固定资产Excel批量导入怎么防重复?资产编码、重复检查和错误回执
java·后端·excel
CC数分3 小时前
2026年金融数据分析岗位需要哪些工具?2027届秋招备考指南
面试·数据分析
computersciencer3 小时前
事件的六种关系之包含关系
程序人生·数学建模·数据分析·概率论
夜雪一千4 小时前
如何使用Python做舆情分析
人工智能·python·数据分析
Mr数据杨4 小时前
二手车价格预测实战解析 从 Kaggle 回归赛题到可落地估价方案
人工智能·数据分析·kaggle竞赛
databook5 小时前
Python 常用统计图表实战指南
python·数据分析·数据可视化