跳到内容
当前位置:首页>Excel>Excel 必学的8个核心函数

Excel 必学的8个核心函数

  • 2026-11-07 21:58:45

Excel 必学的 8 个核心函数:从入门到精通,一篇讲透!

导读:在日常办公中,你是否经常遇到这样的情况?

  • 想根据考试成绩自动判断是否及格,却要一个个手动检查。
  • 想从几千条员工信息中快速找到某个人的工资,却只能不停地翻找。
  • 想统计某个部门的销售额,却需要反复筛选、复制和计算。
  • 想根据商品编号自动返回商品名称和价格,却不知道该用什么公式。
  • 面对复杂的 Excel 表格,总觉得操作繁琐、效率太低。

其实,解决这些问题并不难。

只要掌握 Excel 中几个最常用的函数,就能让很多重复性的工作变得简单、高效。

今天,我们就系统学习 8 个非常实用的 Excel 函数:

IF、VLOOKUP、SUMIF、SUMIFS、INDEX、FIND、MATCH、CHOOSE。

从基本语法到实际案例,从单个函数到组合应用,带你一步步掌握这些函数的核心用法。

建议先收藏,再跟着实例动手练习!


一、IF 函数:让 Excel 自动判断

【配图建议:设计一张成绩表,展示分数达到 60 分显示“及格”,低于 60 分显示“不及格”。】

1. IF 函数有什么用?

IF 是 Excel 中最基础、最重要的逻辑判断函数之一。

它的作用是:

判断某个条件是否成立,如果成立,返回一种结果;如果不成立,返回另一种结果。

例如:

  • 成绩达到 60 分,显示“及格”;否则显示“不及格”。
  • 销售额达到目标,显示“达标”;否则显示“未达标”。
  • 库存数量低于 10,显示“需要补货”;否则显示“库存充足”。

只要涉及“如果……那么……否则……”这样的逻辑,就可以考虑使用 IF 函数。

2. 基本语法

=IF(logical_test,value_if_true,value_if_false)

三个参数分别表示:

参数
含义
示例
logical_test
需要判断的条件
A2>=60
value_if_true
条件成立时返回的结果
"及格"
value_if_false
条件不成立时返回的结果
"不及格"

3. 实例:自动判断考试成绩

假设 Excel 表格如下:

姓名
成绩
考试结果
张三
85
及格
李四
56
不及格
王五
72
及格
赵六
45
不及格

假设成绩在 B2 单元格,在 C2 中输入:

=IF(B2>=60,”及格”,”不及格”)

按 Enter 键后,Excel 就会自动判断成绩。

再将公式向下填充,其他学生的考试结果也会自动计算。

不用逐行检查,一张成绩表就能快速完成统计。

4. 进阶用法:多条件结果判断

如果成绩需要划分为优秀、良好、及格和不及格,可以使用嵌套 IF。

例如:

=IF(B2>=90,”优秀”,IF(B2>=80,”良好”,IF(B2>=60,”及格”,”不及格”)))

判断规则如下:

成绩范围
返回结果
90 分及以上
优秀
80~89 分
良好
60~79 分
及格
60 分以下
不及格

注意:Excel 会从左向右依次判断条件。前面的条件成立后,就会直接返回相应结果。

实用技巧:如果判断条件很多,也可以考虑使用 IFS 函数,或者通过查找表与近似匹配实现分级,避免嵌套 IF 过于复杂。

5. IF 函数常见的比较运算符

运算符
含义
示例
=
等于
A1=100
>
大于
A1>100
<
小于
A1<100
>=
大于或等于
A1>=60
<=
小于或等于
A1<=60
<>
不等于
A1<>0

记住一句话:IF 函数就是让 Excel 根据条件自动做出判断。


二、VLOOKUP 函数:快速查找数据

【配图建议:左侧展示商品编号,右侧展示商品名称和价格,中间用箭头连接,突出“输入编号,自动返回信息”。】

1. VLOOKUP 函数有什么用?

