为了更好地使用公式,让我们先认识Excel中的A1引用样式和R1C1引用样式 。
A1样式和R1C1样式的历史
最初发明第一款电子表格软件VisiCalc的Dan Bricklin和Bob Frankston对单元格使用A1样式,而Microsoft早期的电子表格MultiPlan使用的是R1C1样式 。上世纪80年代,Lotus是电子表格领域的翘楚,牢牢占据着电子表格市场,而它采用的正是VisiCalc用户熟悉的A1样式 。为了在电子表格市场抢战更多的份额,Microsoft让Excel既可以使用A1样式又可以使用R1C1样式 。
通常,我们都是使用A1样式,这也是Excel的默认样式 。然而,R1C1样式有很多独到之处 。
理解A1引用样式和R1C1引用样式
Excel默认设置为A1样式引用,也就是我们熟悉的行以数字表示,列以字母表示 。例如,A1表示工作表或者单元格区域左上角的单元格 。
Excel还可以设置为R1C1样式引用,行列都以数字表示 。例如,使用R1C1表示工作表左上角的单元格 。此时,需要调出“Excel选项”对话框,勾选“R1C1引用样式”,如图1所示 。
文章插图
图1
在下图2所示的工作表中,我们使用了计算公式 。其中,
列E = 列C * 列D
列F = 列E * 单元格I2
列G = 列E –列F
单元格G8 = 单元格区域G2:G7之和
文章插图
图2
我们就以这张工作表来分析理解A1样式和R1样式 。
使用A1样式公式如下图3所示:
文章插图
图3
通常,我们在单元格中输入公式后,往下拉即可复制公式 。例如,在单元格E2中输入公式=C2*D2,下拉至单元格E7,Excel会自动调整单元格相对引用并快速得出列E中的结果,列F、列G中也类似 。但列F中的单元格I2不变,因为我们使用了绝对引用,即在行或列前加了$符号 。
使用R1C1样式公式如下图4所示:
文章插图
图4
可以看出,第5列、第6列、第7列中每列的公式都是相同的 。也就是说,整个区域都可以使用同样的公式 。
R1C1样式中,字母R代表行,字母C代表列,字母后面的方括号代表相对引用 。字母R后面的方括号中的数字代表相对于当前单元格移动的行数,负数表示向上移动,正数表示向下移动 。字母C后面的方括号中的数字代表相对于当前单元格移动的列数,负数表示向左移动,正数表示向右移动 。例如,如果当前单元格D5中输入=R C[-1],则引用的单元格为C6 。
若字母R或C后面就是数字,没有方括号,则表示引用为绝对单元格 。例如,=R3C2引用单元格B3,不管当前单元格处在哪里 。
若字母R或C后面既没有方括号也没有数字,则表示引用与当前单元格相同的行或列 。
为了更好地理解,下图5演示了一些A1样式和R1C1样式的相对引用和绝对引用的例子 。
文章插图
图5
独特的R1C1样式
从上面介绍的示例中,我们可以看到使用R1C1样式的公式相同 。也就是说,在多个单元格中,只需一个公式就可得出结果 。并且,公式引用的单元格的变化并不会影响公式 。这是R1C1样式一个独特之处 。
还有一点值得一提,在A1样式中,同样的公式,但输入的单元格不同,含义不一样,例如:
在单元格D8中输入公式:$A5+C3
在单元格K10中输入公式:$A5+C3
是不一样的,如果我们将这两个单元格中的公式复制到其它单元格就会看出不同,在上篇文中我们详细说明了这种情形 。
推荐阅读
- 理解让Excel更具智能之美的逻辑测试
- excel图表中的数组公式
- excel图表认识与处理公式错误
- excel图表怎么发挥IF函数的威力
- Excel函数 VLOOKUP VS. INDEX+MATCH
- excel函数哪个强VLOOKUP VS. SUMIFS
- MATCH函数+INDEX函数组合
- Excel VBA变量和常量
- Excel VBA对象变量
- Excel VBA End With结构,专为对象而生