Excel 函数语法、引用、错误值与常用函数地图

适用场景

刚开始写公式,或者公式结果总是 #N/A、#VALUE!、#REF!,先看这一页。函数本身不难,难的是引用方式、数据类型和错误值来源;把这三件事弄清楚,后面学 SUMIFS、VLOOKUP、XLOOKUP 会快很多。

公式的基本结构

=函数名(参数1, 参数2, ...)
=A2+B2
=SUM(A2:A10)
=IF(A2>=60,"及格","不及格")

引用方式

写法 复制到右边 复制到下面 用途
A2 B2 A3 逐行/逐列套公式
$A$2 $A$2 $A$2 固定参数表
A$2 B$2 A$2 固定表头行
$A2 $A2 $A3 固定第一列

编辑公式时把光标放在引用上按 F4 循环切换。跨工作表引用写 Sheet2!A1;工作表名有空格时写 'Sheet 1'!A1。

数据类型

Excel 的函数对类型很敏感:

用 ISTEXT、ISNUMBER、ISBLANK、TYPE 可以先判断类型,再决定是否转换。

常见错误值

错误 常见原因 处理
#DIV/0! 除数为 0 或空 用 IFERROR 包住,或先判断除数
#N/A 查找值不存在 用 IFNA/IFERROR 给默认值,检查两边的类型和空格
#NAME? 函数名拼错、名称未定义、文本没加引号 检查拼写和引号
#REF! 引用的单元格/工作表被删除 撤销删除,或重新选引用
#VALUE! 参数类型不对,或区域大小不匹配 检查数字/文本、行列数
#NUM! 数值超出范围,或迭代不收敛 检查参数范围
#NULL! 区域之间用了空格交集,但实际不相交 检查引用运算符
#SPILL! 动态数组结果被其他内容挡住 清空溢出区域
#CALC! 动态数组公式无法返回结果 检查 FILTER 等函数是否为空结果

IFERROR(value, value_if_error) 会把所有错误都替换成默认值;IFNA(value, value_if_na) 只处理 #N/A。排查阶段先用 IFNA 保留其他错误,避免把真正的类型错误也藏起来。

常用函数地图

需求 函数 页面
条件求和 SUMIF、SUMIFS excel-sumifs
条件计数 COUNTIF、COUNTIFS excel-countifs
条件判断 IF、IFS、AND、OR excel-if
精确查找 VLOOKUP、XLOOKUP、INDEX/MATCH excel-vlookup
文本处理 LEFT、MID、TEXT、TEXTJOIN excel-text-functions
日期计算 TODAY、EDATE、DATEDIF、WORKDAY excel-date-functions
动态筛选 FILTER、UNIQUE、SORT excel-dynamic-arrays

数组公式与动态数组

旧版 Excel 的数组公式要按 Ctrl+Shift+Enter 输入,公式两边会出现 {};Excel 365/2021 支持动态数组,直接回车即可,结果会自动溢出到相邻单元格。

易错点

相关条目

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. #N/A 和 #VALUE! 分别通常由什么引起?
  2. IFERROR 和 IFNA 有什么区别?
  3. 为什么整列引用叠加 INDIRECT 会让文件变慢?
答案
  1. #N/A 多是查找值不存在或类型不匹配;#VALUE! 多是参数类型错误或区域大小不一致。
  2. IFERROR 替换所有错误;IFNA 只替换 #N/A,保留其他错误便于排查。
  3. INDIRECT 是易失函数,每次重算都会重新解析引用,整列范围会放大计算量。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令