2009-02-09 69 views
34

Cho đến Office 2007, Excel có tối đa 65.000 hàng. Office 2007 đã đạt đến mức tối đa 1 triệu hàng, điều này đẹp hơn tất nhiên; nhưng tôi tò mò - tại sao lại có giới hạn? Rõ ràng, hiệu suất sẽ chậm lại theo cấp số nhân khi bạn tăng kích thước bảng tính; nhưng nó không phải là rất khó để có Excel tối ưu hóa cho rằng bằng cách bắt đầu với một tấm nhỏ và tự động "tái kích thước" nó chỉ khi cần thiết. Cho biết cần phải có bao nhiêu công việc để tăng giới hạn từ 65K lên 1 triệu, tại sao họ không đi tất cả nên nó chỉ bị giới hạn bởi dung lượng bộ nhớ còn trống và dung lượng đĩa?Tại sao vẫn có giới hạn hàng trong Microsoft Excel?

+2

Có vẻ như một câu hỏi chỉ có thể được trả lời bởi chính Microsoft. –

+3

@Zach Scrivena, Có vẻ như không phải như vậy. Điều đó, và chúng tôi có một số người MS ở đây trên SO. – mmcdole

+0

Có lẽ đó là làm cho công cụ trở nên ngu ngốc hơn. Với 1 triệu hàng nó chỉ mất một chút nỗ lực để chạy ra khỏi bộ nhớ hoặc có một cái gì đó tính toán mãi mãi (một số vlookups đẹp hoặc các công thức phức tạp khác nên làm). Không có giới hạn, bạn có thể lấp đầy bộ nhớ của bạn chỉ bằng cách điền vào một cột 'để phía dưới'. Điều này rõ ràng sẽ dẫn đến nhiều tình huống mà kết luận của người dùng cuối sẽ là 'nó không hoạt động' và làm giảm trải nghiệm người dùng tổng thể. –

Trả lời

26

(cập nhật vì lỗi ... Một gợi ý để tất cả mọi người: không đăng lên SO trước khi bạn hoàn toàn tỉnh táo)

Có lẽ vì tối ưu hóa. Excel 2007 có thể có tối đa 16 384 cột và 1 048 576 hàng. Số lạ?

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

14 + 20 = 34 bit = nhiều hơn một 32 bit đăng ký có thể giữ.

Nhưng chúng cũng cần lưu trữ định dạng ô (văn bản, số vv) và định dạng (màu, đường viền, v.v.). Giả sử họ sử dụng hai từ 32 bit (64 bit), họ sử dụng 34 bit cho số ô và có 30 bit cho những thứ khác.

Tại sao điều đó quan trọng? Trong bộ nhớ, chúng không cần phân bổ tất cả bộ nhớ cần thiết cho toàn bộ bảng tính mà chỉ có bộ nhớ cần thiết cho dữ liệu của bạn và mọi dữ liệu được gắn thẻ trong ô nào được cho là nằm trong đó.

Cập nhật 2016:

