在Excel函數中,Offset、match函數,你需要知道和明白!
Offset函數,說得簡單點:
=Offset(坐標原點單元格,向下移動的行數,向右移動的列數)
第二個參數,如果正數向下移動,如果負數向上移動。
第三個參數,如果正數向右移動,如果負數向左移動。
喂!能舉個栗子嗎?好,滿足你!
在excel中,假如,我們以A1單元格為原點來得到D3紅色背景單元格的值。
一起數數:從A1單元格開始,需要向下移動幾行?2行!需要向右移動幾列?3列!那麼公式就是:=OFFSET(A1,2,3)
你也來試試,要得到E5的值98,公式怎樣寫?=OFFSET(A1,4,4)
會了嗎?我們來解題。C11:C14單元格的銷量,能寫出公式了嗎?
上海&周學宗的銷量就是D2單元格,=OFFSET(A1,1,3)
北京&鄒銀平的銷量就是H3單元格,=OFFSET(A1,2,7)
廣東&舒志豪的銷量就是E4單元格,=OFFSET(A1,3,4)
雲南&熊繼超的銷量就是F5單元格,=OFFSET(A1,4,5)
……
繼續寫下去,是不是又該罵我啦!這效率和手動去數數有什麼區別?
在excel中,問題來了,如何智能的知道向下和向右移動的行列數,而不是一個個去數?
先看規律,姓名在姓名列表中的第幾位,就是向下移動幾行,地區在地區列表的第幾位,就是向右移動幾列。
那有神馬函數可以替代我們手動去一個個的數?它就是MATCH函數,今天的第二主角兒。
MATCH函數又是什麼鬼?再看看幫助。
我再給你翻譯一下,match函數就是獲取某個值在列表中排名第幾。
match(內容,列表,0)
看看舒志豪在姓名中第幾行?=MATCH(B13,A2:A8,0),得到3,舒志豪在第3行。
再來看看上海在地區中第幾列?=MATCH(A11,B1:H1,0),得到3,上海在地區中第3列。
最後,該是我們來寫出完整公式的時候了。
在excel中,我們直接在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))
對Excel感興趣的朋友可加Excel學習交流群:367669033