系列 · Excel 函数学习与实战 第 7 篇 / 共 9 篇 教程

Excel 函数图解手册:从类型转换到判断、查找与筛选

用六张完整网页信息图讲清 VALUE、NUMBERVALUE、TEXT、XLOOKUP、IF 和 FILTER 的输入、处理过程、返回结果与常见边界。

作者:黄撑 更新于 2026-07-26
本文目录 6 节 · 点击展开

这是一篇持续更新的 Excel 函数图解手册。每个函数占一个完整章节,不只告诉你公式怎么写,还会把输入、解析过程、返回结果和错误边界放在同一张网页信息图里。

目前收录六个函数:VALUENUMBERVALUE 负责文本数字转换,TEXT 负责格式化输出,XLOOKUP 负责查找映射,IF 负责条件分支,FILTER 负责按条件返回多行结果。

第一章:VALUE——文本数字是怎么变成真正数值的

EXCEL FUNCTION VISUAL HANDBOOK · CHAPTER 01VALUE 函数:将字符串转换为数值的原理
VALUE
VALUE(text)把符合数字格式的文本,解析成 Excel 可以计算的数值。
=VALUE(“123.45”)123.45数值
一、总体流程先判断文本能不能被完整解释成数字,再返回真正的数值类型
01输入字符串

接收到的仍然是文本,例如 ” -1,234.56 ”

02解析与验证

按当前地区的数字格式,检查符号、分隔符和数字结构。

03转换为数值

去掉显示层面的分隔结构,构造 Excel 内部的数值。

04返回结果

结果可以继续计算、排序、汇总、比较和绘图。

二、详细原理图解以文本 ” -1,234.56 ” 为例,看 Excel 每一步究竟做了什么
步骤处理过程图示说明
1输入字符串
接收文本
原始内容” -1,234.56 ”

单元格里的内容看起来像数字,但此时仍是一串字符。首尾空格、负号、千位符和小数点都属于文本内容的一部分。

2解析与验证
按数字规则拆解
-负号1整数,千位符234整数.小数点56小数
符号位置正确分隔符可识别整段可解释合法

Excel 会按当前地区设置识别正负号、小数点和千位分隔符。只要其中夹杂无法解释的字符,例如 12a3,就会返回 #VALUE!

3转换为数值
构造数值结构
符号-
+
整数部分1234
+
小数部分56
-1234.56

千位分隔符只负责帮助阅读,不属于数值本身。解析成功后,Excel 得到标准数值 -1234.56,再用内部的浮点数格式保存。

4返回结果
返回数值类型
VALUE 返回-1234.56数值类型

结果不再是文字,可以参与加减乘除、条件比较、统计汇总和图表分析。之后设置货币或百分比,只是在改变显示格式。

三、更多示例能否成功,取决于整段文本是否符合 Excel 当前可识别的数字格式
公式字符串内容Excel 如何理解返回值
=VALUE(“123”)“123”识别为整数123
=VALUE(” +45.6 ”)” +45.6 “忽略首尾空格,识别正号和小数45.6
=VALUE(“1,234.56”)“1,234.56”识别千位分隔符和小数点1234.56
=VALUE(“-0.75E2”)“-0.75E2”识别科学计数法:-0.75 × 10²-75
=VALUE(“12a3”)“12a3”包含无法解释的字符#VALUE!
转换前后
文本”123.45”

看起来像数字,本质仍是一串字符。

VALUE
数值123.45

可以计算、排序、汇总和绘图。

最终理解VALUE 就像一个“数字解析器”:先读懂文本的数字结构,再返回真正的数值。

以后遇到从系统导出、网页复制或文件读取后无法计算的数字,可以先判断它是不是“文本数字”。

第二章:NUMBERVALUE——明确告诉 Excel 哪个是小数点