VLOOKUP 是 Excel 中非常经典的查找函数。

它可以根据一个已知条件,在数据表中查找对应的记录,并返回同一行中其他列的数据。

例如:

  • 根据员工编号查询员工姓名。
  • 根据商品编号查询商品价格。
  • 根据学生学号查询考试成绩。
  • 根据客户编号查询客户联系方式。

如果你经常需要从一张大表中查找信息,VLOOKUP 非常值得掌握。

2. 基本语法

=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])

参数解释:

参数
含义
lookup_value
要查找的值
table_array
查找的数据区域
col_index_num
返回结果位于数据区域的第几列
range_lookup
是否采用近似匹配

最后一个参数尤其重要:

  • FALSE 或 0:精确匹配。
  • TRUE 或 1:近似匹配,通常要求第一列按升序排列。

日常按编号、姓名等条件查找时,一般使用 FALSE。

3. 实例:根据商品编号查询价格

假设有以下商品表:

商品编号
商品名称
价格
P001
键盘
99
P002
鼠标
59
P003
显示器
899
P004
耳机
199

现在,我们希望输入商品编号,就能自动返回对应价格。

假设:

  • 商品编号位于 E2。
  • 商品数据区域为 A2:C5。
  • 查询结果显示在 F2。

在 F2 中输入:

=VLOOKUP(E2,$A$2:$C$5,3,FALSE)

如果 E2 输入 P003,结果就是:

899

为什么?

第一步:在 A2:C5 区域的第一列中查找 P003。

第二步:找到 P003 对应的那一行。

第三步:返回该区域的第 3 列,也就是价格。

第四步:使用 FALSE,要求精确匹配。

4. VLOOKUP 的三个重要限制

限制一:只能从查找区域的第一列查找

如果查找值不在所选区域的第一列中,VLOOKUP 就无法按照预期进行查找。

限制二:只能向右返回数据

例如,查找值位于 C 列,而要返回的数据位于 A 列,普通 VLOOKUP 无法直接完成这种反向查找。

限制三:插入列可能影响公式

VLOOKUP 通过数字指定返回第几列。

如果数据表发生结构变化,原来的列序号可能不再对应想要的字段。

5. 怎样让 VLOOKUP 更可靠?

日常使用时,建议注意以下几点:

  1. 精确查找时使用 FALSE。
  2. 使用 $A$2:$C$5 这样的绝对引用,避免复制公式时查找区域发生偏移。
  3. 检查查找值和数据表中的数据类型是否一致,例如数字与文本格式的编号可能无法匹配。
  4. 如果编号可能重复,要注意 VLOOKUP 通常返回第一个匹配结果。

实用技巧:如果你使用的是较新的 Excel,也可以学习 XLOOKUP。它能够进行反向查找,并且不需要手动指定返回列序号。


三、SUMIF 函数:按一个条件求和

【配图建议:展示销售明细表,将属于“华东地区”的销售额突出显示,最后汇总为一个总数。】

1. SUMIF 函数有什么用?

SUMIF 的作用是:

根据一个指定条件,筛选出符合条件的数据,并对相应数值进行求和。

例如:

  • 统计某个部门的销售额。
  • 统计某个员工的销售业绩。
  • 计算某种商品的销售总量。
  • 汇总某个地区的订单金额。

如果你经常使用 Excel 制作销售报表、财务报表或统计表,SUMIF 会非常实用。

2. 基本语法

=SUMIF(range,criteria,[sum_range])

参数解释:

参数
含义
range
用于判断条件的区域
criteria
需要满足的条件
sum_range
实际求和的区域

如果省略第三个参数,Excel 就会对第一个参数指定的区域进行求和。

3. 实例:统计某个员工的销售总额

假设销售记录如下:

员工
销售额
张三
1000
李四
1500
张三
2000
王五
800
张三
1200

现在要统计张三的销售总额。

在空白单元格中输入:

=SUMIF(A2:A6,”张三”,B2:B6)

