Excel 公式

Excel 绝对引用 $ 是什么?什么时候用($A$1)

更新于 2026-06-04 · 阅读约 7 分钟

在 Excel 里写好一个公式、往下一拖,结果却全乱套了——多半是漏了 $ 符号。本文把相对引用和绝对引用讲清楚:$ 是什么、写在哪里、F4 怎么切,以及哪些场景必须用。最后告诉你,在超级表(TableDI)里,这个麻烦根本不存在。


下拉公式就乱——相对引用惹的祸

Excel 里默认写的单元格地址,比如 B2,叫做相对引用。"相对"的意思是:公式放在哪一行,这个地址就跟着动。

举个例子。你在 C2 写了 =B2*10,往下拖到 C3,公式自动变成 =B3*10——行号跟着加 1,很合理。但如果你想乘的不是固定的 10,而是固定存在 E1 的汇率,公式写成 =B2*E1,往下一拖,第三行就变成 =B3*E2,E2 是空的,结果当然全错。

要让 E1 "钉住不动",就得在它前面加 $,写成 =B2*$E$1。这就是绝对引用:不管公式拖到哪里,$E$1 永远指向 E 列第 1 行。

相对引用 vs 绝对引用:一句话区别

用一张表格来对比最直接:

写法名称下拉时行号变化横拖时列号变化
B2相对引用跟着变跟着变
$B$2绝对引用锁住,不变锁住,不变
B$2混合引用(锁行)锁住,不变跟着变
$B2混合引用(锁列)跟着变锁住,不变

简单记:$ 写在哪儿,就锁哪个方向。$ 在列字母前面锁列,$ 在行号前面锁行,两个都写就两个都锁。

$A$1 / A$1 / $A1 有什么区别,F4 怎么切换

$A$1A$1$A1 这三种写法对应的场景各不相同:

  • $A$1 完全绝对引用:上下左右拖动都不变。适合引用一个"全局固定"的单元格,比如税率、汇率、总目标值。
  • A$1 锁行不锁列:往下拖不变,往右拖列号跟着变。常用于"横向展开、纵向固定"的表头行。
  • $A1 锁列不锁行:往右拖不变,往下拖行号跟着变。常用于"纵向展开、横向固定"的第一列索引。

手动加 $ 很麻烦——写完地址之后,光标停在那个地址上,按 F4 就能循环切换:A1$A$1A$1$A1A1……连续按就能选到想要的写法,不用手打 $。

F4 没反应?
部分笔记本电脑的 F4 键被系统功能占用。你可以同时按 Fn + F4,或者去键盘设置把"F 键优先"打开。Mac 上 Excel 里对应的快捷键是 ⌘ + T

哪些场景必须用绝对引用

有几类公式,漏了 $ 基本上就出错,新手最容易踩:

  1. VLOOKUP 的查找范围。 =VLOOKUP(A2, B:D, 2, FALSE) 用整列还好,但如果写成 =VLOOKUP(A2, B2:D100, 2, FALSE) 往下拖,B2 会变成 B3、B4……查找范围越来越短,越到下面越容易报 #N/A。正确写法是锁住范围:=VLOOKUP(A2, $B$2:$D$100, 2, FALSE)
  2. 引用固定系数/参数。 汇率、税率、折扣比例等写在某个单元格里(比如 E1),整列公式都要乘它,必须用 $E$1,不然越往下越乘到空格或别的数。
  3. 跨行列汇总(九九乘法表式结构)。 做一个行列交叉的汇总表,行标题在 A 列,列标题在第 1 行,公式 =$A2*B$1——锁住行用于"往右扩展时行标题不变",锁住列用于"往下扩展时列标题不变"。两个方向各锁各的,就是混合引用最典型的用途。
  4. SUM / AVERAGE 的固定范围。 如果公式里引用的是一个固定区域(如 $F$2:$F$50),下拉时这个范围就不应该跑,要加 $。

这事为什么让人烦

