-
E
X
C
E
L
中
r
c
样
式
引
用
详
解
HUA system office room
【
HUA16H-TTMS2A-HUAS8Q8-HUAH1688
】
Excel
中
R1C1
样式引用详解
这篇文章根据
excelhome
论坛中的两个帖子进行整理,稍作了修改。
以下内容来自第一个帖子,
点击这里可以查看原文
。
一、引用单元格:
R1C1
样式与
A1
样式比较
DanBricklin
和
BobFrankston
使用
A1
表示电子表格左上角的单元格,
Mitch Kapor
在
Lotus 1-2-3
中也是使用这种编址方案。
Microsoft
试图改 变这种趋势,采用了名为
R1C1
样式编址方案。单元格
A1
称为
R 1C1
,因为它位于第一行,第一列(
Row 1, Column 1
)。
在
20
世纪
80
年代和
90
年代 初期,
A1
样式称为了标准,
Microsoft
公司认识到了危
机 ,最终让
excel
接受了
A1
样式,并同时支持
R1C1
样式编址方案。当前,
excel
默认使用
A1
样式。
为什么学习
R1C1
样式
答案是:
1
,
excel
的宏录制器采用的是< br>R1C1
样式录制公式。
2
,
R1C1
样 式比之
A1
样式有更高的效率,尤其是对于公式,编写的代码效率会更
高。
3
,在
BVA
编辑器中,创建数组公式或基于公式设置条件格式时, 采用的是
R1C1
样式输入公式。
怎么切换
R1C1
样式
单击
Ofice
按钮选择
Excel
选项,在公式类别中选择复选框
“R1C1
引用 样式
”
。版面
上唯一不同是列标
A,B,C--
变成数字
1,2,3
,单元格
C5
变为
R5C2
二、
EXCEL
公式的神奇之处
如动画所示,
Excel
能智能的填充公式,并向下复制,第一次看到一定感觉非常惊
奇。
实际这并不惊奇,因为,
Excel
内部使用的是
R1C1
样式的公 式,以
A1
样式显示地
址和公式。
如果将动画所示的工作表切换成
R 1C1
样式表示法,将发现
C2:C7
的公式
都是形同的。
三、在
VBA
中采用
A1
样式与
R1C1
样式之比较
如上述动画实例,如用
A1
样式
编写代码,代码可以类似下面这样:
Sub
chengji()
Dim
Finalrow
As
Integer
Finalrow = Cells(, 2).End(xlUp).Row
'
求第二列数
据行数
Range(
Range(
End
Sub
上述代码在第二行输入公式,再向下复制公式
如果用
R1C1
样式只需一条语句就
可整列输入公式
Sub
chengji()
Dim
Finalrow
As
Integer
Finalrow = Cells(, 2).End(xlUp).Row
'
求第二列数
据行数
Range(
2]
End
Sub
使用
R1C1
样式的优点是,所有
C
列的公式都是相同的,不需要改变
四、怎么引用
R1C1
样式
R1C1
样式采用
R
来表示行,
C
来表示列
4.1
样式的相对引用
对于列正数表示向右移指定数量的列,负数反之。
对于行正数表示向下移指定数量的行,负数反之。
如果省略掉R
或
C
后面的方括号,表示和引用单元格在同行或同列。
4.2
样式的绝对引用
在
A1
样式中使用绝对 引用要在行号或列号字母
前使用
$$
。但在
R1C1
样式中只需
省
略方括号
就行了,是不是很简单
!!!!!!!!
如下所示代码
:
Sub
huizong()
Dim
Finalrow
As
Integer
Finalrow = Cells(, 2).End(xlUp).Row
Cells(Finalrow + 1, 1).Value =
汇总
Cells(Finalrow + 2, 1).Resize(1, 3).FormulaR1C1 =
End
Sub
引用
R2C:R[-2]C
表示将当前列 第
2
行到上
2
行中,同列数据的和,通过使用
R1C1
混合 引用,可以使用公式求行数不确定的数据,
4.3
引用整行和整列
有时候需要编写整列的公式。例如求
G< br>列的最大值,如不知道
G
列包含多少行,
可在单元格中输入公式
=MA X
(
$$G:$$G
),要找出第一行中最大的值可用
=MAX($$ 1:$$1)
或
R1C1
公式
=MAX(R1)
。
可以整行、整列使用相对引用。要计算当前单元格上一行的平均值,可用
=AVERAGE(R [-1])
如何在
D5
引用其周围的单元格?
五、
R1C1
样式的经典实例
,一种有趣的行为
创建
R1C1
公式实际上比
A1
公式
更直观。一个演示
R1C1
公式的经典实例是创建乘法表。在
e xcel
中,使用单个混合
引用公式就可创建乘法表。
5.1
创建乘法表
在
B1
:
M1
中输入数字1-12
,在
A2:a13
中也输入数字
1-12
,现在创建
b2
:
m13
中所有单元格公式,它计算第一行和
第一列的乘积。用
R1C1
样式公式代码如下:
Sub
Multiplicationtable8()
Range(
9, 10, 11, 12)
Range(
True
Range(
Range(
True
Range(
'
最合适的列宽
End
Sub
5.2
一种有趣的行为
尝试以 下操作,将单元格指针移到
F6
,单击
“
开发工具
”
--< br>”
录
制宏
“
,然后单击
“
开发工具
”
---
“
使用相对引用
”
,输入公式
=a1
并按
ctrl+enter
键,以保
留在
F6
键中。单击
“
停止 录制
”
按钮。
将得到一个只包含一行的代码的宏,它在当
前 的单元格输入公式,该公式引用向上
5
行,向左
5
列的单元格:
Sub
宏
1()
aR1C1 =
End
Sub
现在将单元格指针移到
A1
并运行刚才的宏,你可能会认为将导致运行错误
1004
,
但实际并没有 出现这种错误。运行宏时,单元格
A1
中的公式指向
=XF1048572
(
Excel2003
指向
=IR65532
),这意味着
R1C1< br>公式从表的左侧绕回到右侧。这是一
个很有趣的行为,但是可能宏将提供一个与用户期望不同的结 果!!!!!!
乘法
表实例:
六、条件格式中的
R1C1
样式应用
设置条件格式时,必须使用
R1C1
公式
,这很重要。文档没有明确之处这一点,但< br>如果不用
R1C1
公式,有时可能出问题,有研究发现,如果用
A1
公 式,每对
50
个单
元格设置条件格式,将有一个单元格出现奇怪的行为。因为将A1
引用转换为
R1C1
引用有时存在二义性,例如,
R2
表示 一个单元格,但可能被错误理解为整个第二
行。
FormatConditions< br>对象用于设置条件格式。每个单元格可以有
3
个
FormatConditio ns
,下面的代码首先遍历所有工作表,删除每个工作表中的条件格式,
然后遍历每个工作表中 所有的非空单元格,并应用两种条件格式。
在第一种条件格
式中,类型为xlExpression
,这意味着使用的是
“
公式
”
语法。 首先
Foumula1
指定的公
式采用的是
R1C1
表示法。
第二个条件格式使用
xlCellValue
类型,这需要指定一个
-
-
-
-
-
-
-
-
本文更新与1970-01-01 08:00,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/555322.html
-
上一篇:没有了
下一篇:没有了