计算结果:

4200

因为张三出现了三次,对应销售额分别为 1000、2000 和 1200。

所以:

1000 + 2000 + 1200 = 4200。

Excel 会自动找出符合条件的记录并求和。

4. 实例:统计销售额超过 1000 的金额

假设销售额位于 B2:B6。

输入:

=SUMIF(B2:B6,”>1000”)

这个公式会将所有大于 1000 的销售额相加。

注意,这里的求和区域和条件区域是同一个区域,因此可以省略第三个参数。

如果条件来自另一个单元格,例如 D2 中存放最低销售额,那么可以写成:

=SUMIF(B2:B6,”>”&D2)

这里的 & 用于将比较运算符和单元格中的值连接起来。

5. SUMIF 的常见条件写法

需求
公式示例
统计张三的销售额
=SUMIF(A2:A100,"张三",B2:B100)
统计大于 1000 的金额
=SUMIF(B2:B100,">1000")
统计不等于 0 的金额
=SUMIF(B2:B100,"<>0")
统计以“华”开头的地区
=SUMIF(A2:A100,"华*",B2:B100)
统计包含“科技”的名称
=SUMIF(A2:A100,"*科技*",B2:B100)

其中:

  • *
     代表任意数量的字符。
  • ?
     代表任意一个字符。

实用技巧:如果只需要根据一个条件进行求和,优先考虑 SUMIF。

如果需要同时满足多个条件,就可以使用下一个函数。


四、SUMIFS 函数:按多个条件求和

【配图建议:展示销售明细表,同时突出“华东地区”和“张三”两项条件,最终只汇总符合两项条件的销售额。】

1. SUMIFS 函数有什么用?

SUMIFS 是 SUMIF 的多条件版本。

它可以同时设置多个条件,只有满足所有指定条件的数据,才会被计入求和结果。

例如:

  • 统计某个地区、某个员工的销售额。
  • 统计某个部门在指定月份的费用。
  • 统计某种商品在指定日期范围内的销售金额。
  • 统计某个客户在某段时间内的订单总额。

在实际工作中,多条件统计十分常见,因此 SUMIFS 非常重要。

2. 基本语法

=SUMIFS(sum_range,criteria_range1,criteria1,[criteria_range2,criteria2],...)

注意:SUMIFS 与 SUMIF 的参数顺序不同。

参数
含义
sum_range
需要求和的区域
criteria_range1
第一个条件区域
criteria1
第一个条件
criteria_range2
第二个条件区域
criteria2
第二个条件

后面还可以继续添加更多条件区域和条件。

3. 实例:统计某地区某员工的销售额

假设有以下销售记录:

地区
员工
销售额
华东
张三
1000
华南
张三
1500
华东
李四
2000
华东
张三
1200
华南
李四
800

现在,我们想知道:

张三在华东地区的销售总额是多少?

输入公式:

=SUMIFS(C2:C6,A2:A6,”华东”,B2:B6,”张三”)

计算结果:

2200

因为符合条件的记录有两条:

  • 华东、张三、1000。
  • 华东、张三、1200。

所以结果是 2200。

Excel 会同时判断地区和员工,只有两个条件都满足,才会把销售额加起来。

4. 实例:统计指定日期范围内的销售额

假设:

  • A 列为销售日期。
  • B 列为销售金额。
  • D2 为开始日期。
  • E2 为结束日期。

公式如下:

=SUMIFS(B2:B100,A2:A100,”>=”&D2,A2:A100,”<”&E2+1)

这个公式统计从开始日期到结束日期之间的销售金额,并包含结束日期当天的记录。

为什么结束条件使用 <E2+1?

因为 Excel 中的日期实际上以数字形式存储。

如果日期单元格中还包含具体时间,直接使用 <=E2 可能会遗漏结束日期当天零点之后的记录。

使用 <E2+1,就可以覆盖结束日期的整天。

5. SUMIF 和 SUMIFS 有什么区别?

