Microsoft Excel には依然として行制限があるのはなぜですか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/526921

  •  22-08-2019
  •  | 
  •  

質問

Office 2007 までは、Excel の最大行数は 65,000 行でした。Office 2007 では、これが最大 100 万行に増加しました。もちろん、これはさらに優れています。でも気になるのですが、そもそもなぜ制限があるのでしょうか?スプレッドシートのサイズが大きくなると、明らかにパフォーマンスが指数関数的に低下します。ただし、小さなシートから開始し、必要な場合にのみ動的に「サイズ変更」することで、Excel にその最適化をさせるのはそれほど難しいことではありません。制限を 65,000 から 1,000,000 に増やすのにどれだけの作業が必要だったかを考えると、なぜ利用可能なメモリとディスク容量だけによって制限されるようにしなかったのでしょうか?

役に立ちましたか?

解決

(エラーのため更新しました...皆さんへの提案:完全に目覚める前に SO に投稿しないでください)

おそらく最適化のせいでしょう。Excel 2007 では、最大 16 384 列、1 048 576 行を含めることができます。奇妙な数字ですか?

14 ビット = 16 384、20 ビット = 1 048 576

14 + 20 = 34 ビット = 複数の 32 ビット レジスタを保持できます。

ただし、セルの形式 (テキスト、数値など) と書式設定 (色、境界線など) も保存する必要があります。2 つの 32 ビット ワード (64 ビット) を使用すると仮定すると、セル番号に 34 ビットを使用し、他のものに 30 ビットを使用します。

それがなぜ重要なのでしょうか?メモリ内では、スプレッドシート全体に必要なすべてのメモリを割り当てる必要はなく、データに必要なメモリのみを割り当てる必要があります。また、すべてのデータは、どのセルに配置されるべきかタグ付けされます。

2016 年のアップデート:

へのリンクが見つかりました Microsoft の Excel 2013 および 2016 の仕様

  • ワークブックを開く:利用可能なメモリとシステム リソースによって制限される
  • ワークシートのサイズ:1,048,576 行 (20 ビット) × 16,384 列 (14 ビット)
  • 列幅:255 文字 (8 ビット)
  • 行の高さ:409点
  • 改ページ:水平および垂直 1,026 (予期しない数、おそらく間違っています、10 ビットは 1024)
  • セルに含めることができる文字の合計数:32,767 文字 (符号付き 16 ビット)
  • ヘッダーまたはフッター内の文字:255 (8ビット)
  • ワークブック内のシート:使用可能なメモリによって制限されます (デフォルトは 1 シート)
  • ワークブック内の色:1,600 万色 (24 ビット カラー スペクトルへのフル アクセスを備えた 32 ビット)
  • ワークブック内の名前付きビュー:利用可能なメモリによって制限される
  • 独自のセル形式/セル スタイル:64,000 (16 ビット = 65536)
  • 塗りつぶしスタイル:256 (8ビット)
  • 線の太さとスタイル:256 (8ビット)
  • ユニークなフォントタイプ:1,024 (10 ビット) のグローバル フォントが使用可能。ワークブックあたり 512
  • ワークブック内の数値形式:200 ~ 250 (インストールされている Excel の言語バージョンに応じて)
  • ワークブック内の名前:利用可能なメモリによって制限される
  • ワークブック内のウィンドウ:利用可能なメモリによって制限される
  • ワークシート内のハイパーリンク:66,530 のハイパーリンク (予期しない数で、おそらく間違っています。16 ビット = 65536)
  • ウィンドウ内のペイン:4
  • リンクされたシート:利用可能なメモリによって制限される
  • シナリオ:利用可能なメモリによって制限されます。概要レポートには最初の 251 のシナリオのみが表示されます
  • シナリオ内のセルの変更:32
  • ソルバーで調整可能なセル:200
  • カスタム関数:利用可能なメモリによって制限される
  • ズーム範囲:10パーセントから400パーセント
  • レポート:利用可能なメモリによって制限される
  • 参照を並べ替えます:1 回の並べ替えで 64 個。順次ソートを使用する場合は無制限
  • 元に戻すレベル:100
  • データ フォーム内のフィールド:32
  • ワークブックのパラメータ:ワークブックごとに 255 個のパラメータ
  • フィルター ドロップダウン リストに表示される項目:10,000

他のヒント

一言で - スピード。最大百万行のインデックスは、32ビット・ワードに収まるので、32ビットプロセッサ上で効率的に使用することができます。大きいものは、各関数呼び出し、はるかに遅い操作上のメモリにアクセスする必要ながら、CPUのレジスタに収まる関数の引数は、非常に効率的です。スプレッドシートを更新することは、多くのセル参照を含む集約的な操作になるので、スピードが重要であることができます。また、Excelのチームは100万行以上を扱う誰もがデータベースではなく、スプレッドシートを使用することを期待しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top