在 Excel 的工作表中,要由一堆資料裡查詢某資料所在的位置(指出第幾欄和第幾列)(參考下圖),該如何處理?這次練習以陣列公式來處理。

首先,將儲存格A1:G20定義名稱為「資料」。

儲存格J2:{=MAX((資料=J1)*COLUMN(資料))}

儲存格J3:{=MAX((資料=J1)*ROW(資料))}

此為陣列公式,輸入完成請按 Ctrl+Shift+Enter 鍵。

以查詢「欄」為例:

(1) 在陣列公式中的「資料=J1」會產生一堆 True/False 組成的陣列。

假設姓名不重覆,則只有一個True,其餘均為False。

(2) COLUMN(資料):可以產生資料範圍內「欄」的陣列,本例為:{1,2,3,4,5,6,7}。

(3) 當(1) X (2) 時,True/False 陣列會轉換為 1/0 陣列,最後結果只有為 True(=1)的那一欄數(=5),相乘結果為不為0的數字(1X5=5),其餘均為0。因此取MAX(陣列)的結果即為欄數。

如果在不同欄有相同姓名,則會取得欄數較高者。

查詢「列」的原理同上。

arrow
arrow
    全站熱搜

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