Applies ToMicrosoft 365 Excel Mac 版 Microsoft 365 Excel Excel 網頁版 Excel 2021 Mac 版 Excel 2021 Excel 2019 Excel 2016 iPad 版 Excel iPhone 版 Excel Android 版 Excel 平板電腦 Android 版 Excel 手機

可傳回一組值的 Excel 公式 (也稱為陣列) 將這些值傳回相鄰儲存格。 此行為稱為 [溢出]。

可傳回變數大小陣列的公式稱為動態陣列公式。 目前傳回成功溢出之陣列的公式可以稱為溢出陣列公式。 

以下是一些備註,可協助您了解及使用這類公式。 

溢出是什麼意思?

附註: 較舊的陣列公式 (稱為舊版陣列公式),一律會傳回固定大小的結果,它們一直溢出到相同數目的儲存格中。 本主題中所述的溢出行為不適用於舊版陣列公式。

溢出表示公式已產生多個值,且這些值已放在相鄰的儲存格中。 例如,=SORT(D2:D11,1,-1),會以遞減順序排序陣列,並傳回 10 列高對應的陣列。 但您只需要在左上方儲存格或 F2 中輸入公式,公式就會自動溢出到儲存格 F11。

使用 =SORT(D2:D11,1,-1) 排序儲存格 D2:D11 中的值

重點

  • 當您按下 Enter 確認公式後,Excel 會動態調整輸出範圍的大小,並將結果放置到該範圍內的每個儲存格。

  • 如果您要撰寫動態陣列公式來處理資料清單,將公式放在 Excel 表格中,然後使用結構化參照參照資料會很有用。 這是因為結構化參照會在表格中新增或移除列時自動調整。

  • Excel 表格本身不支援溢出的陣列公式,因此您應該將它們放在表格外的方格中。 表格最適合用於包含獨立資料的列和欄。

  • 輸入溢出的陣列公式後,當您選取溢出區域內的任何儲存格時,Excel 就會在範圍周圍放置一個強調顯示的框線。 當您選取區域外的儲存格時,框線將會消失。

    輸出範圍以藍色框線強調顯示的陣列公式

  • 只有溢出區域中的第一個儲存格可以編輯。 如果您選取溢出區域中的另一個儲存格,公式將會顯示在資料編輯列中,但文字會變成「虛影」,而且無法變更。 如果您需要更新公式,您應該選取陣列範圍中的左上方儲存格,並根據需要變更,然後 Excel 會在您按下 Enter 後自動更新溢出區域的其餘部分。

    虛影陣列公式影像,這表示公式無法編輯,因為它不是陣列範圍的第一個儲存格

  • 公式重疊 - 如果有任何項目阻擋輸出範圍,則無法輸入陣列公式。 如果發生這種情況,Excel 會傳回 #溢出! 錯誤,指出發生阻擋。 如果您移除阻擋,公式即會如預期溢出。 在下列範例中,公式的輸出範圍與另一個資料範圍重疊,並以虛線框線與儲存格重疊顯示,其中的值表明它不能溢出。 請移除阻擋的資料,或將其複製到其他地方,公式將按預期溢出。

    #SPILL! 的影像 錯誤,指出陣列公式輸出發生阻擋問題,導致無法溢出。

  • 基於向後兼容性的理由,仍支持透過 CTRL+SHIFT+ENTER (CSE) 輸入的舊版陣列公式,但不應再使用。 您可以依需要將舊版陣列公式轉換成動態陣列公式,方法為找到陣列範圍中的第一個儲存格、複製公式的文字、刪除舊版陣列的整個範圍,然後在左上方儲存格中重新輸入公式。 在將舊版陣列公式升級為動態陣列公式之前,您應該注意兩者之間的計算差異

  • Excel 對活頁簿之間的動態陣列提供有限支援,只有同時開啟活頁簿時才支援這種情況。 如果您關閉來源活頁簿,當您重新整理時,任何連結的動態陣列公式均會傳回 #REF! 錯誤

需要更多協助嗎?

您可以隨時詢問 Excel 技術社群中的專家,或在社群中取得支援。

另請參閱

FILTER 函數

RANDARRAY 函數

SEQUENCE 函數

SORT 函數

SORTBY 函數

UNIQUE 函數

Excel 中的 #溢出! 錯誤

隱含交集運算子:@

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。