EXCEL FUNCTION VISUAL HANDBOOK · CHAPTER 02NUMBERVALUE:不再让地区格式替你猜
NUMBERVALUE
NUMBERVALUE(text, [decimal_separator], [group_separator])按照公式中指定的小数符号和分组符号,把文本解析成数值。
=NUMBERVALUE(“1.234,56”, ”,”, ”.”)1234.56
一、三个参数分别控制什么文本不变,解析规则由公式明确指定
=NUMBERVALUE(“1.234,56”,”,”,”.“)
text”1.234,56”

需要转换的原始文本。

decimal_separator”,“

逗号被解释成小数点。

group_separator”.”

点号被解释成千位分隔符。

二、解析过程先识别符号角色,再去掉分组符号并建立标准数值
原始文本1.234,56

点号和逗号此时都只是字符。

指定角色
.千位符,小数点
移除显示结构1234 + 0.56

分组符号不进入最终数值。

返回数值1234.56

结果可以继续计算和汇总。

三、为什么它比 VALUE 更可控同一段文本可以按照不同国家或系统的分隔规则被稳定解析
VALUE跟随当前环境=VALUE(“1.234,56”)

Excel 会参考当前地区设置判断点号和逗号的含义,换一台电脑可能需要重新检查。

NUMBERVALUE规则写进公式=NUMBERVALUE(“1.234,56”, ”,”, ”.”)

公式明确规定逗号是小数点、点号是千位符,适合处理跨地区导出的数据。

四、常见示例关键不是文本长什么样,而是参数是否准确描述它的格式
公式小数符号分组符号返回值
=NUMBERVALUE(“1.234,56”, ”,”, ”.”)逗号点号1234.56
=NUMBERVALUE(“1,234.56”, ”.”, ”,“)点号逗号1234.56
=NUMBERVALUE(“1 234,56”, ”,”, ” “)逗号空格1234.56
=NUMBERVALUE(“12a3”, ”.”, ”,“)点号逗号#VALUE!
最终理解NUMBERVALUE 与 VALUE 做的是同一类转换,但它把“如何解释分隔符”写进了公式。

处理海外系统、网页复制和不同地区导出的数字时,优先明确数据中的小数符号和千位符号。

第三章:TEXT——把数值按指定格式输出成文本