比较项目
SUMIF
SUMIFS
条件数量
一个条件
多个条件
主要用途
单条件求和
多条件求和
参数顺序
条件区域在前
求和区域在前
典型场景
统计张三的销售额
统计张三在华东的销售额

需要特别注意:

SUMIF 的第一个参数是条件区域,而 SUMIFS 的第一个参数是求和区域。

这是初学者最容易弄错的地方之一。


五、INDEX 函数:根据位置返回数据

【配图建议:用一张表格标注第几行、第几列,突出 INDEX 根据行号和列号返回指定位置的内容。】

1. INDEX 函数有什么用?

INDEX 的作用是:

根据指定的行号和列号,从一个数据区域中返回对应位置的值。

例如:

  • 返回员工名单中的第 3 个姓名。
  • 获取某张表格中指定行、指定列的数据。
  • 配合 MATCH 函数,根据条件查找相应结果。
  • 在复杂报表中实现灵活的数据定位。

如果说 VLOOKUP 擅长按第一列查找,那么 INDEX 更像一个根据坐标取值的工具。

2. 基本语法

INDEX 常见的数组形式如下:

=INDEX(array,row_num,[column_num])

参数解释:

参数
含义
array
要返回数据的数据区域
row_num
指定第几行
column_num
指定第几列

对于单列区域,通常只需要指定行号。

对于二维区域,可以同时指定行号和列号。

3. 实例:返回指定位置的员工姓名

假设 A2:A6 中的数据如下:

单元格
姓名
A2
张三
A3
李四
A4
王五
A5
赵六
A6
孙七

输入公式:

=INDEX(A2:A6,3)

返回结果:

王五

因为王五是 A2:A6 这个区域中的第 3 个元素。

注意,这里的 3 表示区域内部的第 3 个位置,并不是工作表中的第 3 行。

4. 实例:返回二维表格中的数据

假设有以下数据:

姓名
语文
数学
英语
张三
85
90
88
李四
78
82
91
王五
92
86
95

现在要获取第 2 行、第 3 列的数据。

公式:

=INDEX(A2:D4,2,3)

返回结果:

82

为什么?

在 A2:D4 区域中:

  • 第 2 行对应李四。
  • 第 3 列对应数学成绩。

因此返回李四的数学成绩 82。

5. INDEX 的真正优势:配合 MATCH 使用

INDEX 可以根据位置返回结果,但如果我们不知道目标数据所在的位置,该怎么办?

这时,就可以让 MATCH 负责查找位置,再让 INDEX 负责返回数据。

这也是 Excel 中非常经典的一种组合。

下一节,我们就来学习 MATCH。


六、FIND 函数:查找文本中的字符

【配图建议:展示文本“Excel函数学习”,用箭头指出“函数”二字在文本中的位置,并标出起始字符位置。】

1. FIND 函数有什么用?

FIND 的作用是:

在一段文本中查找指定字符或字符串,并返回其起始位置。

例如:

  • 查找某个单词在句子中的位置。
  • 判断产品编号中某个字符出现的位置。
  • 提取邮箱地址中的特定部分。
  • 配合 LEFT、MID、RIGHT 等文本函数处理字符串。

注意:FIND 返回的是字符位置,而不是直接返回被查找的文字。

2. 基本语法

=FIND(find_text,within_text,[start_num])

参数解释:

参数
含义
find_text
要查找的字符或字符串
within_text
被查找的文本
start_num
从第几个字符开始查找,可选

如果省略第三个参数,就默认从第一个字符开始查找。

3. 实例:查找某个单词的位置

在 Excel 中输入:

=FIND(”Excel”,”学习Excel函数”)

返回结果:

3

因为“学”是第 1 个字符,“习”是第 2 个字符,“E”是第 3 个字符。

所以 Excel 从第 3 个字符开始出现。

4. FIND 区分大小写

这是 FIND 的一个重要特点。

例如:

=FIND(”A”,”Excel”)

会返回错误,因为文本 Excel 中没有大写字母 A。

