Excel公式单元格地址引用知识集
2010-01-29 11:24
在Excel的公式里,大部份Excel公式都会引用单元格的内容。下面就把一些单元格地址引用的知识,整理于此:
1、A1引用样式。
A1引用样式是Excel默认使用的引用方式,此样式由列标(Excel2003及以下版为从A到IV,Excel2007及以上版为从A到XFD)和行号(Excel2003及以下版为从从1到65536,Excel2007及以上版为从从1到1047586)组成。如:
若要引用 ==> 请使用
列 A 和行 10 交叉处的单元格 ==> A10
在列 A 和行 10 到行 20 之间的单元格区域 ==> A10:A20
在行 15 和列 B 到列 E 之间的单元格区域 ==> B15:E15
行 5 中的全部单元格 ==> 5:5
行 5 到行 10 之间的全部单元格 ==> 5:10
列 H 中的全部单元格 ==> H:H
列 H 到列 J 之间的全部单元格 ==> H:J
列 A 到列 E 和行 10 到行 20 之间的单元格区域 ==> A10:E20
如果要引用其他工作表中的单元格,还要在单元格地址前加上工作表名称与分隔符“!”,如要引用工作表Sheet1中的A列,应为Sheet1!A:A。
2、相对引用与绝对引用
相对引用与绝对引用的区别在于,当将公式复制到其它单元格时,公式中单元格或单元格区域的地址是否有变化。
相对引用在复制公式时地址跟着发生变化,而绝对引用不会发生变化!绝对引用的方法是在原来引用地址的列标和行号前加上“$”。如原来相对引用第一行第一列的地址写为“A1”,而绝对引用时应该写为“
$A$1”。混合引用指的是列标与行号中,有一个被加上绝对引用符号“$”。如“$A1”,则公式复制到列标A不会变化而行号1会变化;而“A$1”则是列标A会变化而行号1不会。
3、交叉引用
这个引用方法与实例,小站中已有单独的文章说明,这就不再重复了,大家可以参考一下原文章.
4、三维引用样式
三维引用样式指的是多张工作表上的相同单元格或单元格区域的引用方式,其格式为“开始工作表名:结束工作表名!单元格地址”。如要引用Sheet2工作表与Sheet7工作表中的B1单元格,应为Sheet2:Sheet7!B2。
使用三维引用时,有下面几个注意点:
只有下面几个函数中,可以使用三维引用:SUM、AVERAGE、AVERAGEA、COUNT、COUNTA、MAX、MAXA、MIN、MINA、PRODUCT、STDEV、STDEVA、STDEVP、STDEVPA、VAR、VARA、VARP 和 VARPA。三维引用不能用于数组公式中。
三维引用不能与交叉引用运算符(空格)一起使用,也不能用在使用了绝对交集(绝对交集:对单元
格区域而不是单个单元格的引用按照单个单元格进行计算。如果单元格 C10 包含公式=B5:B15*5,则 Excel 将单元格 B10 中的值乘以 5,这是因为单元格 B10 和 C10 位于同一行。)的公式中。
5、R1C1 引用样式
在R1C1 样式中,Excel指出了行号在R后而列号在C后的单元格的位置。R1C1引用样式在宏中有用,因为列标为数字而非字符,这样更容易被处理。
引用 ==> 含义
R[-2]C ==> 对在同一列、上面两行的单元格的相对引用
R[2]C[2] ==> 对在下面两行、右面两列的单元格的相对引用
R2C2 ==> 对在工作表的第二行、第二列的单元格的绝对引用
R[-1] ==> 对活动单元格整个上面一行单元格区域的相对引用sumif函数的使用方法绝对引用
R ==> 对当前行的绝对引用
上面说的都是Excel公式中单元格引用的一些知识,下面说一个特殊情况下的单元格引用。当我们删除
单元格时,公式中的相关的单元格引用也会发生变化,如果此时公式被引用的单元格被完全删除,甚至会引起公式错误,如公式:=A2*5。
当我们删除单元格A2时,公式中的单元格地址引用就会变成:#REF!,而公式的计算结果也是#REF!。
此时我们可以通过下面几种函数方法来解决:
1、offset函数
使用offset函数来代替上面的公式,可以修改为:=OFFSET(A1,1,)*5。只要删除的单元格不为基准的单元格A1,公式就不会发生上面的错误。
2、Indirect函数
使用Indirect函数来代替上面的公式,可以修改为:=Indirect("A2")*5。Indirect函数没有基准单元格,所以不管单元格怎么变动都不会有上面的错误。
3、Index函数
使用Index函数来代替上面的公式,可以修改为:=Index(A:A,2)*5。Index函数虽然也有基准单元格区域(A列),但它与offset和Indirect对比,最大的好处就是它不是易失性函数.
======================================
交叉引用及其应用实例
熟悉Excel的你,可能听说过相对引用、绝对引用和混合引用,那你听说过交叉引用吗?经常在各大Excel论坛中转下,在无意中发现了这一个被称为交叉引用的东东,在现实中应用虽然很少,但却很有意思,也许哪一天,你就把它发扬光大了呢!那什么是交叉引用呢?
一个一般的求和公式:=SUM(2:2,B:B),它的作用是求第二列与第二行的总和。而如果是:=SUM(2:2 B:B),那结果又会是什么样的呢,注意这个公式和上面公式的比较,就是把其中的“,”改为空格。结果是对B2格求和,像这样的单元格加空格加单元格的形式,就会返回这两个区域的重合的部份,这样的引用就被各大Excel论坛称之为——交叉引用。
那它有什么用处呢?还是上面的例子,我们要求第二列与第二行的总和,如果我们用公式:=SUM(2:2,B:B)的话,就会发现,其实其中的B2格我们已重复计算了两次,那么这时我们就可以利用公式:=SUM(2:2,B:B)-SUM(2:2 B:B)来获得正确的值了。
除此之外因为你可以用无数个单元格区域之间加空间来获得这些单元格区域的重叠区域,有时在在参数不固定时就可以使用,只要你的单个公式的内容不超过Excel的限制(2003版为1024个字符)。
======================================
Excel易失性函数小结
所谓“易失函数”,就是指使用这些函数后,会引发工作表的重新计算,有时我们打开一个工作薄但不做任何更改就关闭时,EXCEL却提醒我们是否要保存,这就是因为文件用到了一些“易失性函数”,在打开文件时,易失性函数引发了文件重算。
当每按一次F9,都会导致含有易失函数的公式,进行重新计算。
不但如此,在“自动重算”下任一空白单元格输入任意一个字符,都可能导致易失函数公式的重新计算,
易失性函数在应用中非常用用,但如果在表中大量使用易失性函数、滥用易失性函数的情况下,就可能会大大的影响表格的运行速度
“易失函数”又分“显性”易失函数和“隐性”易失函数
now( ),rand( ),today( ),rand()是“显性”易失函数
offset( ),indirect( ),cell( ), info( ) 则是“隐性”易失函数【但cell("filename")不是易失函数】
有些函数:rows( ),columns( ),areas( ), weeknum( ),在微软文件中将其列为易失函数,
易失函数会影响表格运行速度,但大家也不需要谈虎变,一般易失函数的运算速度是很快的,常常人还没觉察,它已经完成运算,据有心人测试:易失函数(包括易失性操作)会引发所有打开工作簿里含易失函数的公式全部重算,但不含易失函数的公式不会参与重算。这也成了定论
index( )函数在excel 97版之后,不再是易失函数,但在使用A1:INDEX()、INDEX():INDEX()这种结构时,INDEX表现为半易失性函数(或工作簿级易失性函数),即:在工作表中按F9键或编辑单元格时不会引起整个工作簿的重新计算,而重新打开工作簿则会重新计算。
(大多数的易失性函数都是工资表级易失性函数,即在工作表按F9键或编辑单元格时,就会引发重新计算。)
一般的公认SUMIF()因为其第3个参数简写时的不确定性,也认为是半易失性函数(或工作
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论