與 30萬 粉絲一起學Excel
VIP學員的問題,上面是原始表格,下面是修改後的效果,在測試用哪種效果查詢金額最好?
布局不同,公式可以相差很大,跟盧子來看看。
1.查詢每個月的工資
查詢1月的工資,1月在區域中第2列,因此第三參數寫2。
=VLOOKUP($B$6,$A$1:$N$4,2,0)
同理,2月就寫3,3月就寫4,依次類推。現在是向下拖動公式,因此可以用ROW來生成數字。
=ROW(A2)
将公式組合起來,就是最終的。
=VLOOKUP($B$6,$A$1:$N$4,ROW(A2),0)
2.查詢項目對應2月的金額
2月是變動的,不能直接寫3,可以通過MATCH獲取排位。
=MATCH($E$6,$A$1:$N$1,0)
也可以将月字替換掉,再加1。
=SUBSTITUTE($E$6,"月",)+1
綜合起來,就得到最終公式。
=VLOOKUP(D7,$A$1:$N$4,MATCH($E$6,$A$1:$N$1,0),0)
或
=VLOOKUP(D7,$A$1:$N$4,SUBSTITUTE($E$6,"月",)+1,0)
3.查詢工資對應2月的金額
這個跟案例2用法一樣。
=VLOOKUP($H$7,$A$1:$N$4,MATCH($H$6,$A$1:$N$1,0),0)
MATCH跟INDEX、OFFSET結合的情況更多。這裡就可以用INDEX+MATCH組合。
=INDEX($A$1:$N$4,MATCH($H$7,$A$1:$A$4,0),MATCH($H$6,$A$1:$N$1,0))
INDEX的語法:
=INDEX(區域,第幾行,第幾列)
如果事先知道行列數字,就直接寫數字。不知道的情況下,都是通過MATCH來獲取的,這就有了剛剛那個長公式。
=INDEX($A$1:$N$4,2,3)
這裡也可以用OFFSET,不過另一個學員的案例更合适。
4.查詢12/27這個日期的前5天的平均價
查詢12/27這個日期的前5天的平均價,類似于直接用AVERAGE對區域進行平均值。
=AVERAGE(B8:B12)
日期是變動的,因此無法用固定區域,需要借助函數判斷區域。跟上面的案例一樣,通過MATCH判斷日期在第幾行。
=MATCH(D2,A:A,0)
接下來看OFFSET的語法:
=OFFSET(起點,向下幾行,向右幾列,多少行,多少列)
假如起點是A1。
12/27這個日期是第12行,隻需向下11行就行,也就是MATCH減去1。
引用單價,向右1列。
向下引用5行用5,向上引用5行用-5,也就是正數就是向下多少行,負數就是向上多少行。總共1列,也可以省略不寫。
将這些全部結合起來,最終公式就出來了。
=AVERAGE(OFFSET(A1,MATCH(D2,A:A,0)-1,1,-5))
其實,每天的微信文章,就是學員的答疑教程。會将有代表性的問題,整理起來,詳細說明,多花點時間來學習,自然能明白各種函數的意思。
鍊接:https://pan.baidu.com/s/1stF2LQuL0xtfeSq7dRIpfg?pwd=85da
提取碼:85da
陪你學Excel,一生夠不夠?
一次報名成為VIP會員,所有課程永久免費學,永久答疑,僅需1500元,待你加入。
報名後加盧子微信chenxilu2019,發送報名截圖邀請進群。
推薦:
上篇:
請把「Excel不加班」推薦給你的朋友
有話要說...