今天我們要來探討一個在 Excel 中非常實用的進階技巧,這個問題延伸自我們先前的教學。上次我們學會了如何使用陣列公式計算單一欄位的團購總金額,而今天,我們要挑戰的是更複雜的情境:如何計算跨越兩個不連續表格的總金額?
問題情境:錯誤的公式與結果
同事所使用的公式如下:
={SUM(D2:D21)*SUM(E2:I21)+SUM(M2:M21)*SUM(N2:R21)}
正確解法三步驟
正確的做法是:
按下 Ctrl + H 開啟「尋找與取代」對話框。 在「尋找目標(N)」欄位中輸入 ~* (波浪號 + 星號)。波浪號 ~ 是個跳脫字元,它能告訴 Excel 我們要尋找的是「星號本身」,而不是將它當作萬用字元。 「取代成(E)」欄位保持空白。 點擊「全部取代」,即可安全地將所有星號清除。
資料清理完畢後,就可以來撰寫正確的公式了。我們需要一個能夠處理兩組「價格 × 數量」運算,並將結果匯總的陣列公式。
D2:D21*E2:I21:將左邊表格的價格陣列與數量陣列進行逐一相乘,產生一個新的加總前陣列。 M2:M21*N2:R21:對右邊表格做同樣的運算。 SUM(...):最後,SUM 函數會將這兩組運算後的所有數值全部加總起來,得到最終的正確金額。
總結
陣列公式的邏輯:要計算總金額,應該使用 SUM(價格範圍*數量範圍) 的結構,而非 SUM(價格範圍)*SUM(數量範圍)。 處理特殊字元:在「尋找與取代」中,若要尋找 * 或 ? 等萬用字元本身,需在前面加上跳脫字元 ~。 SUM 函數的多重陣列:SUM 函數可以透過逗號來分隔,同時加總多個陣列運算的結果。 陣列公式的輸入:永遠記得要使用 Ctrl + Shift + Enter 來完成輸入。
希望這個教學能幫助大家更深入地理解 Excel 陣列公式的強大之處,並避免在實務中犯下同樣的錯誤。
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。