網友提問:如果依下圖中的排班表,要根據日期和班別取得第一個人和第二個人的姓名,該如何處理?
【設計與解析】
本例中,是要由表格內容反求欄(列)標題,因此,過程中巧妙運用二次的 MATCH 函數和 OFFSET 函數。
1. 查詢各組第一人
儲存格B6:=OFFSET(E3,MATCH(B4,OFFSET(F3,1,MATCH(B3,F3:M3,0)-1,12,1),0),0)
(1) MATCH(B3,F3:M3,0)
查詢指定日期(儲存格B3)在儲存格F3:M3中的位置,傳回一個數值。
(2) OFFSET(F3,1,MATCH(B3,F3:M3,0),12,1)-1
將第(1)式代入 OFFSET 函數取得指定日期所對應的資料內容。(本例為:儲存格K4:K15)
(3) MATCH(B4,第(2)式-1,0)
再利用 MATCH 函數求得班別(儲存格B4)於第(2)傳回的資料內容中所在的位置,傳回一個數值。(本例為:7)
(4) OFFSET(E3,第(3)式,0)
將第(3)式代入 OFFSET 函數傳回由儲存格E3起始所對應的儲存格內容。
2. 查詢各組第二人
同理:
儲存格B7:=OFFSET(E3,MATCH(B4,OFFSET(F3,1,MATCH(B3,F3:M3,0)-1,12,1),0)+1,0)
差別只有在最外層的 OFFSET 函數的參數差1。
文章標籤
全站熱搜
留言列表