💡 文末有福利:关注「慕慕进化论」,在公众号聊天框回复「Excel」领取《Excel全攻略》60期合集PDF,系统自动发送,随用随查。
上周同事跟我吐槽,说她用VLOOKUP做了一个超长的订单查询表,结果拖了一下公式,数据全乱了。我一看,好家伙,典型的单元格引用没搞清楚。这东西看着简单,但用错了真的很头疼。今天就把相对引用、绝对引用、混合引用一次讲透,保证你看完不会再踩坑。
01 相对引用A1:复制公式会变
普通写公式时用的就是相对引用。比如我在C1单元格写=A1+B1,意思是把左边的两个单元格加起来。如果我把这个公式复制到C2,C2里的公式就自动变成=A2+B2了——单元格会跟着移动。
这是怎么回事?
Excel把公式里的A1当成"相对于当前格子的位置"。往下复制一行,行号就加1;往右复制一列,列字母就加1。这种"自动跟随"的特点,用对了很方便,但用错了就会出bug。
举个例子
假设第一行是表头,数据从第二行开始。我们在A10写了个统计公式=SUM(A2:A9)。如果我在第11行插入一行空行,这个公式会自动变成=SUM(A2:A10),统计范围自动扩大了——看起来挺智能对吧?但如果你在第1行插入,表头被挤下去了,公式可能就报错了。
02 绝对引用$A$1:锁定行和列
如果我想让某个单元格"钉"在原地,不管公式复制到哪里都不动,就在行号和列字母前各加一个美元符号:$A$1。这就是绝对引用。
什么时候用?
比如我们做一个销售业绩表,每行要乘以同一个"提成比例"。提成比例放在A1这个单元格里,任何一行乘以这个比例时,都不能变。这时候就要写=B2*$A$1,无论往下复制多少行,A1都锁定不动。
实际场景:计算年终奖
假设基本工资在B列,绩效系数在C列,而全公司统一的绩效系数调整值在Sheet2的D5单元格。我们在D列算年终奖时,就要写=B2*C2*Sheet2!$D$5。这样不管公式复制到哪一行,D5都不会变。
03 混合引用:锁一个方向
有时候我们只需要锁定行或者列,这就是混合引用。
$A1:锁列不锁行
列前面有$,所以列是固定的。但行没$,往下复制时行号会变。比如$A1往下复制会变成$A2、$A3,但往右复制还是$A1。
A$1:锁行不锁列
行前面有$,所以行是固定的。列没$,往右复制时列字母会变。比如A$1往右复制会变成B$1、C$1,但往下复制还是A$1。
04 F4键:快速切换引用类型
记住一个快捷键F4,写公式时特别好用。选中公式里的某个单元格引用,按一下F4,会循环切换四种状态:
按一次 → $A$1(绝对引用)
按两次 → A$1(混合引用:锁行)
按三次 → $A1(混合引用:锁列)
按四次 → A1(回到相对引用)
实战技巧
我在用VLOOKUP时,经常要在第二参数里写一个很大范围的表,比如VLOOKUP(A2,$B$2:$D$100,2,0)。这里的查找范围必须绝对引用,否则往下拖公式时范围就跑偏了。按一下F4锁住就行。
05 常见踩坑场景
坑1:VLOOKUP拖拽报错
很多人写VLOOKUP(A2,B:D,2,0),然后往下拖。问题出在B:D这个范围——它不是绝对引用,往下拖时可能变成B2:D101、B3:D102,越拖范围越偏。正确写法是VLOOKUP(A2,$B$2:$D$100,2,0)。
坑2:SUM区域偏移
假设我们做月度汇总,1月数据在A2:A31,公式写了=SUM(A2:A31)。如果把这个公式复制到旁边列,B列的公式会变成=SUM(B2:B31)——本来想算A列,结果自动变了。这时候就要锁住:=SUM($A$2:$A$31)。
06 实战案例:混合引用做九九乘法表
这是理解混合引用最好的例子。九九乘法表里,每个格子的公式是"当前行×当前列"。
在B2单元格写公式:=B$1*$A2
解释一下:B$1锁定第一行(乘数),$A2锁定第一列(被乘数)。这样往右拖时,B$1会变成C$1、D$1,但第一行永远是乘数;往下拖时,$A2会变成$A3、$A4,但第一列永远是A列。
写好B2的公式后,右拖填充到I列,再一起下拖填充到第九行,九九乘法表就完成了。这就是混合引用的精髓。
关注「慕慕进化论」,每周一个实用技巧,把学过的东西变成自己的。