Tăng tốc độ xử lý excel

Tăng tốc độ xử lý excel

  • #1

Đã lần nào các bạn sử dụng một file excel lên đến vài chục MB chưa?
Câu trả lời của đại đa số mọi người có thể là "đã".
Với một file excel lên đến vài chục MB trở lên thì chủ yếu la công thức, chính vì thế nếu máy tính có cấu hình yếu mà xử lí những file như vậy sẽ mất nhiều thời gian, thậm chí có thể làm treo máy và phải khởi động nóng để thoát khỏi ứng dụng của excel. Vậy cách giải quyết đơn giản nhất để tăng tốc độ xử lí của máy tính và hạn chế dung lượng của file đó xuống chính là xóa bỏ những nội dung không cần thiết trên file excel đó đi. Nhưng nếu không may mà xóa mất dữ kiệu quan trọng thì...

Tăng tốc độ xử lý excel
Tăng tốc độ xử lý excel
Tăng tốc độ xử lý excel
Tăng tốc độ xử lý excel
vậy thay vì cách đó bạn hãy rút gọn ngắn công thức lại và đặt cho nó một cái "tên" như thế là 1 công 2 việc rồi(không làm mất dữ liệu quan trọng và file của bạn cũng nhỏ đi đáng kể) như thế tốc độ xử lý cũng được cải thiện nhiều. nói vậy mời các bạn xem trong file mình gửi kèm nhe
Chúc mọi người có ngày nghỉ lễ vui vẻ!

  • Dat ten cho ham.xls

    14.5 KB · Đọc: 432

Tăng tốc độ xử lý excel

  • #2

Bạn nói sao nghe đơn giản quá
Nói chung là tôi không tin việc đặt name có thể tăng tốc bảng tính (nếu name ấy không được xử lý thông minh)
Với cách đặt name thông thường như bạn vậy, cùng lắm chỉ làm cho công thức trên bảng tính gọn hơn chứ không vì thế mà bảng tính nhanh hơn đâu
Theo tôi,

bố trí dữ liệu hợp lý mới quan trọng nhất

---> Nếu có thể được thì nhập liệu không chứa bất kỳ công thức nào ---> Khi cần trích xuất hoặc tổng hợp ta mới dùng đến hàm hoặc VBA ---> Nhưng tốt nhất vẫn là dùng các công cụ có sẳn, như Advanced Filter, AutoFilter, Consolidation, PivotTable... vân vân...

Tăng tốc độ xử lý excel

  • #3

Vâng bác Ndu nói cũng không sai nhưng bác có công nhận là nếu xử lý trong excel một bàn tính với nhiều dữ liệu có nghĩa là kích thước bảng tính lớn máy xử lí chậm hơn chứ bác. Đơn giản như việc bác đi xe máy cũng vậy bác đi 1 mình 1 xe khác với việc bác phải đèo thêm người chứ, vậy file excel em nghĩ nó cũng không khác với cái ví dụ em đưa ra.

Tăng tốc độ xử lý excel

  • #4

Vâng bác Ndu nói cũng không sai nhưng bác có công nhận là nếu xử lý trong excel một bàn tính với nhiều dữ liệu có nghĩa là kích thước bảng tính lớn máy xử lí chậm hơn chứ bác. Đơn giản như việc bác đi xe máy cũng vậy bác đi 1 mình 1 xe khác với việc bác phải đèo thêm người chứ, vậy file excel em nghĩ nó cũng không khác với cái ví dụ em đưa ra.

Chính vậy nên tôi mới nói rằng: "Bố trí dữ liệu hợp lý là quan trọng nhât"
Tôi từng xử lý những dữ liệu lớn cở 60.000 dòng... chạy vèo vèo... Đơn giản vì trong file tôi chẳng chứa tí công thức nào nên làm gì có chuyện chậm được! Đến khi cần trích xuất hay tổng hợp, tôi dùng VBA hoặc PivotTalbe, 1 phát ra ngay!

Tóm lại

: Dữ liệu nhiều hay ít chăng quan trọng gì! Cũng giống như nhà chật, nhiều đồ dùng nhưng biết cách sắp xếp thì vẫn cảm thấy gọn như thường
Một điều lưu ý nhỏ: Dữ liệu được sort trước bao giờ cũng cho tốc độ nhanh hơn khi xử lý!

Tăng tốc độ xử lý excel

  • #5

Chính vậy nên tôi mới nói rằng: "Bố trí dữ liệu hợp lý là quan trọng nhât"
Tôi từng xử lý những dữ liệu lớn cở 60.000 dòng... chạy vèo vèo... Đơn giản vì trong file tôi chẳng chứa tí công thức nào nên làm gì có chuyện chậm được! Đến khi cần trích xuất hay tổng hợp, tôi dùng VBA hoặc PivotTalbe, 1 phát ra ngay!

Tóm lại

: Dữ liệu nhiều hay ít chăng quan trọng gì! Cũng giống như nhà chật, nhiều đồ dùng nhưng biết cách sắp xếp thì vẫn cảm thấy gọn như thường
Một điều lưu ý nhỏ: Dữ liệu được sort trước bao giờ cũng cho tốc độ nhanh hơn khi xử lý!

Cám ơn bác Ndu nhưng giả như với 1 file kế toán có nhiều sheet với nhiều sổ sách nằm trên từng sheet khác khau vấn đề đặt ra chính là các công thức được liên kết với nhau từ 1 bảng nhập liệu. Trong trường hợp đó làm sao có thể dùng Pivot Tablle, việc sử dụng VBA không phải ai cũng có thể biết các sử dụng khi ấy thì việc xử dụng công thức đơn thuần trong excel mới là sự lựa chọn đúng không ạ

