在B1单元格引用C列的内容,当A1=1时引用C1,当A1=2时引用C2?

《Excel中RC样式引用详解》由会员分享,可在线阅读,更多相关《Excel中RC样式引用详解(15页珍藏版)》请在人人文库网上搜索。

1、Excel中R1C1样式引用详解这篇文章根据excelhome论坛中的两个帖子进行整理,稍作了修改。以下内容来自第一个帖子,点击这里可以查看原文。一、引用单元格:R1C1样式与A1样式比较DanBricklin和BobFrankston使用A1表示电子表格左上角的单元格,MitchKapor在Lotus 1-2-3中也是使用这种编址方案。Microsoft试图改变这种趋势,采用了名为 R1C1样式编址方案。单元格 A1 称为R1C1,因为它位于第一行,第一列(Row 1, Column 1)。在20世纪80年代和90年代初期,A1样式称为了标准,Microsoft公司认识 到了危机,最终让ex

2、cel接受了 A1样式,并同时支持R1C1样式编址方案。当 刖,excel默认使用A1样式。为什么学习R1C1样式?答案是:1, excel的宏录制器采用的是R1C1样式录制公式。2, R1C1样式比之A1样式有更高的效率,尤其是对于公式,编写的代码效率 会更咼。3, 在BVA编辑器中,创建数组公式或基于公式设置条件格式时,采用的是 R1C1样式输入公式。怎么切换R1C1样式?单击Ofice按钮选择Excel选项,在公式类别中选择复选框“ R1C引用样式版面上唯一不同是列标 A,B,C-变成数字1,2,3,单元格C5变为R5C2二、EXCEL公式的神奇之处如动画所示,Excel能智能的填充公式

3、,并向下复制,第一次看到一定感觉非 常惊奇。实际这并不惊奇,因为,Excel内部使用的是R1C1样式的公式,以A1样式 显示地址和公式。如果将动画所示的工作表切换成 R1C1样式表示法,将发现C2:C7 的公式都是形同的三、在 VBA 中采用 A1 样式与 R1C1 样式之比较如上述动画实例,如用 A1 样式编写代码,代码可以类似下面这样:Sub chengji()Dim

5、对引用对于列正数表示向右移指定数量的列,负数反之。对于行正数表示向下移指定数量的行,负数反之。如果省略掉 R 或 C 后面的方括号,表示和引用单元格在同行或同列。4.2 样式的绝对引用在A1样式中使用绝对引用要在行号或列号字母 前使用$。但在R1C1样式中 只需 省略方括号 就行了,是不是很简单 !如下所示代码 :Sub huizong()Dim Finalrow As

6、ze(1, 3).FormulaR1C1 =SUM(R2C:R-2C)End Sub引用 R2C:R-2C 表示将当前列第 2行到上 2行中,同列数据的和,通过使用 R1C1 混合引用,可以使用公式求行数不确定的数据,4.3 引用整行和整列有时候需要编写整列的公式。例如求 G列的最大值,如不知道G列包含多少 行,可在单元格中输入公式=MAX ($G:$G),要找出第一行中最大的值可用 =MAX($1:$1)或 R1C1 公式=MAX(R1)。可以整行、整列使用相对引用。要计算当前单元格上一行的平均值,可用=AVERAGE(R-1)如何在D5引用其周围的单元格?五、R1C1样式的经典实例,一种有

7、趣的行为创建R1C1公式实际上比A1公式更直观。一个演示 R1C1公式的经典实例是 创建乘法表。在excel中,使用单个混合引用公式就可创建乘法表。5.1创建乘法表在B1: M1中输入数字1-12,在A2:a13中也输入数字1-12,现在创建b2: m13中所有单元格公式,它计算第一行和第一列的乘积。用R1C1样式公式代码 如下:Sub

开发工具”-使用相对引用”输入公式=a1并按ctrl+enter键,以保留在F6键 中。单击 “停止录制 ”按钮。将得到一个只包含一行的代码的宏,它在当前的单元格输入公式,该公式引 用向上 5 行,向左 5 列的单元格:Sub 宏 1()Selection.Fo

9、rmulaR1C1 = =R-5C-5End Sub现在将单元格指针移到 A1 并运行刚才的宏,你可能会认为将导致运行错误 1004,但实际并没有出现这种错误。运行宏时,单元格A1 中的公式指向=XF1048572 (Excel2003指向=IR65532),这意味着R1C1公式从表的左侧绕回 到右侧。这是一个很有趣的行为,但是可能宏将提供一个与用户期望不同的结 果!乘法表实例:A