Tìm thấy một liên kết đến Microsoft's specification for Excel 2013 & 2016

  • workbook mở: Giới hạn bởi nguồn tài nguyên bộ nhớ và hệ thống có sẵn
  • Bảng kích thước: 1.048.576 hàng (20 bit) bởi 16.384 cột (14 bit)
  • Chiều rộng cột: 255 ký tự (8 bit)
  • Chiều cao hàng: 409 điểm
  • phá vỡ trang: 1.026 ngang và dọc (số bất ngờ, có lẽ sai, 10 bit là 1024)
  • Tổng số các ký tự mà một tế bào có thể chứa: 32,767 ký tự (ký 16 bit)
  • Nhân vật trong một tiêu đề hoặc footer: 255 (8 bit)
  • Sheets trong một bảng tính: Giới hạn bởi bộ nhớ có sẵn (mặc định là 1 tờ)
  • màu sắc trong một bảng tính: 16 triệu màu (32 bit với quyền truy cập đầy đủ để phổ màu 24 bit)
  • Lượt xem có tên trong sổ làm việc: Bị giới hạn bởi bộ nhớ khả dụng
  • Unique định dạng di động/phong cách di động: 64.000 (16 bit = 65536)
  • Điền phong cách: 256 (8 bit) phong cách
  • cân Line và: 256 (8 bit)
  • Unique loại font: 1.024 (10 bit) các phông chữ toàn cầu có sẵn để sử dụng; 512 mỗi workbook
  • định dạng Số trong một workbook: giữa 200 và 250, tùy theo phiên bản ngôn ngữ của Excel mà bạn đã cài đặt
  • tên trong một bảng tính: Giới hạn bởi bộ nhớ có sẵn
  • Windows trong một bảng tính: Giới hạn bởi bộ nhớ khả dụng
  • Siêu kết nối trong trang tính: 66.530 siêu liên kết (số không mong muốn, có thể sai.16 bit = 65536)
  • Panes trong một cửa sổ: 4
  • tờ Liên Kết: Giới hạn bởi bộ nhớ có sẵn
  • Kịch bản: Giới hạn bởi bộ nhớ có sẵn; báo cáo tổng kết chỉ cho thấy 251 kịch bản đầu tiên
  • tế bào thay đổi trong một kịch bản: 32
  • tế bào có thể điều chỉnh trong Solver: 200
  • chức năng tùy chỉnh: Giới hạn bởi bộ nhớ có sẵn
  • Phóng khoảng: 10 phần trăm đến 400 phần trăm
  • Báo cáo: Bị giới hạn bởi bộ nhớ khả dụng
  • Sắp xếp tham chiếu: 64 trong một loại; không giới hạn khi sử dụng các loại tuần tự
  • mức Undo: 100
  • Fields ở dạng dữ liệu: 32
  • thông số Workbook: 255 thông số cho mỗi workbook
  • mục hiển thị trong danh sách thả xuống lọc: 10.000
+0

Tôi đang thiếu gì? Tôi làm điều đó là 14 + 20 = 34 – jtolle

+0

@jtolle: Bạn là chính xác. Đã quá sớm vào buổi sáng (04:00). – some

+3

@ htm11h Không quan trọng nếu bạn có 4GB hoặc 64PB, Excel vẫn có giới hạn 1048576 hàng và 16384 cột. [nguồn: Microsoft] (https://support.office.com/en-us/article/Excel-specifications-and-limits-ca36e2dc-1f09-4620-b726-67c00b05040f) – some

8

Trong từ tốc độ. Chỉ mục cho tối đa một triệu hàng phù hợp với từ 32 bit, do đó, nó có thể được sử dụng hiệu quả trên các bộ xử lý 32 bit. Các đối số chức năng phù hợp với thanh ghi CPU cực kỳ hiệu quả, trong khi các đối số lớn hơn yêu cầu truy cập bộ nhớ trên mỗi cuộc gọi hàm, hoạt động chậm hơn nhiều. Cập nhật bảng tính có thể là một hoạt động chuyên sâu liên quan đến nhiều tham chiếu ô, vì vậy tốc độ là quan trọng. Bên cạnh đó, nhóm Excel hy vọng rằng bất kỳ ai xử lý hơn một triệu hàng sẽ sử dụng cơ sở dữ liệu thay vì bảng tính.

+10

Điều đó không có ý nghĩa. Chắc chắn, một chỉ số hàng triệu phù hợp với 32 bit ... nhưng cũng có 4 tỷ hàng. Tại sao không đi đến đó? Đối với các đối số cơ sở dữ liệu - rõ ràng mọi người cảm thấy bị cản trở bởi 32K hàng và họ đã phải nâng nó lên 64k trong excel 97. Sau đó, họ nâng nó lên 1M trong Excel 2007. Tại sao không đi tất cả các cách? –

Các vấn đề liên quan