本文為協助你強化《Excel》技巧的系列作之一。你還可以在下方找到其他文章連結。
大多數人都認為:《Excel》裡的一個公式,就只能用於試算表的特定一個儲存格來產生單一結果。
但透過《Excel》的動態陣列 (dynamic array) 功能,就算單一公式也能套用到多個儲存格,而且各個儲存格均獨立計算。如此既能輕鬆建立大型活頁簿,也將盡可能減少錯誤。一旦必須跨任一資料陣列再次計算時,你都可以使用這類如魔法般的公式。
下列兩個範例將說明動態陣列的使用方式,讓你省時又省力。
基本入門:建立一個加法表
目標:建立如下圖所示的加法表和答案鍵值,既能幫助孩子練習算數,也能幫你檢查答案。
常用方法:先在第一列和第一欄輸入待相加的值,並在表格的第一個儲存格建立類似「=C4+B5」的公式。將公式複製並貼上第一列後,再將整列反覆複製並貼上至下方的每一列。
動態方法:建立單一公式,讓此公式能參照儲存格的完整範圍,即可一舉計算出各個儲存格的值。
步驟:以下表為例。先在第一個答案格內輸入「=C4:J4+B5:B18」。其中「C4:J4」代表第一列內的儲存格範圍,「B5:B18」則代表第一欄內的儲存格範圍,最後再按下 Enter 就會帶出整張表的答案。

進階技巧:依據個人或類別來統整資料
目標:選出每週銷售競賽的冠軍,並計算每個人的總銷售額。另外在產生新冠軍時一併更新總銷售額。
常用方法:使用「=SUMIF()」函數來統整個人的總銷售額。由於每週都會誕生新的冠軍,儲存格範圍也會跟著擴張,所以你每次都得手動調整公式。
動態方法:動態陣列等你每新增一名週冠軍,都會為你自動更新範圍。
步驟:下表顯示目前的各週冠軍。全新的「UNIQUE()」函數能得出銷售人員清單,並略去重複的人名:在活頁簿的空白處輸入公式「=UNIQUE(B3:B12)」,其中「B3:B12」是目前的冠軍名單:

特別版本的「=SUMIF()」函數能得出每個人的總銷售額:在人名 Murat 旁邊的欄位輸入公式「= SUMIF (B3: B12,E3 #,C3:C12)」。其中的「B3:B12」是目前的冠軍名單,「C3:C12」代表每週的銷售額列表。
數字符號「#」在這裡施展了一點魔法:它會要求《Excel》要參照動態陣列的完整範圍,換句話說就是納入任何新增的列。最後按下 Enter 就能讓《Excel》整理出每個人的銷售額:

現在等你新增第 11 週的冠軍 Alyssa 時,這筆資料也就會自動新增至總摘要:

此外,《Excel》還有許多動態陣列的使用方式,像是可搭配「FILTER()」、「SORT()」、「SORTBY()」、「SEQUENCE()」和「RANDARRAY()」等函數。你只要使用這些動態陣列一次,就能填滿無數個儲存格,為自己省下大量時間。