描述在 Excel 中使用數位的限制

摘要

在一節中所列的 Microsoft Excel 版本中,「計算規格」幫助主題會列出使用陣列的限制。 本文說明 Excel 中陣列的限制。

其他相關資訊

在 Excel 中,工作表中的數位受限於可用的隨機存取記憶體、陣列公式總數,以及「整個數據行」規則。

可用的記憶體

[套用至] 區段中所列的 Excel 版本不會對工作表陣列的大小施加限制。 相反地,您只會受限於計算機上的可用記憶體。 因此,您可以建立包含數十萬個儲存格的非常大型數位。

「整個數據行」規則

雖然您可以在 Excel 中建立非常大的陣列,但無法建立使用整個數據行或儲存格多個數據行的陣列。 因為重新計算使用整個儲存格數據行的數位公式會很耗時,所以 Excel 不允許您在公式中建立這種數位。

注意事項

Microsoft Office Excel 2003 和舊版 Excel 的數據行中有 65,536 個單元格。 Microsoft Office Excel 2007 中的數據行中有 1,048,576 個單元格。

數位公式上限

在 Excel 2003 和舊版 Excel 中,單一工作表最多可包含 65,472 個參照另一個工作表的數位公式。 如果您想要使用更多公式,請將數據分割成多個工作表,讓單一工作表的參考少於 65,472 個。

例如,在活頁簿的 Sheet1 中,您可以建立下列專案:

  • 參照 Sheet2 的 65,472 陣列公式
  • 參照 Sheet3 的 65,472 陣列公式
  • 參照 Sheet4 的 65,472 陣列公式

如果您嘗試建立超過 65,472 個參照特定工作表的數位公式,當您輸入數位公式編號 65,472 之後輸入的數位公式可能會消失。

數位公式範例

以下是陣列公式範例的清單。 若要使用這些範例,請建立新的活頁簿,然後輸入每個公式作為數位公式。 若要這樣做,請在公式列中輸入公式,然後按 CTRL+SHIFT+ENTER 以輸入公式。

Excel 2007

  • A1: =SUM (IF (B1:B1048576=0,1,0) )

    單元格 A1 中的公式會傳回結果1048576。 這個結果正確無誤。

  • A2: =SUM (IF (B:B=0,1,0) )

    單元格 A2 中的公式會傳回結果1048576。 這個結果正確無誤。

  • A3: =SUM (IF (B1:J1048576=0,1,0) )

    單元格 A3 中的公式會傳回結果9437184。 這個結果正確無誤。

    注意事項

    公式可能需要很長的時間來計算結果,因為公式正在檢查超過1百萬個單元格。

  • A4: =SUM (IF (B:J=0,1,0) )

    單元格 A4 中的公式會傳回結果9437184。 這個結果正確無誤。

    注意事項

    公式可能需要很長的時間來計算結果,因為公式正在檢查超過1百萬個單元格。

  • A5: =SUM (IF (B1:DD1048576=0,1,0) )

    當您在儲存格 A5 中輸入此公式時,可能會收到下列其中一個錯誤訊息:

    嘗試計算一或多個公式時,Excel 用完資源。 因此,無法評估這些公式。

    若要判斷與您收到的訊息相關聯的唯一數位,請按 CTRL+SHIFT+I。 下列數位會出現在此訊息的右下角:

    101758

    在此情況下,工作表陣列的大小對於可用記憶體而言太大。 因此,無法計算公式。

    此外,Excel 可能會停止響應幾分鐘。 這是因為您輸入的其他公式必須重新計算其結果。

    重新計算結果之後,Excel 會如預期般回應。 單元格 A5 中的公式會傳回值 0 (零) 。

Excel 2003 和舊版 Excel

  • A1: =SUM (IF (B1:B65535=0,1,0) )

    單元格 A1 中的公式會傳回結果 65535。 這個結果正確無誤。

  • A2: =SUM (IF (B:B=0,1,0) )

    單元格 A2 中的公式會傳回 #NUM! 錯誤,因為數位公式參考儲存格的整個數據行。

  • A3: =SUM (IF (B1:J65535=0,1,0) )

    單元格 A3 中的公式會傳回結果589815。 這個結果正確無誤。

    注意事項

    公式可能需要很長的時間來計算結果,因為公式正在檢查將近 600,000 個單元格。

  • A4: =SUM (IF (B:J=0,1,0) )

    如同儲存格 A2 中的公式,儲存格 A4 中的公式會傳回 #NUM! 錯誤,因為數位公式參考儲存格的整個數據行。

  • A5: =SUM (IF (B1:DD65535=0,1,0) )

    當您在儲存格 A5 中輸入公式時,可能會收到下列其中一個錯誤訊息:

    記憶體不足。 繼續而不復原?

    記憶體不足。

    在此情況下,工作表陣列的大小對於可用記憶體而言太大。 因此,無法計算公式。

    此外,Excel 可能會停止響應幾分鐘。 這是因為您輸入的其他公式必須重新計算其結果。

    重新計算結果之後,Excel 會如預期般回應。 單元格 A5 中的公式會傳回值 0 (零) 。

請注意,這些公式都無法在舊版 Excel 中運作。 這是因為公式所建立的工作表數位全部大於舊版Excel中的最大限制。 以下是 Excel 中使用數位的一些函式清單:

  • LINEST ()
  • MDETERM ()
  • MINVERSE ()
  • MMULT ()
  • SUM (IF () )
  • SUMPRODUCT ()
  • TRANSPOSE ()
  • TREND ()

注意事項

下列有關函式的事實有助於記住。

  • 如果陣列中的任何儲存格是空的或包含文字,MINVERSE 會傳回 #VALUE! 錯誤值。
  • 如果陣列資料列和資料行數目不相等,MINVERSE 也會傳回 #VALUE! 錯誤值。
  • 如果傳回的陣列超過 52 個資料行加上 52 個資料列,MINVERSE 會傳回 #VALUE 錯誤。
  • 如果輸出超過 5460 個儲存格,MMULT 函數會傳回 #VALUE!
  • 如果傳回的陣列大於 73 個資料列乘以 73 個資料行,則 MDETERM 函式會傳回 #VALUE!