網友提問:如何依下圖的左表以查表方式列出如下圖的右表?

Excel-以查表方式列出查表的結果(INDEX,SMALL,ROW)

【公式設計與解析】

儲存格J2:{=IFERROR(INDEX($B$1:$B$20,SMALL(IF(D$2:D$20="留位",
ROW(D$2:D$20),""),ROW(1:1))),"")}

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

複製儲存格J2,貼至儲存格J2:N20。

(1) IF(D$2:D$20="留位",ROW(D$2:D$20),"")

在陣列公式中,假設儲存格D2:D20的內容為「留位」,則傳回對應列號的陣列。

ROW 函數會傳回指定儲存格的列號,ROW(A1)=1、ROW(B2)=2。

(2) SMALL(第(1)式,ROW(1:1))

利用 SMALL 函數在第(1)式傳回的列號陣列中,由小至大依序找出對應數值。

(3) INDEX($B$1:$B$20,第(2)式)

將第(2)式傳回的數值,代入 INDEX 函數以查表方式在儲存格B1:B20,找到對應的儲存格內容。

(4) IFERROR(第(3)式,"")

如果第(3)式傳回錯誤訊息時,以空字串("")取代。

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

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

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