2018 年 9 月,我們發布了 Microsoft 365 Excel 的動態陣列公式。 動態陣列與傳統 Ctrl+Shift+Enter (CSE) 公式的差異,將在下文討論。
動態陣列公式:
可以「溢出」在輸入公式的儲存格範圍之外。 以下範例展示了 D1 中的 RANDARRAY 函 數,該函數跨越 D1:F5,即 5 列乘 3 欄。 動態陣列公式技術上只存在於 D1 格子中,而傳統的 CSE 公式則需在整個範圍內輸入該公式。
- 隨著資料從來源範圍新增或移除,會自動調整大小。 CSE 陣列公式會截斷回傳區域,如果太小;回傳區域 #N/A,則會截斷。
- 在 1x1 的情境下計算。 例如, RAND 函數 會回傳單一結果,如果你想讓多個隨機數回到網格,可以使用 RANDARRAY 函數。 ROW 和 COLUMN 函式會回傳來源儲存格的列和欄。 SEQUENCE (ROW () ) 可用於在舊有陣列公式中複製 ROW 的舊行為。
- 任何新公式若返回超過一個結果,都會自動洩漏。 不需要按 Ctrl+Shift+Enter。
- 為了相容性,CSE 陣列公式仍被保留。 未來你應該改用動態陣列的公式。
- 當舊有的 CSE 陣列公式中的儲存格彼此依賴時,Excel 會嘗試分別計算每個儲存格,而非作為陣列計算。 這種行為稱為「CSE 拆分」,在某些情況下,以此方式計算的公式可能會產生不一致的結果。 為避免結果不一致,我們建議使用獨立公式,而非依賴CSE分解。 動態陣列公式不會被拆散。 相反地,他們會回報該循環參考,讓你能夠處理。
- 可以透過更改來源儲存格來輕鬆修改,而 CSE 陣列公式則要求同時編輯整個範圍。
- 在有效的 CSE 陣列公式範圍內,禁止欄位與列的插入或刪除。 你需要先刪除所有阻擋的現有陣列公式。
需要更多協助嗎?
你隨時可以向 Excel 技術社群 的專家詢問,或在 社群中獲得支援。