EXCEL使用技巧集合-OFFSET函数的使用.xls
文本预览下载声明
Sheet3
Sheet2
OFFSET
data
1.00
INDIRECT函数的使用
数组的特殊用途
A58
B58
C58
D58
E58
F58
G58
A59
B59
C59
D59
E59
F59
G59
A60
B60
C60
D60
E60
F60
G60
A61
B61
C61
D61
E61
F61
G61
A62
B62
C62
D62
E62
F62
G62
A63
B63
C63
D63
E63
F63
G63
A64
B64
C64
D64
E64
F64
G64
A2
A3
A4
A5
A6
A7
B2
B3
B4
B5
B6
B7
第5行
第2行
第3行
第4行
第7行
第5行
第6行
第7行
第8行
data
姓名
工资
张三
李四
王五
OFFSET函数的使用
by chenjun
语法:
Excelhome.net
OFFSET(引用,行偏移,列偏移,行数,列数)
结果:
以引用的左上单元格为基准,按指定的行偏移、列偏移、行数、列数返回一个新的引用。
其中:
引用:为对单个单元格或一个连续的单元格区域的引用,否则返回错误值 #VALUE!。
直接的引用方式应按照“工具》选项》常规》设置”中是否选择了“R1C1引用样式”,
如用INDIRECT函数返回引用,则可以不管当前设置的引用方式。
点击H8格参见INDIRECT函数的使用
行偏移:指返回区域的左上单元格相对于引用的左上单元格(我称之为基准)的行偏移数,向上为负值向下为正,同一行为0,
如与基准为同一行,此参数可省略。
列偏移:指返回区域的左上单元格相对于基准的列偏移数,向左为负值向右为正,同一列为0,此时该参数可省略。
行数、列数:指返回区域的行数和列数。如与引用的行数或列数相同,则相应的参数可省略。
提示:行偏移,列偏移,行数,列数4个参数的省略一般要用“,”号占位,只在后面没有了不省略的参数才可以空缺不写;
注意返回区域的位置,可以超过引用的区域大小,但如超出工作表边缘,函数 OFFSET 返回错误值 #REF!。
OFFSET 可用于任何需要将引用作为参数的函数。
下面是对函数的详细分析
A.对本表、第1个参数引用为单个单元格
A
=OFFSET($A$20,1,1,4,2),以多单元格数组公式的方式输入
公式=OFFSET($A$20,1,1,4),省略第5个参数,那么返回引用的列数同引用A20的列数即1
B
怎样输入多单元格数组公式请见H8格的链接
有效值的单元格是OFFSET函数返回的引用区域(B21:B24)与公式所在行的交叉单元格的值。
C
函数返回的是A20下偏一行右偏一列开始的4行2列区域
W
也就是B21:C24区域。
同样的公式,不以数组公式的方式输入怎么就错了?
那是因为返回引用的函数返回的是一个区域引用,不以数组方式直接输入在单元格中时
自动按隐含的交叉区域来显示,很显然,OFFSET函数返回的B21:C24区域与
红色公式区域B27:C30是没有交叉的。
请参考G30格链接的例子。
提示:将OFFSET函数返回的引用再用于其他函数中是不会有隐含交叉的问题的。(N和T函数除外,那只能返回区域引用的第一个值)
其他返回引用的函数如INDIRECT、INDEX等也有同样的情况出现,在使用中要注意。
如果函数返回的是一行的区域引用,隐含的交叉区域如下:
有效值的单元格是OFFSET函数返回的引用区域(B21:C21)与公式所在列的交叉单元格的值。
如果函数返回的是一列的区域引用,隐含的交叉区域如:
B.对本表、第1个参数引用连续的多单元格区域
=OFFSET($A$20:$B$22,1,1,4,2)与上面的OFFSET($A$20,1,1,4,2)相同,因为指定了后面的4个参数。
这时实际只用到引用的$A$20:$B$22区域的左上$A$20格,所以结果一样,那么引用连续单元格区域有什么用呐?
在后2个参数有省略时有用,请比较
第一式{=OFFSET($A$20:$B$22,1,1,,2)}
第二式{=OFFSET($A$20,1,1,,2)}
此式省略第4个行数参数,返回的行数
此式省略第4个行数参数,返回的行数同$A$20为1行,
同$A$20:$B$22的行数为3行,实际返回
实际返回从B21起的1行2列区域,按多个单元格数组
从B21起的3行2列。
公式的规则,后面的行中是自动复制第一行的数据。
请注意不以数组公式的方式输入,同样有A中所说的隐含交叉的问题。
如果返回的引用中有空单元格(不是指有空字符的单元格),结果会转为0。
C.对本工作薄其他表的引用
只要在OFFSET函数第1个参数引用中加上工作表名(
显示全部