Pourquoi y a-t-il encore une limite de ligne dans Microsoft Excel? [fermé]

Jusqu'à Office 2007, Excel a un maximum de 65 000 lignes. Office 2007 a cogné jusqu'à un maximum de 1 million de lignes, ce qui est plus agréable bien sûr; mais je suis curieux-pourquoi y a-t-il une limite du tout? De toute évidence, les performances ralentiront exponentiellement à mesure que vous augmenterez la taille de la feuille de calcul; mais il ne devrait pas être très difficile D'optimiser Excel pour cela en commençant par une petite feuille et en la "redimensionnant" dynamiquement seulement au besoin. Étant donné la quantité de travail qu'il doit avoir été d'augmenter la limite de 65K à 1 million, pourquoi ne sont-ils pas allés jusqu'au bout, donc c'est limité seulement par la quantité de mémoire disponible et d'espace disque?

38
demandé sur smci 2009-02-09 04:53:01

2 réponses

(Mise à jour en raison d'une erreur... Une suggestion à tout le monde: ne postez pas sur SO avant d'être complètement éveillé)

Probablement à cause des optimisations. Excel 2007 peut avoir un maximum de 16 384 colonnes et 1 048 576 lignes. Des chiffres étranges?

14 bits = 16 384, 20 bits = 1 048 576

14 + 20 = 34 bits = plus d'un registre 32 bits peut contenir.

Mais ils doivent également stocker le format de la cellule (texte, Nombre, etc.) et la mise en forme (couleurs, bordures, etc.). Supposer ils utilisent deux mots 32 bits (64 bits) ils utilisent 34 bits pour le numéro de cellule et ont 30 bits pour d'autres choses.

Pourquoi est-ce important? En mémoire, ils n'ont pas besoin d'allouer toute la mémoire nécessaire à l'ensemble de la feuille de calcul, mais seulement la mémoire nécessaire à vos données, et chaque donnée est étiquetée dans quelle cellule elle est supposée être.

Mise à Jour 2016:

Trouvé un lien vers la spécification de Microsoft pour Excel 2013 & 2016

  • classeurs ouverts: Limité par la mémoire disponible et les ressources système
  • Taille de la feuille de calcul: 1 048 576 lignes (20 bits) par 16 384 colonnes (14 bits)
  • Largeur de colonne: 255 caractères (8 bits)
  • Hauteur de ligne: 409 points
  • sauts de Page: 1 026 horizontaux et verticaux (nombre inattendu, probablement faux, 10 bits est 1024)
  • Nombre Total de caractères qu'une cellule peut contenir: 32 767 caractères (signés 16 bits)
  • caractères dans un en-tête ou un pied de page: 255 (8 bits)
  • feuilles dans un classeur: limité par la mémoire disponible (la valeur par défaut est 1 feuille)
  • couleurs dans un classeur: 16 millions de couleurs (32 bits avec un accès complet au spectre de couleurs 24 bits)
  • vues nommées dans un classeur: limitées par la mémoire disponible
  • formats de cellules uniques / styles de cellules: 64 000 (16 bits = 65536)
  • styles de remplissage: 256 (8 bits)
  • ligne poids et styles: 256 (8 bits)
  • types de polices uniques: 1 024 polices globales (10 bits) disponibles; 512 par classeur
  • Nombre de formats dans un classeur: entre 200 et 250, selon la version linguistique D'Excel que vous avez installée
  • Noms dans un classeur: Limité par la mémoire disponible
  • Fenêtres dans un classeur: Limité par la mémoire disponible
  • hyperliens dans une feuille de calcul: 66 530 hyperliens (nombre inattendu, probablement faux. 16 bits = 65536)
  • volets d'une fenêtre: 4
  • feuilles liées: limitées par la mémoire disponible
  • scénarios: limité par mémoire disponible; un rapport de synthèse ne montre que les 251 premiers scénarios
  • changement de cellules dans un scénario: 32
  • cellules réglables dans le solveur: 200
  • fonctions personnalisées: limitées par la mémoire disponible
  • Plage De Zoom: 10 pour cent à 400 pour cent
  • Rapports: Limité par la mémoire disponible
  • trier les références: 64 dans un seul tri; illimité lors de l'utilisation des tris séquentiels
  • annuler les niveaux: 100
  • Champs dans un formulaire de données: 32
  • classeur paramètres: 255 paramètres par classeur
  • éléments affichés dans les listes déroulantes des filtres: 10 000
29
répondu some 2017-11-15 10:25:44

En un mot-vitesse. Un index pour un million de lignes correspond à un mot 32 bits, de sorte qu'il peut être utilisé efficacement sur les processeurs 32 bits. Les arguments de fonction qui tiennent dans un registre de CPU sont extrêmement efficaces, tandis que ceux qui sont plus grands nécessitent l'accès à la mémoire à chaque appel de fonction, une opération beaucoup plus lente. La mise à jour d'une feuille de calcul peut être une opération intensive impliquant de nombreuses références de cellules, donc la vitesse est importante. En outre, L'équipe Excel s'attend à ce que toute personne traitant de plus d'un million de lignes utilisera une base de données plutôt qu'une feuille de calcul.

9
répondu Two Bit Gangster 2009-02-09 02:03:16