陣列公式是功能強大的公式,可讓您執行標準工作表函數通常無法完成的複雜計算。 它們也稱為「Ctrl-Shift-Enter」或「CSE」公式,因為您必須按 Ctrl+Shift+Enter 才能輸入。 您可以使用陣列公式來執行看似不可能的工作,例如
- 計算儲存格範圍中的字元數。
- 符合特定條件的數字加總,例如範圍中的最小值,或介於上限和下限之間的數字。
- 加總值範圍內每隔 n 個數的值。
Excel 提供兩種類型的陣列公式:一種是執行多項計算以產生單一結果的陣列公式,另一種是計算多個結果的陣列公式。 有些工作表函數會傳回值陣列,或是要求值陣列作為引數。 如需詳細資訊,請參閱 陣列公式的指導方針和範例。
注意
如果您有目前版本的 Microsoft 365,則只需在輸出範圍的左上角儲存格中輸入公式,然後按 ENTER 以確認公式為動態陣列公式。 否則,請先選取輸出範圍,在輸出範圍左上角的儲存格中輸入公式,然後按 CTRL+SHIFT+ENTER 以進行確認,以舊的陣列公式輸入公式。 Excel 會為您在公式的開頭和結尾處插入大括號。 如需有關陣列公式的詳細資訊,請參閱陣列公式的規則和範例。
建立會計算單一結果的陣列公式
這種類型的陣列公式可以用單一陣列公式取代多個不同的公式,來簡化工作表模組。
按一下要輸入陣列公式的儲存格。
輸入您要使用的公式。
陣列公式使用標準公式語法。 它們都是以等號 (=) 開頭,您可以在陣列公式中使用任何內建的 Excel 函數。
例如,此公式會計算股票價格和股票陣列的總價值,並將結果放在「總值」旁邊的儲存格中。
此公式會先將儲存格 B2 – F2) (份額乘以儲存格 B3 – F3) (價格,然後將結果相加,得出總計為 35,525。 這是單一儲存格陣列公式的範例,因為公式只存在於一個儲存格中。
如果您目前有 Microsoft 365 訂閱) ,請按 Enter (;否則按 Ctrl+Shift+Enter。
當您按 Ctrl+Shift+Enter 時,Excel 會自動在 { } () 插入一對左括弧和右大括弧之間的公式。注意
如果您有目前版本的 Microsoft 365,則只需在輸出範圍的左上角儲存格中輸入公式,然後按 ENTER 以確認公式為動態陣列公式。 否則,請先選取輸出範圍,在輸出範圍左上角的儲存格中輸入公式,然後按 CTRL+SHIFT+ENTER 以進行確認,以舊的陣列公式輸入公式。 Excel 會為您在公式的開頭和結尾處插入大括號。 如需有關陣列公式的詳細資訊,請參閱陣列公式的規則和範例。
建立可計算多個結果的陣列公式
若要使用陣列公式來計算多個結果,請將陣列輸入到儲存格範圍中,該儲存格具有與您將在陣列引數中使用的列數和欄數完全相同的列數和欄數。
選取要輸入陣列公式的儲存格範圍。
輸入您要使用的公式。
陣列公式使用標準公式語法。 它們都是以等號 (=) 開頭,您可以在陣列公式中使用任何內建的 Excel 函數。
在下列範例中,公式會依據每一欄的價格乘以共用數,而公式會位於第 5 列的所選儲存格中。
如果您目前有 Microsoft 365 訂閱) ,請按 Enter (;否則按 Ctrl+Shift+Enter。
當您按 Ctrl+Shift+Enter 時,Excel 會自動在 { } () 插入一對左括弧和右大括弧之間的公式。注意
如果您有目前版本的 Microsoft 365,則只需在輸出範圍的左上角儲存格中輸入公式,然後按 ENTER 以確認公式為動態陣列公式。 否則,請先選取輸出範圍,在輸出範圍左上角的儲存格中輸入公式,然後按 CTRL+SHIFT+ENTER 以進行確認,以舊的陣列公式輸入公式。 Excel 會為您在公式的開頭和結尾處插入大括號。 如需有關陣列公式的詳細資訊,請參閱陣列公式的規則和範例。
如果您需要在陣列公式中包含新的資料,請參閱 展開陣列公式。 你也可以嘗試:
- 變更陣列公式的規則 (它們可能很挑剔)
- 刪除陣列公式 , (按 Ctrl+Shift+Enter,也)
- 在陣列公式中使用陣列常數 (方便)
- 為常數命名 ( 可讓常數更容易使用)
小試身手
如果您想要先嘗試使用陣列常數,再使用您自己的資料,您可以使用這裡的範例資料。
下面的活頁簿顯示陣列公式的範例。 若要以最佳方式使用範例,您應該按一下右下角的 Excel 圖示,將活頁簿下載到電腦,然後在 Excel 傳統型程式中開啟活頁簿。
複製下表,並將其貼到 Excel 儲存格 A1 中。 請務必選取儲存格 E2:E11,輸入公式 =C2:C11*D2:D11,然後按 Ctrl+Shift+Enter 將它設為陣列公式。
| 銷售人員 | 車輛類型 | 銷售數量 | 單價 | 總銷售額 |
|---|---|---|---|---|
| 孫哲翰 | 四門轎車 | 5 | 2200 | =C2:C11*D2:D11 |
| 雙門轎跑車 | 4 | 1800 | ||
| 李莉華 | 四門轎車 | 6 | 2300 | |
| 雙門轎跑車 | 8 | 1700 | ||
| 羅書成 | 四門轎車 | 3 | 2000 | |
| 雙門轎跑車 | 1 | 1600 | ||
| 盧珮佳 | 四門轎車 | 9 | 2150 | |
| 雙門轎跑車 | 5 | 1950 | ||
| 吳又倫 | 四門轎車 | 6 | 2250 | |
| 雙門轎跑車 | 8 | 2000 |
建立多儲存格陣列公式
- 在範例活頁簿中,選取儲存格 E2 到 E11。 這些儲存格將包含您的結果。
輸入公式之前,您一定會選取包含結果的儲存格。
我們所說的總是 100% 的時間。
- 請輸入此公式。 若要在儲存格中輸入,只要開始輸入 (按下等號) ,公式就會顯示在您選取的最後一個儲存格中。 您也可以在資料編輯列中輸入公式:
=C2:C11*D2:D11 - 按 Ctrl+Shift+Enter。
建立單儲存格陣列公式
- 在範例活頁簿中,按一下儲存格 B13。
- 使用上述步驟 2 中任一方法輸入此公式:
=SUM(C2:C11*D2:D11) - 按 Ctrl+Shift+Enter。
此公式會將儲存格範圍 C2:C11 和 D2:D11 中的值相乘,然後相加結果以計算總計。
需要更多協助嗎?
您隨時都可以詢問 Excel 技術社群 中的專家,或在 社群中取得支援。