網友提問:如果依下圖中的排班表,要根據日期和班別取得第一個人和第二個人的姓名,該如何處理?

Excel-根據日期和班別進行雙條件查詢(OFFSET,MATCH)

【設計與解析】

本例中,是要由表格內容反求欄(列)標題,因此,過程中巧妙運用二次的 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。

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel 查詢
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

    vincent 發表在 痞客邦 留言(6) 人氣()