EXCEL FUNCTION VISUAL HANDBOOK · CHAPTER 03TEXT:显示效果写进结果,而不只是改外观
TEXT
TEXT(value, format_text)按照格式代码把数值转换成指定样式的文本。
=TEXT(1234.5, ”¥#,##0.00”)“¥1,234.50”
一、TEXT 的处理链路数值负责内容,格式代码负责最终文本长什么样
value1234.5

真正的数值,可以继续参与计算。

format_text¥#,##0.00

规定货币符号、千位符和小数位数。

TEXT 返回¥1,234.50

最终结果是文本,不再是原来的数值类型。

二、格式代码是怎么被拆开的每一段符号都负责一个显示规则
¥#,##0.00
固定字符

在结果前面显示人民币符号。

整数规则

使用千位分隔符,并保证至少显示一个整数位。

小数规则

固定保留两位小数,不足时补零。

三、最容易混淆的三种状态看起来相同,不代表单元格里保存的是同一种数据
原始数值1234.5类型:数值

没有额外显示格式,但可以直接计算。

设置单元格格式¥1,234.50类型:仍是数值

只是显示发生变化,底层数据仍然可以参与计算。

使用 TEXT”¥1,234.50”类型:文本

适合拼接标题和报表文案,但不能直接当数值继续计算。

四、什么时候应该使用 TEXT它适合生成展示文字,不适合替代真正的数值列
适合把数字拼进一句完整文案=“本月销售额:“&TEXT(B2,”¥#,##0.00”)

结果中的金额格式稳定,不会直接显示成一串普通数字。

不适合把整列金额永久转成文本金额列全部使用 =TEXT(B2,“0.00”)

TEXT 的结果不是原始数值,后续汇总、排序和比较会增加处理成本。

五、常见格式示例同一个数值可以被输出成不同用途的文本
公式输入值格式作用返回文本
=TEXT(1234.5,“0.00”)1234.5固定两位小数”1234.50”
=TEXT(1234.5,”#,##0.00”)1234.5增加千位符并保留两位小数”1,234.50”
=TEXT(0.256,“0.0%“)0.256按百分比显示一位小数”25.6%“
=TEXT(7,“0000”)7不足四位时在前面补零”0007”
最终理解TEXT 不是单纯“让数字变好看”,而是根据格式代码生成一段新的文本。

需要继续计算时保留原始数值;需要拼接、展示或导出固定格式时,再使用 TEXT 生成文字结果。

第四章:XLOOKUP——从查找值定位到对应结果

EXCEL FUNCTION VISUAL HANDBOOK · CHAPTER 04XLOOKUP:先找到记录,再从另一列取回结果
XLOOKUP
XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found])在查找区域中定位匹配项,再从同一位置的返回区域取回结果。
=XLOOKUP(“KB001”, A2:A5, C2:C5, “未找到”)129
一、四个参数对应表格里的什么查找值、查找列、返回列和找不到时的结果必须一一对应
=XLOOKUP(“KB001”,A2:A5,C2:C5,“未找到”)
要找什么去哪里找从哪里返回找不到时显示什么
二、一次完整查找是怎么发生的用商品代码 KB001 查找对应售价
A · 商品代码B · 商品名称C · 售价
2KB003折叠键盘199
3KB001蓝牙键盘129
4MS002无线鼠标89
5KB005机械键盘299
01 · 接收查找值KB001

公式先确定这次要找的商品代码。

02 · 在 A2:A5 定位命中第 3 行

查找区域中的 KB001 与查找值完全匹配。

03 · 从 C2:C5 返回129

返回区域使用同一行的位置,所以取得 C3 的售价。

位置映射A3 = “KB001”C3 = 129最终返回 129
三、查找区域和返回区域为什么必须对齐XLOOKUP 返回的是“相同位置”的值,不是重新猜一遍哪一行相关
正确对齐
A2:A5C2:C5

两个区域都是四行,A3 命中后可以稳定映射到 C3。

错位风险
A2:A5C3:C6

区域起点错开后,同一位置不再代表同一条记录,结果会对应到错误行。

四、找不到时会发生什么第四个参数可以把默认错误改成读者看得懂的提示
查找值KB999
查找区域没有匹配记录
if_not_found”未找到”
五、常见公式变化基础结构不变,变化的是查找值、返回列和未找到提示
公式查找目标返回内容结果
=XLOOKUP(“KB001”,A2:A5,C2:C5)商品代码 KB001对应售价129
=XLOOKUP(“MS002”,A2:A5,B2:B5)商品代码 MS002对应商品名称无线鼠标
=XLOOKUP(“KB999”,A2:A5,C2:C5,“未找到”)不存在的商品代码自定义提示未找到
=XLOOKUP(“KB001”,A2:A5,C3:C6)商品代码 KB001错位的返回区域可能返回错误记录
最终理解XLOOKUP 的核心不是“搜到一个值”,而是先确定匹配位置,再从另一个对齐区域返回同一位置的内容。

看公式时依次确认:要找什么、去哪里找、返回哪一列,以及两个区域是否代表同一批记录。

第五章:IF——条件成立和不成立时分别返回什么

EXCEL FUNCTION VISUAL HANDBOOK · CHAPTER 05IF:把一次判断分成两条明确的返回路径
IF
IF(logical_test, value_if_true, value_if_false)先判断条件是否成立,再从两个候选结果中选择一个返回。
=IF(C2>=100,“重点跟进”,“正常”)重点跟进
一、三个参数对应一条判断路径先看条件,再决定走 TRUE 还是 FALSE 分支
=IF(C2>=100,“重点跟进”,“正常”)
logical_testC2>=100

这次要判断的问题。

value_if_true”重点跟进”

条件成立时返回。

value_if_false”正常”

条件不成立时返回。

二、一次完整判断是怎么发生的以 C2 的数值 129 为例
读取单元格C2 = 129

公式取得这次需要判断的实际值。

判断条件129 ≥ 100?TRUE
成立分支重点跟进

本次条件成立,所以返回第二个参数。

不成立分支正常

本次不选择这个结果。

三、同一个公式遇到不同数据公式不变,变化的是条件判断结果
输入C2 = 129
判断129 ≥ 100 → TRUE
返回重点跟进
输入C2 = 89
判断89 ≥ 100 → FALSE
返回正常
四、常见公式变化IF 可以返回文字、数字、公式结果,也可以继续嵌套判断
公式判断内容成立时不成立时
=IF(B2>=60,“及格”,“不及格”)分数是否达到 60及格不及格
=IF(D2=“异常”,1,0)状态是否等于“异常”10
=IF(C2="",“待填写”,C2)单元格是否为空待填写保留原值
=IF(C2>=100,“重点跟进”)省略第三个参数重点跟进FALSE
最终理解IF 的核心不是“写三个参数”,而是把一个判断问题和两个可能结果连接起来。

阅读 IF 公式时,依次问自己:判断什么、成立返回什么、不成立返回什么。

第六章:FILTER——一个公式为什么能返回多行结果

EXCEL FUNCTION VISUAL HANDBOOK · CHAPTER 06FILTER:先生成 TRUE / FALSE,再把命中的整行筛出来
FILTER
FILTER(array, include, [if_empty])根据条件数组保留对应为 TRUE 的记录,并把结果动态溢出到相邻单元格。
=FILTER(A2:D6,D2:D6=“异常”,“暂无异常”)返回 2 行
一、三个参数分别对应什么源数据决定返回哪些列,条件数组决定保留哪些行
=FILTER(A2:D6,D2:D6=“异常”,“暂无异常”)
arrayA2:D6

筛选后要返回的完整数据区域。

includeD2:D6=“异常”

逐行生成 TRUE / FALSE 的条件。

if_empty”暂无异常”

没有任何记录命中时显示。

二、从源数据到条件数组每一行状态都会被判断一次,并得到一个对应的布尔值
商品店铺销售额状态
2键盘 A天猫860正常
3鼠标 B京东420异常
4键盘 C拼多多730正常
5鼠标 D天猫190异常
6键盘 E京东980正常
条件数组FALSETRUEFALSETRUEFALSE
保留规则只有条件数组中为 TRUE 的第 3 行和第 5 行被保留FALSE 对应的记录不会进入结果区域
三、结果为什么会“溢出”成一块区域FILTER 返回的不是一个值,而是一组行列结构完整的数组
公式只写在 F2=FILTER(A2:D6,D2:D6=“异常”,“暂无异常”)
商品店铺销售额状态
鼠标 B京东420异常
鼠标 D天猫190异常
四、常见边界条件范围要与源数据行数一致,溢出区域也必须保持空白
没有命中记录=FILTER(A2:D6,D2:D6=“缺货”,“暂无缺货”)暂无缺货

第三个参数避免没有结果时直接返回计算错误。

溢出区域被占用结果要占用 F2:I3,但其中已有内容#SPILL!

清空结果区域中的阻挡内容后,数组才能完整展开。

条件范围高度不一致=FILTER(A2:D6,D2:D5=“异常”)#VALUE!

源数据有 5 行,条件只判断 4 行,无法逐行对应。

最终理解FILTER 的核心是先把条件变成一组 TRUE / FALSE,再返回所有 TRUE 对应的完整记录。

看 FILTER 公式时依次确认:返回哪片数据、每一行如何判断、没有结果时显示什么,以及溢出区域是否为空。

这篇手册后续仍会按“单函数独立信息图”继续扩展,不把多个函数压缩进同一张小卡片。