再看:

=FIND(”e”,”Excel”)

结果为 1。

因为 Excel 的第一个字符就是小写 e。

因此,FIND区分英文字母的大小写。

如果希望不区分大小写,可以考虑使用 SEARCH 函数。

5. 实例:提取邮箱地址中的用户名

假设 A2 中存储:

zhangsan@example.com

我们想提取 @ 符号前面的内容。

可以使用:

=LEFT(A2,FIND(”@”,A2)-1)

返回:

zhangsan

公式的逻辑如下:

第一步:FIND 查找 @ 符号的位置。

第二步:减去 1,得到 @ 前面字符的数量。

第三步:LEFT 从文本左侧提取指定数量的字符。

这样,就能自动获取邮箱用户名。

实用技巧:FIND 经常与 LEFT、MID、RIGHT 组合使用。单独使用时负责定位,组合使用时则可以完成更复杂的文本提取任务。


七、MATCH 函数:查找数据所在的位置

【配图建议:在一列员工名单中突出显示“王五”,旁边标注“第 3 个位置”,体现 MATCH 返回的是位置而不是姓名。】

1. MATCH 函数有什么用?

MATCH 的作用是:

在一个区域中查找指定的值,并返回该值在区域中的相对位置。

例如:

  • 查找某个员工在名单中的位置。
  • 确定某个商品编号位于第几行。
  • 查找某个成绩在成绩列表中的位置。
  • 配合 INDEX 实现灵活的数据查询。

这里需要特别注意:

MATCH 返回的是位置,而不是查找到的内容本身。

2. 基本语法

=MATCH(lookup_value,lookup_array,[match_type])

参数解释:

参数
含义
lookup_value
要查找的值
lookup_array
要查找的数据区域
match_type
匹配方式

MATCH 的第三个参数非常重要。

参数
含义
注意事项
0
精确匹配
不要求数据排序
1
小于或等于查找值的最大值
查找区域通常需要升序排列
-1
大于或等于查找值的最小值
查找区域通常需要降序排列

日常根据姓名、编号等查找时,通常使用 0。

3. 实例:查找员工所在的位置

假设 A2:A6 中存储以下姓名:

位置
姓名
第 1 个
张三
第 2 个
李四
第 3 个
王五
第 4 个
赵六
第 5 个
孙七

输入:

=MATCH(”王五”,A2:A6,0)

返回结果:

3

这说明王五是 A2:A6 区域中的第 3 个元素。

注意:这不代表王五位于工作表的第 3 行。

实际上,王五位于工作表的第 4 行,因为查找区域从 A2 开始。

4. MATCH 与 INDEX 组合:实现灵活查找

现在,我们来看一个非常实用的案例。

假设员工表如下:

姓名
部门
工资
张三
销售部
6000
李四
技术部
9000
王五
财务部
7500
赵六
技术部
10000

我们希望输入员工姓名,就能自动查询他的工资。

假设:

  • A2:A5 为员工姓名。
  • C2:C5 为员工工资。
  • E2 输入需要查询的姓名。

在 F2 中输入:

=INDEX(C2:C5,MATCH(E2,A2:A5,0))

如果 E2 输入:

王五

返回结果:

7500

这个公式是怎样工作的?

第一步:MATCH 查找位置。

=MATCH(E2,A2:A5,0)

查找王五在 A2:A5 中的位置,返回 3。

第二步:INDEX 根据位置返回数据。

=INDEX(C2:C5,3)

返回 C2:C5 中第 3 个元素,也就是 7500。

因此,完整公式:

=INDEX(C2:C5,MATCH(E2,A2:A5,0))

就实现了根据姓名查找工资的功能。

5. 为什么很多人喜欢 INDEX + MATCH?

与传统 VLOOKUP 相比,INDEX + MATCH 有几个优点:

  1. 可以根据任意查找列定位数据。
  2. 可以向左查找,不受 VLOOKUP 只能向右返回数据的限制。
  3. 插入部分列时,通常不需要像 VLOOKUP 那样重新调整返回列序号。
  4. 可以灵活组合行位置和列位置,实现二维查找。

