作者部落窝教育转自 excel教程

有人说,函数怎样用,不是说可以查看Excel帮助文档嘛。那好,我们来查!查到了,帮助是这样告诉我们的

excelmatch公式(Excel教程还不会用match函数)(1)

以指定的引用为参照系,通过给定偏移量得到新的引用。

看帮助你读懂了吗?可能此刻你心里在诅咒Excel,能说人话吗?

既然Excel内置解释晦涩难懂,我们来翻译一下:

offset函数,其实就是类似于数学的坐标系公式,以某个单元格作为坐标系的坐标原点,返回符合横纵坐标的值。

再说得简单点:

=offset(坐标原点单元格,向下移动的行数,向右移动的列数)

第二参数,正数向下移动,负数向上移动。

第三参数,正数向右移动,负数向左移动。

喂!能举个栗子吗?好,满足你!

excelmatch公式(Excel教程还不会用match函数)(2)

假如,我们以A1单元格为原点来得到D3红色背景单元格的值。

一起数数:从A1单元格开始,需要向下移动几行?2行!需要向右移动几列?3列!那么公式就是:=OFFSET(A1,2,3)

你也来试试,要得到E5的值98,公式怎样写?=OFFSET(A1,4,4)

会了吗?我们来解题。求C11:C14单元格的销量,能写出公式了吗?

excelmatch公式(Excel教程还不会用match函数)(3)

上海&周学宗的销量=OFFSET(A1,1,3)

北京&邹银平的销量=OFFSET(A1,2,7)

广东&舒志豪的销量=OFFSET(A1,3,4)

云南&熊继超的销量=OFFSET(A1,4,5)

……

继续写下去,这效率和手动去数数有什么区别?

问题来了,如何智能的知道向下和向右移动的行列数,而不是一个个去数?

先看规律,姓名在姓名列表中的第几位,就是向下移动几行,地区在地区列表的第几位,就是向右移动几列。

那有神马函数可以替代我们手动去一个个的数?它就是MATCH函数,今天的第二主角儿。

MATCH函数又是什么鬼?再看看帮助。

excelmatch公式(Excel教程还不会用match函数)(4)

再翻译一下,match函数就是获取某个值在列表中排名第几。 match(内容,列表,0)

看舒志豪在姓名中第几行?

=MATCH(B13,A2:A8,0),得到3,舒志豪在第3行。

再来看上海在地区中第几列?

=MATCH(A11,B1:H1,0),得到3,上海在地区中第3列。

最后,该是我们来写出完整公式的时候了。

我们直接在C11单元格输入公式:

=OFFSET(A1,MATCH(B11,A2:A8,0),MATCH(A11,B1:H1,0))

如果还想一劳永逸的公式下拉到底,就需要把该固定的单元格搞成绝对引用,此时终结版公式为:

=OFFSET($A$1,MATCH(B11,$A$2:$A$8,0),MATCH(A11,$B$1:$H$1,0))

,