花江边社区—论坛's Archiver

webyucn 发表于 2008-9-30 21:29

EXCEL单元格的绝对引用和相对引用

别给标题弄晕了,这个问题很常见。大家知道EXCEL在单元格之间复制公式时有自动增加行、列号的功能,这种功能在如下的情况中是很有用的:



[img]http://www.zlsoft.com/techbbs/skins/default/filetype/jpg.gif[/img]此主题相关图片如下:

[img]http://www.huaclub.cn/u/attachment/200809/30/2_1222781266Y3fm.jpg[/img]


图中A列为被除数,B列为除数,C列为结果,每行之间一一对应,这样只需要先在C1中输入公式:=A1/B1,然后使用拖动的办法,就可以在C列中的每个单元格中复制该公式,EXCEL会自动将公式内容设为:C2=A2/B2、C3=A3/B3……


但如果参与运算的数不是象这样一一对应时,这种功能反而就会制造麻烦了:



[img]http://www.zlsoft.com/techbbs/skins/default/filetype/bmp.gif[/img]此主题相关图片如下:
[img]http://www.huaclub.cn/u/attachment/200809/30/2_12227812609tEG.jpg[/img]


图中A列还是被除数,C列还是为结果,但除数只有B1一个而不是一列,即要求C1=A1/B1、C2=A2/B1、C3=A3/B1……这时如果还是按上述办法操作,形成的公式肯定就还是C2=A2/B2、C3=A3/B3……,而B2、B3……是没有数据的,当然就会出现上图中的“#DIV/0”(除数为零错误)


那么怎样才能让EXCEL既实现这种情况下的公式自动复制,又不会“自作聪明”呢?


分析上述情况会发现,我们所需的无非就是让EXCEL在C列中复制公式时,让除数始终保持为“B1”,而不是“B1、B2……”,更进一步说,就是要让除数的行号保持为“1”,这就是所谓绝对引用。做起来也很简单,只需在输入C1的公式“=A1/B1”时,在“B”和“1”之间加入“$”号即可,也就是C1“=A1/B$ 1”,这样行号“1”就被固定了,无论你在C列中怎么复制,除数都是“B1”,如下图:



[img]http://www.zlsoft.com/techbbs/skins/default/filetype/jpg.gif[/img]此主题相关图片如下:

[img]http://www.huaclub.cn/u/attachment/200809/30/2_1222781257arpD.jpg[/img]

举一反三,绝对引用也可以针对列或同时针对行和列,如果想让列号或者行、列号都被固定,相应在其前面加上“$”即可,例如“$D1”、“$E$ 5”等等

webyucn 发表于 2008-9-30 21:34

补充一点,相对引用与绝对引用的转换的快捷键是F4

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.