回答網友提問:網友想要根據下圖中的內容,想要刪除重覆者(保留第一個),並且將內容集中。該如何處理?

Excel-刪除重覆者並且內容集中(OFFSET,COLUMN,COUNTIF)

 

【公式設計與解析】

1. 刪除重覆

儲存格B11:=IF(COUNTIF($B$2:B2,B2)=1,B2,"")

複製儲存格B11,貼至儲存格F15。

(1) COUNTIF($B$2:B2,B2)

計算每個儲存格由第一個起算,出現過的次數

(2) COUNTIF($B$2:B2,B2)=1

此條件判斷是否為第一次出現。

(3) IF(COUNTIF($B$2:B2,B2)=1,B2,"")

如果不是第一次出現則顯示空字串(空白)

 

2. 內容集中

儲存格B20:{=IFERROR(OFFSET($A11,0,SMALL(IF($B11:$F11<>"",COLUMN
($B11:$F11),""),COLUMN(A:A))-1),"")}

複製儲存格B20,貼至儲存格F24。

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

根據「1.刪除重覆」的結果,要來將有內容的儲存格集合在一起。

(1) IF($B11:$F11<>"",COLUMN($B11:$F11),"")

在陣列公式中,判斷儲存格B11:F11裡,不是空字串者,傳回其欄號;否則傳回空字串。

(2) SMALL(第(1)式,COLUMN(A:A))

利用 SMALL 函數依序取得欄號第1, 2, 3, ...較小者。

(3) OFFSET($A11,0,第(2)式-1)

根據第(2)式傳回的位置,代入 OFFSET 函數可以取得對應的儲存格內容。

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

將錯誤訊息顯示為空字串(空白)

文章標籤

全站熱搜

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