感
谢
再见,我来了!我的Excel继续与您每天不见不散!
关
注
村长昨天跟大家分享了单元格四种引用样式的区别,今天再来跟大家一起分享一下单元格四种引用样式在函数公式中的不同应用,什么时候该用相对引用?什么时候该用列绝对引用?什么时候该用行绝对引用?什么时候该用绝对引用?一切皆取决于你的需求!
情况1:函数公式只在一个单元格中
函数公式:
=VLOOKUP(D2,A2:B11,2,0)
由于我们的需求只是需要在一个单元格中写入函数公式,公式中单元格地址不需要发生变化,所以公式中的单元格和单元格区域的引用可以是任意引用样式,公式也可以写成
=VLOOKUP($D$2,$A$2:$B$11,2,0)
也可以用列绝对引用或行绝对引用的单元格引用样式。
情况2:函数公式需要下拉填充
函数公式:
=VLOOKUP(D2,A$2:B$11,2,0)
由于我们的需求是需要在一个单元格中写入函数公式然后下拉填充公式
1、下拉过程中D2单元格引用要依次变成D3和D4,所以D2单元格引用不能是行绝对引用(D$2)和绝对引用($D$2),只能是相对引用(D2)或列绝对引用($D2);
2、下拉过程中A2:B11单元格区域不能发生变化,所以必须要用行绝对引用(A$2:B$11)锁定行号或者用绝对引用($A$2:$B$11)全部锁定。
3、所以公式也可以写成
=VLOOKUP($D2,$A$2:$B$11,2,0)
PS:
公式下拉只会引起单元格引用行号的变化,不会引起列标的变化,所以我们只需要考虑是否行绝对引用锁定行号即可,不需要考虑是否列绝对锁定列标。
情况3:函数公式需要右拉填充
函数公式:
=VLOOKUP($E2,$A2:$C11,COLUMN(B1),0)
我们的需求是在一个单元格中写入公式,然后公式需要右拉
1、右拉过程中E2引用的单元格不能发生变化,所以列标必须锁定($E2),列绝对引用,也可以绝对引用($E$2);
2、右拉过程中引用区域A2:C11都不能发生变化,所以必须列绝对引用锁定列标($A2:$C11),或者绝对引用($A$2:$C$11)将列标和行号全部锁定;
3、公式中COLUMN(B1)表示的是返回B列的列号数,公式右拉的时候需要返回C列的列号数,所以必须相对引用或行绝对引用,列标不能锁定。
PS:
公式右拉只会引起单元格引用列标的变化,不会引起行号的变化,所以我们只需要考虑是否列绝对引用锁定列标即可,不需要考虑是否行绝对引用锁定行号。
情况4:函数公式需要右拉下拉填充
函数公式:
=VLOOKUP($E2,$A$2:$C$11,COLUMN(B1),0)
我们的需求是在一个单元格中写入公式,然后公式需要右拉和下拉
1、右拉过程中E2引用的单元格不能发生变化,所以列标必须锁定($E2),列绝对引用,而下拉的时候E2要依次变成E3和E4,所以行号不能锁定(E$2),所以不能绝对引用($E$2);
2、不管是右拉或者下拉公式引用区域A2:C11都不能发生变化,所以只能是绝对引用($A$2:$C$11);
3、公式中COLUMN(B1)表示的是返回B列的列号数,公式右拉的时候需要返回C列的列号数,所以必须相对引用或行绝对引用,列标不能锁定。
PS:
公式下拉会引起行号的变化,右拉会引起列标的变化,所以当一个公式需要同时右拉和下拉的时候,我们要充分考虑单元格引用地址的行号和列标是否需要变化,从而决定采用什么样的单元格引用样式。
总结:
不懂灵活应用四种单元格引用样式的人写函数公式总是一个萝卜一个坑,一个单元格写一个函数公式,工作量大不说,还不利于后期公式的修改,只有真正理解单元格引用地址的变化原理,懂得灵活使用四种单元格引用样式的人才能真正写好函数公式,只有当有需要的时候可以随意右拉下拉填充的函数公式才是一个好的函数公式。