網友根據先前文章:Excel-取出清單中非空白儲存格內容重新排列(SMALL,IFERROR),參考下圖,如果要將重新排列的結果依原順序排列該如何設計公式?

Excel-取出清單中非空白儲存格內容重新排列(SMALL,IFERROR)(依原順序)

 

(1) 橫式轉直式依原順序重新排列

如果要依原順序重新排列,在此提供「陣列公式」的相關設計,在下圖中重新排列後產生的多個『0』,乃是原清單中沒有資料的儲存格。(為了說明方便,公式中並未將 0 消除)

Excel-取出清單中非空白儲存格內容重新排列(SMALL,IFERROR)(依原順序)

儲存格J2:{=OFFSET($A$2,,SMALL(IF($A$2:$H$2<>"",COLUMN($A$2:$H$2),
999),ROW(1:1))-1)}

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

公式中的『999』,乃是一個比原清單的個數大的隨意數值。

 

(2) 直式轉直式依原順序重新排列

Excel-取出清單中非空白儲存格內容重新排列(SMALL,IFERROR)(依原順序)

儲存格G2:{=OFFSET($B$2,SMALL(IF($B$2:$B$9<>"",ROW($B$2:$B$9),999),
ROW(1:1))-2,)}

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

 

(3) 橫式轉橫式依原順序重新排列

Excel-取出清單中非空白儲存格內容重新排列(SMALL,IFERROR)(依原順序)

儲存格B6:{=OFFSET($B$2,,SMALL(IF($B$2:$I$2<>"",COLUMN($B$2:$I$2),
999),COLUMN(A:A))-2)}

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

 

(4) 直式轉橫式依原順序重新排列

Excel-取出清單中非空白儲存格內容重新排列(SMALL,IFERROR)(依原順序)

儲存格B10:{=OFFSET($B$1,SMALL(IF($B$1:$B$8<>"",ROW($B$1:$B$8),999),
COLUMN(A:A))-1,)}

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

arrow
arrow
    全站熱搜

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