Applies ToExcel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Excel for iPad Excel for iPhone Excel for Android tablets Excel for Android phones

可傳回一組值的 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 中的 #溢出! 錯誤

隱含交集運算子:@

Need more help?

Want more options?

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

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