求一个Excel函数OFFSET实例的意思,公式看不懂

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:59:27
第一页里A列是学号,B列是姓名
第二页里A列是姓名,B列是分数

现在欲插入一列,要求用函数写出公式,将第二页的A2开始的姓名值在第一页的姓名列B列里查找,找到了就返回B列的学号,C1是这样的公式。

同理D1、E1也是这样的意思(下面应该可以用选择性粘贴公式了或自动填充)

怎么样简单吧,请回答

有人写了一个答案给我是如下公式所示

=OFFSET(INDIRECT("Sheet1!B"&MATCH(A2,Sheet1!$B$1:$B$16,0)),0,-1)

但是我看不懂,有没懂的给解释下啥意思?
高...

等周末慢慢研究今天太晚了下班就要睡了,先谢谢各位热情回答的老师

PS:我大概看了下二楼的解答,能把Excel表驾驭的这样纯熟随心所欲程度只能说“恐怖”我难忘项背

看来我食而不化的学习态度是不正确的,今天一定要学会match函数和index函数也算个巨大进步,回答的两位朋友另外开个连接麻烦再给解释下吧赫赫

匿名的高手感谢你的回答,你的回答使我强化了vlookup函数必须使查找字段比如姓名在第一列开始的这个规则,非常感谢你的热心,一起回答解释函数的问题吧

给你分解一下吧。

我们就从最里面的函数说起

MATCH(A2,Sheet1!$B$1:$B$16,0)
从表1中B列的第一行到第16行查找与表2中A2的值一样的行号(返回的是一个数字,即行号)

INDIRECT("Sheet1!B"&MATCH(A2,Sheet1!$B$1:$B$16,0))
针对刚才的行号,在表1中的B列里找到该行号里的数据(其实就是对应的姓名)

OFFSET(INDIRECT("Sheet1!B"&MATCH(A2,Sheet1!$B$1:$B$16,0)),0,-1)
找到表1中B列中刚才的那行后,向左偏移一列,不移行,返回偏移后那列中同一行的数据(就是返回学号)

理解了吗?概括起来就是这样的步骤,先在表1中找到姓名所在列的行号,然后在同一行向左偏移一列,得到的就是学号。

再说说2楼的公式

match(a2,sheet1!b:b,0)
从表1中B列查找与表2中A2的值一样的行号(返回的是一个数字,即行号)

index(sheet1!a:a,match(a2,sheet1!b:b,0))
找到表1中A列中刚才的那行的数据(就是返回学号)

A B
公式 说明(结果)
=OFFSET(C3,2,3,1,1) 显示单元格 F5 中的值 (0)
=SUM(OFFSET(C3:E5,-1,0,3,3)) 对数据区域 C2:E4 求和 (0)
=OFFSET(C3:E5,0,-3,3,3) 返回错误值 #REF!,因为引用区域不在工作表中

OFFSET(reference,rows,cols,height,width)

Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值 #VALUE!。

Rows 相对于偏移量参照系的左上角单元格,上(下)偏移