在2018年9月,我們發佈了 Microsoft 365 Excel的動態陣列公式。 下面將討論動態陣列與舊版的 Ctrl + Shift + Enter (CSE)公式之間的差異。
附註: 目前這項功能目前僅供Office測試人員的一部分使用。 我們會在接下來幾個月持續最佳化這些功能。 準備好之後,我們會將它們發行給所有的 Office 測試人員,以及Microsoft 365 訂閱者。
動態陣列公式:
-
在輸入公式的儲存格界限外,可以 "溢出"。 下列範例顯示 D1 中的RANDARRAY 函數,此函數會在 D1: F5 或5列乘3欄中。 技術上的動態陣列公式只會存在於儲存格 D1 中,而對於舊版 CSE 公式,則必須在整個範圍中輸入公式。
-
在來源範圍中新增或移除資料時,會自動調整大小。 如果它太小,則 CSE 陣列公式會截斷傳回區域,或傳回 #N 的/A (如果太大的話)。
-
在1x1 的內容中計算。 例如, RAND 函數會傳回單一結果,所以如果您想要將多個亂數傳回給格線,您可以使用RANDARRAY 函數。 列和欄函數會傳回來源儲存格的列和欄。 SEQUENCE(列())可用來複製傳統陣列公式中資料行的舊行為。
-
任何傳回1個以上結果的新公式都會自動溢出。 您不需要按 Ctrl + Shift + Enter。
-
出於相容性原因,會保留 CSE 陣列公式。 接下來,您應該改用動態陣列公式。
-
當舊版 CSE 陣列公式中的儲存格相互依賴時,Excel 會嘗試個別計算,而不是作為陣列。 這個行為稱為「CSE breakup」,而在某些情況下,以這種方式計算的公式可能會產生不一致的結果。 為了避免出現不一致的結果可能,我們建議您使用個別的公式,而不是依賴 CSE breakup。 動態陣列公式將無法 breakup。 相反地,它們會報告迴圈參照,以便您進行處理。
-
可透過變更來源儲存格來輕鬆修改,而 CSE 陣列公式則要求同時編輯整個範圍。
-
在作用中的 CSE 陣列公式範圍中禁止資料行和列的插入/刪除。 您必須先刪除任何現有的陣列公式。
需要更多協助嗎?
您可以隨時詢問 Excel 技術社群中的專家,或是在 Answers 社群取得支援。