当然,INDEX + MATCH 也需要正确设置查找区域和匹配方式。

实用技巧:如果你的工作经常涉及复杂报表和多字段查询,建议重点掌握 INDEX + MATCH 组合。


八、CHOOSE 函数:根据序号选择结果

【配图建议:制作一个简单流程图,左侧为序号 1、2、3,右侧分别连接“销售部”“技术部”“财务部”。】

1. CHOOSE 函数有什么用?

CHOOSE 的作用是:

根据指定的序号,从多个候选值中选择并返回一个结果。

例如:

  • 输入数字 1,返回“销售部”。
  • 输入数字 2,返回“技术部”。
  • 输入数字 3,返回“财务部”。
  • 根据星期序号返回对应的工作日名称。
  • 根据等级编号返回相应的文字说明。

如果你需要根据编号进行分类映射,CHOOSE 就非常方便。

2. 基本语法

=CHOOSE(index_num,value1,[value2],...)

参数解释:

参数
含义
index_num
用于选择结果的序号
value1
第 1 个候选值
value2
第 2 个候选值
后续参数
更多候选值

当序号为 1 时,返回第 1 个候选值;当序号为 2 时,返回第 2 个候选值,以此类推。

3. 实例:根据编号返回部门名称

假设 A2 中存储部门编号:

部门编号
部门名称
1
销售部
2
技术部
3
财务部
4
人事部

在 B2 中输入:

=CHOOSE(A2,”销售部”,”技术部”,”财务部”,”人事部”)

如果 A2 的值是 2,结果就是:

技术部

如果 A2 的值是 4,结果就是:

人事部

这就是 CHOOSE 的基本用法。

4. 实例:根据数字返回季度名称

假设 A2 中存储季度编号:

  • 1 代表第一季度。
  • 2 代表第二季度。
  • 3 代表第三季度。
  • 4 代表第四季度。

输入:

=CHOOSE(A2,”第一季度”,”第二季度”,”第三季度”,”第四季度”)

当 A2 为 3 时,返回:

第三季度

5. CHOOSE 使用时需要注意什么?

第一,序号通常从 1 开始

CHOOSE 的第一个候选值对应序号 1,而不是 0。

如果序号为 0,公式会返回错误。

第二,序号不能超出候选值的范围

例如只有 4 个候选值,却输入序号 5,就会返回错误。

第三,CHOOSE 不适合所有查找场景

如果需要根据大量商品编号、员工编号查询对应信息,使用 CHOOSE 逐个列出候选值并不方便。

这种情况通常更适合使用查找函数或建立映射表。

实用技巧:CHOOSE 特别适合候选项数量较少、序号含义明确的场景。


九、8 个函数如何组合使用?

【配图建议:制作一张 Excel 函数关系图,中心为“数据处理”,周围连接判断、查找、求和、定位、文本处理和结果选择。】

学会单个函数只是第一步。

真正提高 Excel 办公效率的关键,是根据实际问题,把多个函数组合起来使用。

下面通过几个例子,看看它们之间的关系。

1. IF + SUMIF:自动判断统计结果

假设:

  • A2:A100 为员工姓名。
  • B2:B100 为销售额。
  • D2 为某位员工的姓名。

首先,使用 SUMIF 统计员工的销售总额:

=SUMIF(A2:A100,D2,B2:B100)

然后,使用 IF 判断销售总额是否达到 10000:

=IF(SUMIF(A2:A100,D2,B2:B100)>=10000,”达标”,”未达标”)

这样,既能统计业绩,又能自动判断是否达到目标。

2. INDEX + MATCH:根据姓名查询工资

=INDEX(C2:C100,MATCH(E2,A2:A100,0))

假设 A 列为姓名、C 列为工资、E2 为待查询的姓名。

这个公式可以自动定位员工,并返回工资。