12、)? nwrnject (mciEsmi)+ HiiflMft (*!科 5j:Sar*_*.h iL81910六、条件格式中的R1C1样式应用设置条件格式时,必须使用R1C1公式,这很重要。文档没有明确之处这一点,但如果不用R1C1公式,有时可能出问题,有研究发现,如果用A1公式,每对50个单元格设置条件格式,将有一个单元格出现奇怪的行为。因为将A1引用转换为 R1C1 引用有时存在二义性,例如, R2 表示一个单元格,但可能被错误理解 为整个第二行。FormatConditions 对象用于设置条件格式。每个单元格可以有 3 个FormatC on ditio ns,下面的代码首先遍历所有

13、工作表,删除每个工作表中的条件格式,然后遍历每个工作表中所有的非空单元格,并应用两种条件格式。在第一种条件格式中,类型为xIExpression,这意味着使用的是 公式”语法 首先Foumulal指定的公式米用的是 R1C1表示法。第二个条件格式使用 xICeIIVaIue 类型,这需要指定一个运算符和一个值。在 添加条件后,为条件 1 和条件 2 设置字体的

Sub如果设置一个指向单元格 C3的条件格式,这种格式将失败,因为 Excel将C3解释为第3列。七、 VBA 中的 R1C1 样式数组公式数组公式必须是 R1C1 公式。数组公式是功能强大的 超级公式”被称为CSE公式,因为用户

=sum(R2:R-2C-2*R2:R-2C-1)后面有介绍,但要注意:红色和蓝色代码之间有一个空格。【小技巧】可以采用下面的方法快速输入R1C1公式:在任何单元格中输入常规的A1公式或数组公式,选择该单元格并切换到VBA 编辑器。然后按Ctrl+G键打开立即窗口,再输入:?Activecell.FormulaR1C1 或者Print

19、将把公式栏中的公式转换为 R1C1样式。以下内容来自第二个帖子,点击这里可以查看原文。单元格引用有A1和R1C1两种形式,两种形式中又包含了绝对引用和相对引 用两种不同的变化。单个区域的引用:先来讲一下 R1C1 方式的引用对于G2:J2这样一个单元格区域,使用R1C1来引用,可以写作:R2C7:R2C10, 也可以写作:R2C10:R2C7。但R必须在C前面,“ C10R2:C7R这样的写法是 无效的。对于这样单行的区域引用,可以使用简写的引用方式,即将R2C7:R2C10中的红色部分省去,简写为 R2C7:C10。如果对于单列的区域引用,例如 G2:G10,则可以将R2C7:R10C7中的

20、红色部 分省去,简写为 R2:R10C7。为什么可以这样简写,这样的简写有何规律?在没有官方的解释之前,为了 便于大家的理解和记忆,我给出一个我自己的解释思路,请看下面的 “关于引用 运算符”:关于引用运算符:Excel 中包含了 3种引用运算符,用于表示对单元格的引用,一种是冒号,称为区域运算符,这是最常见的,如 =sum(A2:B10),表示引用 冒号两边单元格所围成的矩形区域;一种是逗号,称为联合运算符,如=RANK(A1,(A1:A10,C1:C10),表示同时引 用逗号两边的两个区域;还有一种是空格,称为 交叉运算符 ,表示引用空格两边的两个区域的交集,如=SUM(A1:B5 A4:

21、D9)即等价于=SUM(A4:B5)。这个交叉运算符也是我这里要重 点引入的一个使用技巧。对于G2:J2这个单元格区域,如果换一个角度来看,可以看作是G:J这4列与第 2 行所构成的交叉区域。因此,如果用交叉运算符和R1C1 样式来引用的话,可以写作:R2 C7:C10,即表示R2与C7:C10这两个区域的交叉区域。因此R2C7:R2C10等价于(R2 C7:C10),而这个形式与上面的简写形式R2C7:C10 十分相似;同理,G2:G10可以表示为R2C7:R10C7,等价于(R2:R10 C7),这个形式于其 简写形式 R2:R10C7 也十分相似。以上就是对于同行或同列的 R1C1 引用简写方式的一些理解, 但这个题目中真 正起到大作用的并非那个简写方式 (虽然也可以缩短不少字符) ,而是引入交叉 运算符以后的引用方式。请继续往下看。交叉运算符同样也可以应用在 A1 引用方式中:例如(R2 C7:C10)如果使用A1引用方式,则可以写作:(2:2 G:J)(R2:R10 C7)如果使用A1引用方式,则可以写作:(G:G 2:10)从现在的样子

如你要在G1显示单元格F1的公式,先设置自定义名称 EGS=GET.CELL(6,F1),在G1是输入=EGS,在G0单元格就能看到F1单元格里的公式

我要回帖

更多关于 HE4和CA1 的文章

 

随机推荐