2009-02-09 9 views
34

Bis Office 2007 hat Excel maximal 65.000 Zeilen. Office 2007 steigerte das auf maximal 1 Million Zeilen, was natürlich schöner ist; aber ich bin neugierig - warum gibt es überhaupt ein Limit? Offensichtlich verlangsamt sich die Leistung exponentiell, wenn Sie die Größe der Tabelle erhöhen. aber es sollte nicht sehr schwer sein, Excel dafür zu optimieren, indem man mit einem kleinen Blatt beginnt und es nur dynamisch nach Bedarf "neu dimensioniert". Angesichts wie viel Arbeit es gewesen sein muss, das Limit von 65K auf 1 Million zu erhöhen, warum sind sie nicht den ganzen Weg gegangen, so ist es nur durch die Menge an verfügbarem Speicher und Speicherplatz begrenzt?Warum gibt es immer noch ein Zeilenlimit in Microsoft Excel?

+2

Scheint wie eine Frage, die nur von Microsoft selbst beantwortet werden kann. –

+3

@Zach Scrivena, Sieht aus wie das ist nicht der Fall. Das und wir haben einige MS-Leute hier auf SO. – mmcdole

+0

Vielleicht ist es, um das Werkzeug narrensicherer zu machen. Bei 1 Million Zeilen braucht es nur ein wenig Aufwand, um den Speicher zu leeren oder etwas für immer berechnen zu lassen (einige nette vlookups oder andere komplizierte Formeln sollten tun). Ohne Grenzen können Sie Ihren Speicher füllen, indem Sie einfach eine Spalte nach unten ausfüllen. Dies würde offensichtlich in vielen Situationen resultieren, in denen die Schlussfolgerung des Endbenutzers "es wird nicht funktionieren" und die gesamte Benutzererfahrung reduzieren wird. –

Antwort

26

(wegen Fehler aktualisiert ... Ein Vorschlag an alle: Post auf nicht so, bevor Sie ganz wach sind)

Wahrscheinlich wegen Optimierungen. Excel 2007 kann maximal 16 384 Spalten und 1 048 576 Zeilen enthalten. Seltsame Zahlen?

14 Bit = 16 384, 20 Bits = 1 048 576

14 + 20 = 34 Bits = mehr als eine 32-Bit-Register halten.

Aber sie müssen auch das Format der Zelle (Text, Nummer usw.) und Formatierung (Farben, Rahmen usw.) speichern. Unter der Annahme, dass sie zwei 32-Bit-Wörter (64 Bit) verwenden, verwenden sie 34 Bits für die Zellennummer und 30 Bits für andere Dinge.

Warum ist das wichtig? Im Speicher müssen sie nicht den gesamten Speicher reservieren, der für das gesamte Arbeitsblatt benötigt wird, sondern nur den Speicher, der für Ihre Daten erforderlich ist, und jede Daten wird mit der Zelle versehen, in der sie sich befinden soll.

-Update 2016:

Gefunden einen Link zu Microsoft's specification for Excel 2013 & 2016

  • öffnen Arbeitsmappe: Limited durch den verfügbaren Speicher und Systemressourcen
  • Arbeitsblatt Größe: 1.048.576 Zeilen (20 Bits) von 16.384 Spalten (14 Bit)
  • Spaltenbreite: 255 Zeichen (8 Bit)
  • Zeilenhöhe: 409 Punkte
  • Seitenumbrüche: 1026 horizontal und vertikal (unerwartete Zahl, wahrscheinlich falsch, 10 Bits 1024)
  • Anzahl der Zeichen, die eine Zelle enthalten: 32.767 Zeichen (unterzeichnet 16 Bit)
  • Charaktere in einer Kopf- oder Fußzeile: 255 (8 Bit)
  • Blätter in einer Arbeitsmappe: Begrenzt durch verfügbare Speicher (Standard: 1 Blatt)
  • Farben in einer Arbeitsmappe: 16 Millionen Farben (32 Bit mit vollem Zugriff auf 24-Bit-Farbspektrum)
  • Benannte Ansichten in einer Arbeitsmappe: Begrenzt durch verfügbaren Arbeitsspeicher
  • einzigartige Zellformate/Zellenformate: 64000 (16 Bit = 65536)
  • Füllstile: 256 (8 Bit)
  • Linienstärke und Stile: 256 (8 Bit)
  • Einzigartige Schrifttypen: 1024 (10 Bit) globale Schriftarten zur Verwendung verfügbar; 512 pro Arbeitsmappe
  • Zahlenformate in einer Arbeitsmappe: Zwischen 200 und 250, auf der Sprachversion von Excel abhängig, die Sie
  • Namen in einer Arbeitsmappe installiert haben: Begrenzt durch verfügbare Speicher
  • Fenster in einer Arbeitsmappe: Begrenzt durch verfügbarer Speicher
  • Hyperlinks in einem Arbeitsblatt: 66.530 Hyperlinks (unerwartete Zahl, wahrscheinlich falsch.16 Bits = 65536)
  • Panes in einem Fenster: 4
  • verlinkte Blätter: begrenzt durch den verfügbaren Speicher
  • Szenarien: begrenzt durch den verfügbaren Speicher; ein zusammenfassender Bericht zeigt nur die ersten 251 Szenarien
  • Veränderbare Zellen in einem Szenario: 32
  • Einstellbare Zellen in Solver: 200
  • Funktionen Gewohnheit: Begrenzt durch verfügbare Speicher
  • Zoombereich: 10 bis 400 Prozent
  • Berichte: Begrenzt durch verfügbaren Speicher
  • Sortierung Referenzen: 64 in einer einzigen Sortierung; unbegrenzt bei der Verwendung von sequenzieller Art
  • Undo Ebene: 100
  • Felder in einer Datenform: 32
  • Arbeitsmappe Parameter: 255 Parameter pro Arbeitsmappe
  • Angebote im Filter Dropdown-Listen angezeigt: 10,000
+0

Was vermisse ich? Ich mache das als 14 + 20 = 34 – jtolle

+0

@jtolle: Sie sind richtig. Es war zu früh am Morgen (04:00). – some

+3

@ htm11h Es spielt keine Rolle, ob Sie 4GB oder 64PB haben, Excel hat immer noch eine Grenze von 1048576 Zeilen und 16384 Spalten. [Quelle: Microsoft] (https://support.office.com/de-de/article/Excel-specifications-and-limits-ca36e2dc-1f09-4620-b726-67c00b05040f) – some

8

In einem Wort - Geschwindigkeit. Ein Index für bis zu einer Million Zeilen passt in ein 32-Bit-Wort, sodass er effizient auf 32-Bit-Prozessoren verwendet werden kann. Funktionsargumente, die in ein CPU-Register passen, sind äußerst effizient, während solche, die größer sind, einen Speicherzugriff bei jedem Funktionsaufruf erfordern, ein weitaus langsamerer Vorgang. Das Aktualisieren einer Tabelle kann eine intensive Operation mit vielen Zellbezügen sein, daher ist Schnelligkeit wichtig. Außerdem erwartet das Excel-Team, dass jeder, der mit mehr als einer Million Zeilen zu tun hat, eine Datenbank anstelle einer Tabelle verwenden wird.

+10

Das macht keinen Sinn. Sicher, ein Zeilenindex von Millionen passt in 32 Bit ... aber auch 4 Milliarden Zeilen. Warum gehst du nicht dazu? Was das Datenbankargument anbetrifft - offensichtlich fühlten sich Leute durch 32K Zeilen behindert und mussten sie in Excel 97 auf 64k erhöhen. Dann haben sie es in Excel 2007 auf 1M erhöht. Warum nicht den ganzen Weg gehen? –

Verwandte Themen