绝对引用不难理解,但在实际使用中有几个地方反复出问题:

  • 写公式时忘了加,拖完才发现结果不对。全列要改,一格一格地检查哪里漏了 $,很痛苦。
  • 混合引用绕得头疼。什么时候锁行、什么时候锁列,在实际场景里一旦复杂起来,很容易搞混。
  • 公式迁移到新位置时又全乱。剪切整列到另一个地方,相对引用全部重算,绝对引用不变——但混合引用的结果就难以预料。
  • 别人写的公式,看到一串 $ 不知道是什么意图。尤其是 $A2:$C$50 这种只锁了部分,要对照表格才能看懂。
根本矛盾在哪里
Excel 的公式是基于"单元格坐标"写的,所以你要自己管"这个坐标在下拉时该不该变"——这是填充机制带来的副作用,不是你不会,而是这个设计天生需要你管。

超级表里不用纠结 $

超级表(TableDI)在设计上彻底绕开了这个问题。它的公式是按列定义的,而不是按单元格定义的:你在「单价」列的公式面板里写 [单价] * [汇率],超级表自动把这个公式应用到整列的每一行,不需要拖,也不存在"第几行往下拖时地址跑没跑"的问题。

具体来说:

  • 字段引用,不是坐标引用。你写的是「[单价]」「[汇率]」这样的列名,超级表知道每一行的「单价」在哪里,不需要你用 $ 来"钉住"任何东西。
  • 整列自动生效,没有拖的动作。不存在"下拉"这个步骤,也就没有"下拉时引用跑位"的可能。
  • 新增行自动套用公式。之后往表里加数据,这列公式自动生效,不用手动补拖。
  • 公式看得懂。[销售额] / [总计]=C2/$C$50 直观得多,不需要去推断 $ 的意图。

想了解超级表公式面板的详细用法,可以看用公式面板代替 VLOOKUP;如果你在 Excel 里用公式是为了关联两张表的数据,可以参考Excel 函数记不住怎么办了解还有哪些更省力的思路。

超级表作为桌面端本地运行的高能表格助手,支持 macOS 和 Windows,离线使用、零登录,数据不离开本机。免费下载即可体验。

超级表 vs Excel 绝对引用:场景对照

场景Excel(需绝对引用)超级表
整列乘固定汇率=$E$1,忘了 $ 就全错[汇率],自动整列生效
VLOOKUP 查找范围必须 $B$2:$D$100 锁住用关联列点选字段,无需手写公式
新增数据行手动补拖公式到新行自动套用,不用操作
公式可读性=C2/$C$50 需要推断意图[销售额]/[总计] 直接看懂
混合引用要判断锁行还是锁列,容易绕按列定义,根本不存在这个问题
公式迁移剪切后相对引用重算,需检查字段名绑定,迁移不影响逻辑

常见问题

$ 要加在哪里,加在字母前还是数字前?

$ 加在字母(列名)前面,锁住列;加在数字(行号)前面,锁住行。$A$1 是两个都锁,$A1 只锁列不锁行,A$1 只锁行不锁列。记不住的话直接用 F4 循环切换——光标放在地址上按 F4,会自动帮你加 $ 并循环四种写法,选到对的停手就行。

F4 按了没反应,怎么办?

两个可能:一是笔记本 F 键被系统功能占用,需要同时按 Fn + F4;二是光标没有放在单元格地址上,要先点进公式栏、把光标移到那个地址的文字里,再按 F4 才能切换。Mac 上 Excel 对应的快捷键是 ⌘ + T

什么时候用混合引用(只锁行或只锁列)?

混合引用适合"两个方向都要扩展,但两个方向各自引用不同的维度"的场景。最典型的是交叉汇总表:行方向用某一列的标签(如产品名),列方向用某一行的标签(如月份),公式写 =$A2*B$1,往下拖时 A 列标签不变($A),往右拖时第 1 行标题不变($1)。平时如果不做这类二维交叉表,用 $A$1 完全锁住一般就够了,不需要特地区分混合引用。

不想再纠结 $ 加在哪里?

超级表按列定义公式,整列自动生效,根本不存在"下拉跑位"的问题

免费下载(macOS / Windows)