它特别适合员工档案、客户信息表和产品信息表等场景。

3. FIND + LEFT:提取文本中的指定内容

假设 A2 存储:

zhangsan@example.com

提取 @ 前面的用户名:

=LEFT(A2,FIND(”@”,A2)-1)

如果数据量很大,只需要输入一次公式,再向下填充,就能批量提取。

4. IF + CHOOSE:根据等级返回不同结果

假设 A2 存储 1、2、3,分别代表不同等级。

可以输入:

=IF(AND(A2>=1,A2<=3),CHOOSE(A2,”初级”,”中级”,”高级”),”无效等级”)

这样既能检查输入是否在有效范围内,又能返回对应的等级名称。

这个例子还使用了 AND 函数,用于同时判断两个条件。


十、8 个函数的核心区别,一张表记住

学完之后,我们再把这 8 个函数放在一起比较。

函数
核心作用
常见使用场景
IF
条件判断
判断及格、达标、库存状态
VLOOKUP
按首列查找并返回数据
根据编号查询名称、价格
SUMIF
单条件求和
统计某员工的销售额
SUMIFS
多条件求和
统计某员工在某地区的销售额
INDEX
根据位置返回数据
获取指定行列的内容
FIND
查找字符的位置
提取邮箱用户名、处理文本
MATCH
查找数据的相对位置
定位姓名、编号或其他数据
CHOOSE
根据序号选择结果
编号与部门名称、等级映射

如果你刚开始学习 Excel,可以按照下面的顺序练习:

第一阶段:掌握基础操作

先学习 IF,理解条件判断。

第二阶段:提高数据查询能力

学习 VLOOKUP,掌握常见的查找方法。

第三阶段:提高统计效率

学习 SUMIF 和 SUMIFS,解决单条件与多条件统计问题。

第四阶段:掌握灵活查找

学习 INDEX 和 MATCH,理解位置定位与结果返回之间的关系。

第五阶段:提高文本和分类处理能力

学习 FIND 和 CHOOSE,掌握文本定位与序号选择。

需要注意,这不是唯一的学习顺序。你也可以根据自己的工作需求,优先学习最常用的函数。


十一、写在最后:学会函数,更要学会解决问题

Excel 的函数非常多,但并不意味着每个函数都需要死记硬背。

对于日常办公来说,最重要的是理解每个函数的用途,并能够根据具体问题选择合适的方法。

当你遇到一个 Excel 问题时,可以先问自己:

  • 需要根据条件判断吗?考虑 IF。
  • 需要查找其他字段的数据吗?考虑 VLOOKUP,或者 INDEX + MATCH。
  • 需要按照条件汇总金额吗?考虑 SUMIF 或 SUMIFS。
  • 需要定位某个字符吗?考虑 FIND。
  • 需要确定某个数据所在的位置吗?考虑 MATCH。
  • 需要根据序号选择结果吗?考虑 CHOOSE。

掌握这些思路,比单纯记住公式更加重要。

最后送给大家一句话:

Excel 函数不是用来炫技的,而是用来解决实际问题的。

每天学习一个函数,再用真实表格练习几次,你会发现,原来需要手动处理很久的工作,现在可能只需要一个公式就能完成。

如果这篇文章对你有帮助,欢迎收藏、转发给需要的朋友,也欢迎在留言区分享你最常使用的 Excel 函数。

