Waarom is er nog een rijlimiet in Microsoft Excel?

Tot Office 2007 heeft Excel maximaal 65.000 rijen. Office 2007 botste dat tot een maximum van 1 miljoen rijen, die natuurlijk leuker is; Maar ik ben nieuwsgierig – waarom is er een limiet? Uiteraard vertraagt ​​de prestaties exponetiaal terwijl u de spreadsheetgrootte verhoogt; Maar het zou niet erg moeilijk moeten zijn om Excel te laten optimaliseren voor dat door te beginnen met een klein vel en dynamisch “het opnieuw te formuleren” als dat nodig is.
Gezien hoeveel werk het moet zijn geweest om de limiet van 65K tot 1 miljoen te verhogen, waarom zijn ze niet helemaal gegaan, dus het is alleen beperkt door het aantal beschikbare geheugen- en schijfruimte?


Antwoord 1, Autoriteit 100%

Waarschijnlijk vanwege optimalisaties. Excel 2007 kan maximaal 16 & NBSP; 384 kolommen en 1 & NBSP; 048 & NBSP; 576 rijen. Vreemde nummers?

14 bits = 16 & nbsp; 384, 20 bits = 1 & nbsp; 048 & nbsp; 576

14 + 20 = 34 bits = meer dan één 32-bits register kan vasthouden.

Maar ze moeten ook het formaat van de cel (tekst, nummer enz.) en opmaak (kleuren, grenzen enz.) Opslaan. Ervan uitgaande dat ze twee 32-bits woorden (64 bit) gebruiken, gebruiken ze 34 bits voor het mobiele nummer en hebben ze 30 bits voor andere dingen.

Waarom is dat belangrijk? In het geheugen hoeven ze niet alle geheugen toe te wijzen die nodig is voor het hele spreadsheet, maar alleen het geheugen dat nodig is voor uw gegevens, en elke gegevens worden getagd met in welke cel het zou moeten zijn.

update 2016:

Gevonden een link naar Microsoft’s specificatie voor Excel 2013 & amp; 2016

  • Open Werkboeken: beperkt door beschikbare geheugen- en systeembronnen
  • Werkbladgrootte: 1,048,576 rijen (20 bits) met 16,384 kolommen (14 bits)
  • Kolombreedte: 255 tekens (8 bits)
  • rijhoogte: 409 punten
  • Pagina-pauzes: 1,026 Horizontaal en verticaal (onverwacht aantal, waarschijnlijk verkeerd, 10 bits is 1024)
  • Totaal aantal tekens dat een cel kan bevatten: 32.767 tekens (ondertekend 16 bits)
  • tekens in een kop of voettekst: 255 (8 bits)
  • vellen in een werkmap: beperkt door het beschikbare geheugen (standaard is 1 vel)
  • Kleuren in een werkmap: 16 miljoen kleuren (32 bit met volledige toegang tot 24-bits kleurenspectrum)
  • genoemde weergaven in een werkmap: beperkt door het beschikbare geheugen
  • Unieke celindelingen / celstijlen: 64.000 (16 bits = 65536)
  • Vulstijlen: 256 (8 bits)
  • Lijngewicht en stijlen: 256 (8 bits)
  • Unieke lettertypen: 1.024 (10 bits) Global-lettertypen beschikbaar voor gebruik; 512 per werkmap
  • Nummerformaten in een werkmap: tussen 200 en 250, afhankelijk van de taalversie van Excel die u hebt geïnstalleerd
  • namen in een werkmap: beperkt door het beschikbare geheugen
  • Windows in een werkmap: beperkt door het beschikbare geheugen
  • Hyperlinks in een werkblad: 66.530 hyperlinks (onverwacht aantal, waarschijnlijk verkeerd. 16 bits = 65536)
  • panelen in een venster: 4
  • Gelinkte vellen: beperkt door het beschikbare geheugen
  • Scenario’s: beperkt door het beschikbare geheugen; Een samenvattend rapport toont alleen de eerste 251 scenario’s
  • Cellen veranderen in een scenario: 32
  • Instelbare cellen in oplosser: 200
  • Aangepaste functies: beperkt door het beschikbare geheugen
  • Zoombereik: 10 procent tot 400 procent
  • Rapporten: beperkt door het beschikbare geheugen
  • Sorteer referenties: 64 in één soort; onbeperkt bij het gebruik van sequentiële soorten
  • Ongedaan maken van niveaus: 100
  • Velden in een gegevensformulier: 32
  • Werkboekparameters: 255 parameters per werkmap
  • items weergegeven in filter vervolgkeuzelijsten: 10.000

Antwoord 2, autoriteit 21%

In één woord: snelheid. Een index voor maximaal een miljoen rijen past in een 32-bits woord, zodat het efficiënt kan worden gebruikt op 32-bits processors. Functieargumenten die in een CPU-register passen, zijn extreem efficiënt, terwijl voor grotere argumenten bij elke functieaanroep toegang nodig is tot het geheugen, wat een veel langzamere operatie is. Het bijwerken van een spreadsheet kan een intensieve operatie zijn met veel celverwijzingen, dus snelheid is belangrijk. Bovendien verwacht het Excel-team dat iedereen die met meer dan een miljoen rijen werkt, een database zal gebruiken in plaats van een spreadsheet.

Other episodes