Tăng tốc độ xử lý excel

  • #6

Cám ơn bác Ndu nhưng giả như với 1 file kế toán có nhiều sheet với nhiều sổ sách nằm trên từng sheet khác khau vấn đề đặt ra chính là các công thức được liên kết với nhau từ 1 bảng nhập liệu. Trong trường hợp đó làm sao có thể dùng Pivot Tablle, việc sử dụng VBA không phải ai cũng có thể biết các sử dụng khi ấy thì việc xử dụng công thức đơn thuần trong excel mới là sự lựa chọn đúng không ạ

Tôi không bàn về việc dùng công thức hay VBA, chỉ lưu ý các bạn 2 điều:
- Hạn chế tối đa công thức trong các bảng nhập liệu (đã nhập liệu mà còn lẩn lộn với công thức tính toán thì có phải quá lủng củng không?) ---> Ví dụ thay vì cứ gõ STT bình thường bằng cách kéo fill, các bạn lại chơi công thức =IF(gì gì đó.... ) ---> quá thừa
- Bố trí dử liệu hợp lý để việc truy xuất được thuận tiện hơn ---> Ví dụ: thay vì làm 1 bảng tính rõ ràng, có 1 dòng tiêu đề với đầy đủ các trường, các bạn lại làm 1 dòng tiêu đề với cả đóng merge cell, muốn AutoFilter cũng thấy khó khăn rồi
Trên chỉ là 2 ví dụ nhỏ, ngoài ra còn rất nhiều lưu ý khác mà chỉ khi các bạn đam mê Excel thật sự (không phải làm vì công việc) thì các bạn mới nhận ra

Tăng tốc độ xử lý excel

  • #7

Tôi không bàn về việc dùng công thức hay VBA, chỉ lưu ý các bạn 2 điều:
- Hạn chế tối đa công thức trong các bảng nhập liệu (đã nhập liệu mà còn lẩn lộn với công thức tính toán thì có phải quá lủng củng không?) ---> Ví dụ thay vì cứ gõ STT bình thường bằng cách kéo fill, các bạn lại chơi công thức =IF(gì gì đó.... ) ---> quá thừa
- Bố trí dử liệu hợp lý để việc truy xuất được thuận tiện hơn ---> Ví dụ: thay vì làm 1 bảng tính rõ ràng, có 1 dòng tiêu đề với đầy đủ các trường, các bạn lại làm 1 dòng tiêu đề với cả đóng merge cell, muốn AutoFilter cũng thấy khó khăn rồi
Trên chỉ là 2 ví dụ nhỏ, ngoài ra còn rất nhiều lưu ý khác mà chỉ khi các bạn đam mê Excel thật sự (không phải làm vì công việc) thì các bạn mới nhận ra

Tôi đồng quan điểm với Ndu. Thay vì ta phải tìm công thức hoặc code phức tạp để làm việc với một bảng tính trình bày không khoa học, Tôi sẽ bỏ công để bố trí lại dữ liệu sau đó mới xử lý, tính toán bằng công thức hoặc code đơn giản hơn cho đỡ đau đầu.

Qua kinh nghiệm nhiều năm làm việc với bảng tính, Tôi thấy việc bố trí dữ liệu theo kiểu cây thư mục là rất khoa học, với cơ sở dữ liệu này ta có thể dễ dàng ứng dụng nhiều tính năng có sẵn trong Excel như Conditional Formatting, Autofilter, sử dụng các hàm điều kiện ...If hoặc sử dụng các chức năng đặc biệt của Excel như Specian... để xử lý bảng tính hoặc viết code theo kiểu mực hệt (viết theo kiểu mô tả hành động trên bảng tính) cũng dễ dàng hơn...

Tuy nhiên với cách trình bày dữ liệu như trên các bạn có thể nghĩ gây lãng phí giấy và khó khăn cho việc In ấn nhưng chỉ với một tý thủ thuật thu hẹp cột (lưu ý không phải là ẩn cột) thì mọi việc lại trở nên bình thường.

Ví dụ trong File đính kèm, các bạn chú ý dữ liệu trong các cột B -> E.

Vài điều chia xẻ, nếu có gì không phải xin các bạn bỏ qua cho lão lang băm này nha.

  • Data.rar

    14.9 KB · Đọc: 326

  • #8

Đúng là dùng VBA và không dùng công thức thì sẽ rất nhanh, tuy nhiên để có trình độ làm toàn bộ bằng VBA thì quá giỏi rồi

Ở trường hợp của mình dùng query thì lại bị bệnh là chiếm bộ nhớ rất rất nhiếu sau những lần Refresh Data. Khi đóng máy lại thì máy chạy lâu ơi là lâu vì bị chiếm bộ nhớ Ram.

Cho mình hỏi liệu có cách nào bằng code hoặc VBA để giải phóng Ram đi không nhỉ?

Khi mà save lâu quá mình toàn phải xử lý bằng cách đóng đột ngột thôi.

Tăng tốc độ xử lý excel

  • #9

Các bác xem file đính kèm của em, làm thế nào để "sheet" nhập liệu nhập được nhanh lên chút xíu
em đánh vào 1 ký tự gì đó là file của em tự động tính 4 sheet làm cho file ì ạch quá mà em thì ko biết xử lý thế nào cả

  • QL HD 20Tr 2015 thu nghiem.rar

    908.7 KB · Đọc: 110