網友問到:根據在 Excel 中的資料表(如下圖左),如何查詢各個款號的最後一筆資料(如下圖右)?

Excel-資料重覆取最後一個(OFFSET,ROW)

 

【公式設計與解析】

選取A欄~B欄中要放資料的儲存格,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:款號、日期。

儲存格F2:{=OFFSET($B$2,MAX(IF(款號=E3,ROW(日期),""))-2,0)}

這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自動加上「{}」。

複製儲存格F2,貼至儲存格F2:F6。

(1) IF(款號=E3,ROW(日期),"")

在陣列公式中,判斷『款號』陣列中的儲存格是否和儲存格E3相同,若是,則傳回日期儲存格的列號;若否,則傳回空字串(『""』)。

(2) MAX(IF(款號=E3,ROW(日期),""))

根據第(1)式所傳回的日期儲存格的列號,利用 MAX 函數找出最大值。(多個相同款號中的最後一個)

(3) OFFSET($B$2,MAX(IF(款號=E3,ROW(日期),""))-2,0)

將第(2)式代入 OFFSET 函數,求得對應的日期儲存格。

同理,

儲存格G2:{=OFFSET($C$2,MAX(IF(款號=E3,ROW(日期),""))-2,0)}

公式同儲存格F2,僅將起始儲存格定為儲存格C2。

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

arrow
arrow
    文章標籤
    Excel ROW
    全站熱搜

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