让我们一起把 Excel 学得更简单,让工作变得更高效!

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-11-08 22:00:58 HTTP/1.1 GET : http://h.sjds.net/a/569294.html
  2. 运行时间 : 0.102658s [ 吞吐率:9.74req/s ] 内存消耗:4,542.16kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ba056254016eda559ea8ff67c2eec61b
  1. /www/wwwroot/h.sjds.net/public/index.php ( 0.79 KB )
  2. /www/wwwroot/h.sjds.net/vendor/autoload.php ( 0.17 KB )
  3. /www/wwwroot/h.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /www/wwwroot/h.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
  5. /www/wwwroot/h.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /www/wwwroot/h.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /www/wwwroot/h.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /www/wwwroot/h.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /www/wwwroot/h.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /www/wwwroot/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /www/wwwroot/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /www/wwwroot/h.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /www/wwwroot/h.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /www/wwwroot/h.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /www/wwwroot/h.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /www/wwwroot/h.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /www/wwwroot/h.sjds.net/app/provider.php ( 0.19 KB )
  23. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /www/wwwroot/h.sjds.net/app/common.php ( 0.03 KB )
  27. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /www/wwwroot/h.sjds.net/config/app.php ( 0.95 KB )
  30. /www/wwwroot/h.sjds.net/config/cache.php ( 0.78 KB )
  31. /www/wwwroot/h.sjds.net/config/console.php ( 0.23 KB )
  32. /www/wwwroot/h.sjds.net/config/cookie.php ( 0.56 KB )
  33. /www/wwwroot/h.sjds.net/config/database.php ( 2.48 KB )
  34. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /www/wwwroot/h.sjds.net/config/filesystem.php ( 0.61 KB )
  36. /www/wwwroot/h.sjds.net/config/lang.php ( 0.91 KB )
  37. /www/wwwroot/h.sjds.net/config/log.php ( 1.35 KB )
  38. /www/wwwroot/h.sjds.net/config/middleware.php ( 0.19 KB )
  39. /www/wwwroot/h.sjds.net/config/route.php ( 1.89 KB )
  40. /www/wwwroot/h.sjds.net/config/session.php ( 0.57 KB )
  41. /www/wwwroot/h.sjds.net/config/trace.php ( 0.34 KB )
  42. /www/wwwroot/h.sjds.net/config/view.php ( 0.82 KB )
  43. /www/wwwroot/h.sjds.net/app/event.php ( 0.25 KB )
  44. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /www/wwwroot/h.sjds.net/app/service.php ( 0.13 KB )
  46. /www/wwwroot/h.sjds.net/app/AppService.php ( 0.26 KB )
  47. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /www/wwwroot/h.sjds.net/vendor/services.php ( 0.14 KB )
  53. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /www/wwwroot/h.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /www/wwwroot/h.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /www/wwwroot/h.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /www/wwwroot/h.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /www/wwwroot/h.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /www/wwwroot/h.sjds.net/app/Request.php ( 0.09 KB )
  84. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /www/wwwroot/h.sjds.net/app/middleware.php ( 0.25 KB )
  86. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /www/wwwroot/h.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /www/wwwroot/h.sjds.net/route/app.php ( 1.72 KB )
  100. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /www/wwwroot/h.sjds.net/app/controller/Index.php ( 4.81 KB )
  104. /www/wwwroot/h.sjds.net/app/BaseController.php ( 2.05 KB )
  105. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /www/wwwroot/h.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /www/wwwroot/h.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /www/wwwroot/h.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /www/wwwroot/h.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /www/wwwroot/h.sjds.net/runtime/temp/c1d6e8c94b2c2fa10e259903674c804d.php ( 8.11 KB )
  140. /www/wwwroot/h.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000514s ] mysql:host=172.18.0.4;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000855s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000345s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000367s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000596s ]
  6. SELECT * FROM `set` [ RunTime:0.000410s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000617s ]
  8. SELECT * FROM `article` WHERE `id` = 569294 LIMIT 1 [ RunTime:0.000520s ]
  9. UPDATE `article` SET `lasttime` = 1794146458 WHERE `id` = 569294 [ RunTime:0.001814s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000307s ]
  11. SELECT * FROM `article` WHERE `id` < 569294 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000477s ]
  12. SELECT * FROM `article` WHERE `id` > 569294 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000340s ]
  13. SELECT * FROM `article` WHERE `id` < 569294 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000599s ]
  14. SELECT * FROM `article` WHERE `id` < 569294 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000641s ]
  15. SELECT * FROM `article` WHERE `id` < 569294 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000621s ]
0.115097s