A tömbök Excelben való használatának korlátainak leírása

Összefoglalás

A Microsoft Excel "Hatókör" szakaszában felsorolt verzióiban a "Számítási specifikációk" súgótémakör felsorolja a tömbök használatának korlátozásait. Ez a cikk az Excel tömbjeinek korlátozásait ismerteti.

További információ

Az Excelben a munkalapok tömbjeinek számát a rendelkezésre álló véletlenszerű elérésű memória, a tömbképletek teljes száma és a "teljes oszlop" szabály korlátozza.

Rendelkezésre álló memória

A "Hatókör" szakaszban felsorolt Excel-verziók nem korlátozzák a munkalaptömbök méretét. Ehelyett csak a számítógépen rendelkezésre álló memória korlátozza. Ezért nagyon nagy tömböket hozhat létre, amelyek több százezer cellát tartalmaznak.

A "teljes oszlop" szabály

Bár nagyon nagy tömböket is létrehozhat az Excelben, nem hozhat létre olyan tömböt, amely teljes oszlopot vagy több cellaoszlopot használ. Mivel egy teljes cellaoszlopot használó tömbképlet újraszámítása időigényes feladat, az Excel nem teszi lehetővé, hogy ilyen tömböt hozzon létre a képletekben.

Megjegyzés:

A Microsoft Office Excel 2003 és az Excel korábbi verziói egy oszlopában 65 536 cella található. A Microsoft Office Excel 2007 egy oszlopában 1 048 576 cella található.

Tömbképletek maximális száma

Az Excel 2003-ban és az Excel korábbi verzióiban egyetlen munkalap legfeljebb 65 472 olyan tömbképletet tartalmazhat, amely egy másik munkalapra hivatkozik. Ha több képletet szeretne használni, ossza fel az adatokat több munkalapra, hogy 65 472-nél kevesebb hivatkozás legyen egyetlen munkalapra.

Egy munkafüzet Munka1 lapján például a következő elemeket hozhatja létre:

  • 65 472 lapra hivatkozó tömbképlet
  • 65 472 lapra hivatkozó tömbképlet
  • 65 472 lapra hivatkozó tömbképlet

Ha több mint 65 472 olyan tömbképletet próbál létrehozni, amely egy adott munkalapra hivatkozik, a 65 472-es számú tömbképlet után megadott tömbképletek eltűnhetnek a beírásakor.

Példák tömbképletekre

Az alábbi lista a tömbképletek példáit tartalmazza. A példák használatához hozzon létre egy új munkafüzetet, majd adja meg az egyes képleteket tömbképletként. Ehhez írja be a képletet a szerkesztőlécre, majd nyomja le a CTRL+SHIFT+ENTER billentyűkombinációt a képlet beírásához.

Excel 2007

  • A1: =SZUM(HA(B1:B1048576=0,1,0))

    Az A1 cellában lévő képlet az eredmény 1048576. Ez az eredmény helyes.

  • A2: =SZUM(HA(B:B=0;1,0))

    Az A2 cellában lévő képlet az eredményt 1048576 adja vissza. Ez az eredmény helyes.

  • A3: =SZUM(HA(B1:J1048576=0,1,0))

    Az A3 cellában lévő képlet az eredményt 9437184 adja vissza. Ez az eredmény helyes.

    Megjegyzés:

    A képlet sok időt vehet igénybe az eredmény kiszámításához, mert a képlet több mint 1 millió cellát ellenőriz.

  • A4: =SZUM(HA(B:J=0;1;0))

    Az A4 cellában lévő képlet az eredmény 9437184. Ez az eredmény helyes.

    Megjegyzés:

    A képlet sok időt vehet igénybe az eredmény kiszámításához, mert a képlet több mint 1 millió cellát ellenőriz.

  • A5: =SZUM(HA(B1:DD1048576=0,1,0))

    Amikor beírja ezt a képletet az A5 cellába, a következő hibaüzenetek egyike jelenhet meg:

    Az Excelben elfogytak az erőforrások, miközben egy vagy több képletet próbált kiszámolni. Ennek eredményeképpen ezek a képletek nem értékelhetők ki.

    A kapott üzenethez tartozó egyedi szám meghatározásához nyomja le a CTRL+SHIFT+I billentyűkombinációt. Az üzenet jobb alsó sarkában a következő szám jelenik meg:

    101758

    Ebben az esetben a munkalaptömb mérete túl nagy a rendelkezésre álló memóriához. Ezért a képlet nem számítható ki.

    Emellett előfordulhat, hogy az Excel néhány percig nem válaszol. Ennek az az oka, hogy a többi beírt képletnek újra kell számítania az eredményeket.

    Az eredmények újraszámítása után az Excel a várt módon válaszol. Az A5 cellában lévő képlet a 0 (nulla) értéket adja vissza.

