Beskrivning av begränsningarna för att arbeta med matriser i Excel

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Sammanfattning

I de versioner av Microsoft Excel som listas i avsnittet "Gäller för" innehåller hjälpavsnittet "Beräkningsspecifikationer" begränsningar för att arbeta med en matris. I den här artikeln beskrivs begränsningar av matriser i Excel.

Mer information

I Excel begränsas matriser i kalkylblad av tillgängligt slumpmässigt accessminne, av det totala antalet matrisformler och av regeln "hela kolumnen".

Tillgängligt minne

De Excel-versioner som listas i avsnittet "Gäller för" har ingen begränsning av storleken på kalkylbladsmatriser. I stället begränsas du bara av det tillgängliga minnet på datorn. Därför kan du skapa mycket stora matriser som innehåller hundratals tusentals celler.

Regeln "hela kolumnen"

Även om du kan skapa mycket stora matriser i Excel kan du inte skapa en matris som använder en hel kolumn eller flera kolumner med celler. Eftersom det tar lång tid att beräkna om en matrisformel som använder en hel kolumn med celler går det inte att skapa den här typen av matris i en formel i Excel.

Anteckning

Det finns 65 536 celler i en kolumn i Microsoft Office Excel 2003 och i tidigare versioner av Excel. Det finns 1 048 576 celler i en kolumn i Microsoft Office Excel 2007.

Maximalt antal matrisformel

I Excel 2003 och i tidigare versioner av Excel kan ett enda kalkylblad innehålla högst 65 472 matrisformler som refererar till ett annat kalkylblad. Om du vill använda fler formler delar du upp informationen i flera kalkylblad så att det finns färre än 65 472 referenser till ett enda kalkylblad.

I Blad1 i en arbetsbok kan du till exempel skapa följande objekt:

  • 65 472 matrisformel som refererar till Blad2
  • 65 472 matrisformel som refererar till Blad3
  • 65 472 matrisformel som refererar till Blad4

If you try to create more than 65,472 array formulas that refer to a specific worksheet, the array formulas that you enter after array formula number 65,472 may disappear when you enter them.

Exempel på matrisformel

Nedan följer en lista över exempel på matrisformel. Om du vill använda de här exemplen skapar du en ny arbetsbok och anger sedan varje formel som en matrisformel. Det gör du genom att skriva formeln i formelfältet och sedan trycka på CTRL+SKIFT+RETUR för att ange formeln.

Excel 2007

  • A1: =SUMMA(OM(B1:B1048576=0;1;0))

    Formeln i cell A1 returnerar resultatet 1048576. Det här resultatet är korrekt.

  • A2: =SUMMA(OM(B:B=0;1;0))

    Formeln i cell A2 returnerar resultatet 1048576. Det här resultatet är korrekt.

  • A3: =SUMMA(OM(B1:J1048576=0;1;0))

    Formeln i cell A3 returnerar resultatet 9437184. Det här resultatet är korrekt.

    Anteckning

    Det kan ta lång tid att beräkna resultatet i formeln eftersom formeln kontrollerar mer än 1 miljon celler.

  • A4: =SUMMA(OM(B:J=0;1;0))

    Formeln i cell A4 returnerar resultatet 9437184. Det här resultatet är korrekt.

    Anteckning

    Det kan ta lång tid att beräkna resultatet i formeln eftersom formeln kontrollerar mer än 1 miljon celler.

  • A5: =SUMMA(OM(B1:DD1048576=0;1;0))

    När du anger den här formeln i cell A5 kan du få något av följande felmeddelanden:

    Resurserna tog slut när du försökte beräkna en eller flera formler. Dessa formler kan därför inte utvärderas.

    Om du vill ta reda på det unika nummer som är kopplat till meddelandet du får trycker du på CTRL+SKIFT+I. Följande nummer visas i det nedre högra hörnet i det här meddelandet:

    101758

    I det här fallet är storleken på kalkylbladsmatrisen för stor för det tillgängliga minnet. Därför kan formeln inte beräknas.

    Excel kan dessutom verka sluta svara i några minuter. Det beror på att de andra formlerna du angav måste beräkna om resultatet.

    När resultatet har beräknats om svarar Excel som förväntat. Formeln i cell A5 returnerar värdet 0 (noll).

Excel 2003 och tidigare versioner av Excel

  • A1: =SUMMA(OM(B1:B65535=0,1,0))

    Formeln i cell A1 returnerar resultatet 65535. Det här resultatet är korrekt.

  • A2: =SUMMA(OM(B:B=0;1;0))

    Formeln i cell A2 returnerar en #NUM! eftersom matrisformeln refererar till en hel kolumn med celler.

  • A3: =SUMMA(OM(B1:J65535=0;1;0))

    Formeln i cell A3 returnerar resultatet 589815. Det här resultatet är korrekt.

    Anteckning

    Det kan ta lång tid att beräkna resultatet i formeln eftersom formeln kontrollerar nästan 600 000 celler.

  • A4: =SUMMA(OM(B:J=0;1;0))

    Precis som formeln i cell A2 returnerar formeln i cell A4 en #NUM! eftersom matrisformeln refererar till en hel kolumn med celler.

  • A5: =SUMMA(OM(B1:DD65535=0,1,0))

    När du anger formeln i cell A5 kan du få något av följande felmeddelanden:

    Inte tillräckligt med minne. Fortsätt utan att ångra?

    Inte tillräckligt med minne.

    I det här fallet är storleken på kalkylbladsmatrisen för stor för det tillgängliga minnet. Därför kan formeln inte beräknas.

    Excel kan dessutom verka sluta svara i några minuter. Det beror på att de andra formlerna du angav måste beräkna om resultatet.

    När resultatet har beräknats om svarar Excel som förväntat. Formeln i cell A5 returnerar värdet 0 (noll).

Observera att ingen av de här formlerna fungerar i tidigare versioner av Excel. Det beror på att kalkylbladsmatriserna som skapas av formlerna är större än maxgränserna i tidigare versioner av Excel. Nedan följer en lista över några av de funktioner i Excel som använder matriser:

  • LINEST()
  • MDETERM()
  • MINVERSE()
  • MMULT()
  • SUMMA(OM())
  • PRODUKTSUMMA()
  • TRANSPONERA()
  • TREND()

Anteckning

Följande information om funktionerna är bra att komma ihåg.

  • Om några celler i en matris är tomma eller innehåller text returnerar MINVERS #VALUE! felvärdet ..
  • MINVERSE returnerar också #VALUE! om matrisen inte har samma antal rader och kolumner.
  • MINVERSE returnerar #VALUE! om den returnerade matrisen överskrider 52 kolumner och 52 rader.
  • Funktionen MMULT returnerar #VALUE! om utdata överskrider 5 460 celler.
  • Funktionen MDETERM returnerar #VALUE! om den returnerade matrisen är större än 73 rader och 73 kolumner.