【数据分析】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中,使用$符号来创建绝对引用。例如,=$A$1会始终引用第一行的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
相关推荐
冰淇淋烤布蕾4 分钟前
EasyExcel使用
java·开发语言·excel
Leo.yuan5 分钟前
数据量大Excel卡顿严重?选对报表工具提高10倍效率
数据库·数据分析·数据可视化·powerbi
图片转成excel表格1 小时前
Excel中怎么提取超出部分数值,比如5w是目标,超出100%和120%的值怎么用公式提取?
excel
海边散步的蜗牛5 小时前
学术论文写作丨机器学习与深度学习
人工智能·深度学习·机器学习·chatgpt·数据分析·ai写作
周末zm7 小时前
golang将word、excel转换为pdf
pdf·word·excel
数模竞赛Paid answer7 小时前
2023年MathorCup数学建模A题量子计算机在信用评分卡组合优化中的应用解题全过程文档加程序
数学建模·数据分析·mathorcup
孟秋与你8 小时前
【excel】easy excel如何导出动态列
java·excel
爱睡觉的咋8 小时前
GNN入门案例——KarateClub结点分类
人工智能·分类·数据挖掘·图神经网络
康谋自动驾驶8 小时前
康谋分享 | 确保AD/ADAS系统的安全:避免数据泛滥的关键
数据分析·自动驾驶·汽车
Say Bay To The Bugs10 小时前
EasyExcel 使用多线程按顺序导出数据
开发语言·excel