網友依這篇:Excel-取出每列有數值最左(右)欄的內容及對應的欄位(INDEX,COLUMN)
提問到:如果資料欄位不是由A欄起始,該如何修改公式。
下圖中的資料是由C欄開始。
【設計與解析】
儲存格I4:
{=IF((C4<>"")*1,C4,INDEX(C4:H4,MAX((C4:H4="")*COLUMN((C4:H4)))-COLUMN(C4)+2))}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自竹加上「{}」。
複製儲存格J4,貼至儲存格J4:J15。
(1) (C4<>"")*1
用以判斷第1欄的內容是否為空白,如果不是則該欄內容為最左欄。
(2) MAX((C4:H4="")*COLUMN((C4:H4))
利用 MAX 函數找出儲存格C4:H4中是空白的欄位名稱。
(3) INDEX(C4:H4,MAX((C4:H4="")*COLUMN((C4:H4)))-COLUMN(C4)+2))
利用 INDEX 函數依第(2)式傳回數值查詢對應的儲存格內容,其中參數「-COLUMN(C4)+2」,是為了校正不是由A欄起始的問題。
如果將資料放在其他位欄位時,公式對應修改:
儲存格J4:(上圖中的儲存格I4,應更正為儲存格J4)
{=IF((D4<>"")*1,D4,INDEX(D4:I4,MAX((D4:I4="")*COLUMN((D4:I4)))-COLUMN(D4)+2))}
文章標籤
全站熱搜