Excel 2003 és az Excel korábbi verziói

  • A1: =SZUM(HA(B1:B65535=0,1,0))

    Az A1 cellában lévő képlet a 65535-ös eredményt adja vissza. Ez az eredmény helyes.

  • A2: =SZUM(HA(B:B=0;1,0))

    Az A2 cellában lévő képlet egy #NUM ad vissza! hiba, mert a tömbképlet egy teljes cellaoszlopra hivatkozik.

  • A3: =SZUM(HA(B1:J65535=0,1,0))

    Az A3 cellában lévő képlet az eredmény 589815. Ez az eredmény helyes.

    Megjegyzés:

    A képlet sok időt vehet igénybe az eredmény kiszámításához, mert a képlet közel 600 000 cellát ellenőriz.

  • A4: =SZUM(HA(B:J=0;1;0))

    Az A2 cellában lévő képlethez hasonlóan az A4 cellában lévő képlet is #NUM! hiba, mert a tömbképlet egy teljes cellaoszlopra hivatkozik.

  • A5: =SZUM(HA(B1:DD65535=0,1,0))

    Amikor beírja a képletet az A5 cellába, az alábbi hibaüzenetek egyike jelenhet meg:

    Nincs elég memória. Folytatja visszavonás nélkül?

    Nincs elég memória.

    Ebben az esetben a munkalaptömb mérete túl nagy a rendelkezésre álló memóriához. Ezért a képlet nem számítható ki.

    Emellett előfordulhat, hogy az Excel néhány percig nem válaszol. Ennek az az oka, hogy a többi beírt képletnek újra kell számítania az eredményeket.

    Az eredmények újraszámítása után az Excel a várt módon válaszol. Az A5 cellában lévő képlet a 0 (nulla) értéket adja vissza.

Vegye figyelembe, hogy ezen képletek egyike sem működik az Excel korábbi verzióiban. Ennek az az oka, hogy a képletek által létrehozott munkalaptömbök mind nagyobbak, mint az Excel korábbi verzióiban érvényes maximális korlátok. Az alábbi lista az Excel tömböket használó függvényeit sorolja fel:

  • LIN.ILL()
  • MDETERM()
  • MINVERSE()
  • MMULT()
  • SZUM(HA())
  • SZORZATÖSSZEG()
  • TRANSZPONÁLÁS()
  • TREND()

Megjegyzés:

A függvényekkel kapcsolatos alábbi tények hasznosnak bizonyulnak.

  • Ha egy tömb bármelyik cellái üresek vagy szöveget tartalmaznak, a MINVERSE függvény a #VALUE! hibaértéket adja vissza.
  • A MINVERSE függvény a #VALUE! hibaértéket is visszaadja, ha a tömb nem egyenlő számú sorból és oszlopból áll.
  • A MINVERSE a #VALUE! hibát adja vissza, ha a visszaadott tömb 52 oszlopot és 52 sort meghaladó.
  • Az MMULT függvény #VALUE! értéket adja vissza, ha a kimenet meghaladja az 5460 cellát.
  • Az MDETERM függvény #VALUE! értéket ad vissza, ha a visszaadott tömb 73 sornál nagyobb 73 oszloppal.