Trong môi trường làm việc hiện đại, Microsoft Excel đã trở thành một trong những công cụ phổ biến nhất để xử lý dữ liệu, thực hiện phân tích và tạo báo cáo. Tuy nhiên, khi làm việc với các tệp tin có kích thước lớn, chứa nhiều công thức phức tạp hoặc sử dụng nhiều tính năng nâng cao, người dùng thường gặp phải một thông báo lỗi khó chịu: “Excel has run out of memory” (Excel không còn đủ bộ nhớ). Bài viết này sẽ đi sâu vào nguyên nhân gây ra lỗi “Not Enough Memory”, phân tích các yếu tố ảnh hưởng, đưa ra các giải pháp khắc phục cụ thể và cung cấp một số mẹo tối ưu hóa hiệu suất làm việc trong Excel, giúp bạn giảm thiểu tối đa khả năng gặp phải lỗi này.
Có thể bạn quan tâm: Excel Encountered Errors During Save: Nguyên Nhân, Giải Pháp Và Cách Phòng Ngừa Khi Làm Việc Với Microsoft Excel
1. Tổng quan về lỗi “Not Enough Memory” trong Excel
1.1. Thông điệp lỗi thường gặp
Khi Excel không thể tiếp tục thực hiện một thao tác do thiếu bộ nhớ, nó sẽ hiển thị một trong các thông báo sau:
– “Excel has run out of memory.”
– “Not enough memory to complete this operation.”
– “Excel cannot complete this task with available memory.”
Các thông báo này có thể xuất hiện trong nhiều tình huống: khi mở một file lớn, khi thực hiện tính toán công thức, khi sao chép/dán dữ liệu, hoặc khi chạy macro VBA.
1.2. Tầm quan trọng của việc hiểu và xử lý lỗi
Nếu không giải quyết kịp thời, lỗi “Not Enough Memory” có thể dẫn đến:
– Mất dữ liệu: Khi Excel đóng đột ngột hoặc không thể lưu file.
– Gián đoạn công việc: Thời gian chết (downtime) kéo dài, ảnh hưởng đến tiến độ dự án.
– Giảm hiệu suất: Người dùng phải tốn thời gian tối ưu lại file hoặc chuyển sang phần mềm khác.
Có thể bạn quan tâm: Hướng Dẫn Tải Và Cài Đặt Microsoft Excel Cho Windows 10: Tất Cả Những Điều Bạn Cần Biết
2. Nguyên nhân gây ra lỗi “Not Enough Memory”
2.1. Giới hạn bộ nhớ của Excel và hệ điều hành
- Phiên bản Excel 32-bit vs 64-bit: Excel 32-bit chỉ hỗ trợ tối đa khoảng 2 GB bộ nhớ (đôi khi thực tế còn ít hơn do chia sẻ với hệ thống). Ngược lại, Excel 64-bit có thể sử dụng tới 8 TB (tùy vào RAM máy tính). Nếu bạn đang dùng phiên bản 32-bit trên máy có RAM lớn, vẫn sẽ bị giới hạn.
- Hệ điều hành 32-bit: Cũng giới hạn bộ nhớ khả dụng cho mỗi tiến trình.
2.2. Kích thước file Excel vượt quá khả năng xử lý
- Số lượng hàng và cột: Excel 2026 trở lên hỗ trợ 1,048,576 hàng và 16,384 cột. Khi dữ liệu gần đạt tới mức này, bộ nhớ tiêu tốn sẽ tăng đáng kể.
- Dung lượng file: File .xlsx vượt quá 2 GB (đối với Excel 32-bit) thường gây lỗi.
- Số lượng sheet: Nhiều sheet với dữ liệu và công thức phức tạp cũng làm tăng tiêu thụ bộ nhớ.
2.3. Công thức và tính toán phức tạp
- Mảng công thức (Array Formulas): Đòi hỏi Excel tính toán nhiều giá trị cùng lúc.
- Công thức vòng lặp (circular references): Khi tính toán liên tục, Excel tiêu tốn bộ nhớ để lưu trữ trạng thái.
- Các hàm volatile:
NOW(),TODAY(),RAND(),OFFSET(),INDIRECT()… mỗi lần tính toán lại sẽ làm tăng tải bộ nhớ.
2.4. Định dạng và đối tượng không cần thiết
- Định dạng toàn bộ cột/row: Áp dụng màu nền, font, border cho toàn bộ cột/row thay vì chỉ các ô chứa dữ liệu.
- Đối tượng đồ họa: Hình ảnh, biểu đồ, SmartArt, Shapes, và các đối tượng OLE (Object Linking and Embedding) chiếm bộ nhớ đáng kể.
- PivotTable và Power Query: Khi không được tối ưu (ví dụ: lưu trữ dữ liệu nguồn trong bộ nhớ), chúng có thể tiêu tốn nhiều RAM.
2.5. Add-in và macro VBA
- Add-in không tối ưu: Các add-in của bên thứ ba có thể giữ lại bộ nhớ sau khi thực hiện thao tác.
- Macro VBA rò rỉ bộ nhớ: Sử dụng
Set obj = Nothingkhông đúng cách, hoặc tạo quá nhiều đối tượng trong vòng lặp.
2.6. Các chương trình và dịch vụ nền (background) khác
- Phần mềm diệt virus: Khi quét file Excel trong thời gian mở hoặc lưu, sẽ làm giảm bộ nhớ khả dụng.
- Các ứng dụng tiêu tốn RAM: Trình duyệt web với nhiều tab, phần mềm đồ họa, IDE… có thể giảm bộ nhớ còn lại cho Excel.
Có thể bạn quan tâm: Excel Không Tính Toán Công Thức: Nguyên Nhân, Giải Pháp Và Các Bước Khắc Phục Chi Tiết
3. Cách kiểm tra và xác định nguyên nhân
3.1. Kiểm tra phiên bản Excel
- Vào File > Account > About Excel để xem phiên bản 32-bit hay 64-bit.
- Nếu đang dùng 32-bit và thường xuyên làm việc với file lớn, cân nhắc chuyển sang 64-bit.
3.2. Kiểm tra dung lượng file và cấu trúc
- File > Info > Properties để xem kích thước file.
- Mở Excel Options > Advanced > Display và kiểm tra “Show this number of Recent Documents” để giảm tải.
- Sử dụng Power Query để xem dữ liệu nguồn và kích thước bảng.
3.3. Kiểm tra công thức và hàm volatile
- Sử dụng Formulas > Formula Auditing > Show Formulas để hiển thị công thức.
- Dùng Ctrl + ~ (dấu ngã) để chuyển sang chế độ hiển thị công thức.
- Tìm các hàm volatile bằng cách sử dụng Find (Ctrl+F) và nhập tên hàm.
3.4. Kiểm tra các add-in và macro
- Vào File > Options > Add-ins và kiểm tra danh sách Active Add-ins.
- Vô hiệu hoá tạm thời các add-in không cần thiết và kiểm tra lại.
- Mở VBA Editor (Alt+F11), xem các module và kiểm tra việc giải phóng đối tượng.
3.5. Kiểm tra tài nguyên hệ thống
- Mở Task Manager (Ctrl+Shift+Esc), chuyển tới tab Performance để xem mức sử dụng RAM.
- Kiểm tra các tiến trình chiếm nhiều bộ nhớ và đóng bớt nếu không cần.
4. Giải pháp khắc phục trực tiếp
4.1. Chuyển sang Excel 64-bit

Có thể bạn quan tâm: Không Xuống Dòng Được Trong Excel: Nguyên Nhân, Giải Pháp Và Cách Tối Ưu Hóa Công Việc
- Lợi ích: Giải phóng giới hạn 2 GB, cho phép sử dụng toàn bộ RAM.
- Cách thực hiện:
- Gỡ cài đặt Office 32-bit: Control Panel > Programs and Features.
- Tải và cài đặt Office 64-bit từ trang Microsoft (đảm bảo máy chạy hệ điều hành 64-bit).
4.2. Giảm kích thước file
- Xóa các sheet không cần thiết.
- Loại bỏ định dạng toàn cột/row: Chọn cột/row, vào Home > Clear > Clear Formats.
- Xóa các ô trống có định dạng: Sử dụng Ctrl+End để kiểm tra vị trí cuối cùng, xóa các dòng/cột thừa.
- Nén hình ảnh: Chọn hình ảnh > Picture Tools > Format > Compress Pictures.
- Chuyển đổi sang định dạng .xlsb (Binary Workbook) để giảm kích thước và tăng tốc độ đọc/ghi.
4.3. Tối ưu công thức
- Thay thế công thức volatile bằng công thức tĩnh hoặc sử dụng
INDEX/MATCHthay choOFFSET/INDIRECT. - Giảm số lượng mảng công thức: Thay bằng công thức chuẩn nếu có thể.
- Sử dụng bảng (Tables) và cấu trúc dữ liệu: Giúp Excel tính toán nhanh hơn.
- Sử dụng hàm
LET(Excel 365) để lưu trữ giá trị trung gian, giảm tính toán lặp.
4.4. Tối ưu PivotTable và Power Query
- Tắt tính năng “Save source data with file” trong PivotTable Options.
- Giảm số lượng trường trong PivotCache.
- Khi dùng Power Query, tắt “Enable Load to Data Model” nếu không cần.
- Sử dụng “Load To… Only Create Connection” để không lưu trữ dữ liệu trong workbook.
4.5. Quản lý add-in và macro
- Vô hiệu hoá add-in không cần: File > Options > Add-ins, chọn “COM Add-ins” và nhấn “Go…”.
- Rà soát VBA:
- Đảm bảo mọi đối tượng được giải phóng:
Set obj = Nothing. - Tránh tạo đối tượng trong vòng lặp mà không giải phóng.
- Sử dụng
Application.ScreenUpdating = FalsevàApplication.Calculation = xlCalculationManualkhi chạy macro nặng.
4.6. Tăng bộ nhớ ảo (Virtual Memory) của Windows
- Cách thực hiện:
- Control Panel > System > Advanced system settings.
- Tab Advanced > Performance > Settings.
- Tab Advanced > Virtual memory > Change.
- Bỏ chọn “Automatically manage paging file size for all drives”.
- Chọn ổ đĩa, đặt “Custom size” với Initial size và Maximum size gấp 1,5 – 2 lần dung lượng RAM.
- Lưu ý: Không nên đặt quá lớn để tránh giảm hiệu suất ổ cứng (đặc biệt nếu dùng SSD).
4.7. Xóa bộ nhớ cache và tạm thời
- Xóa file .EXD (Excel cache) trong
%temp%hoặc%appdata%\Microsoft\Excel\. - Xóa bộ nhớ tạm của Office: Đóng Excel, vào Run (Win+R), nhập
%temp%và xóa các thư mục liên quan tới Office.
4.8. Cập nhật và vá lỗi
- Đảm bảo Office được cập nhật: File > Account > Update Options > Update Now.
- Cài Windows Updates mới nhất để tối ưu hoá bộ nhớ và hiệu suất hệ thống.
5. Các phương pháp phòng ngừa lâu dài
5.1. Thiết kế file Excel hợp lý
- Phân chia dữ liệu: Thay vì một file duy nhất chứa mọi dữ liệu, tạo các workbook riêng cho mỗi bộ dữ liệu.
- Sử dụng Excel Tables: Giúp Excel quản lý dữ liệu hiệu quả hơn.
- Giới hạn số công thức: Đặt công thức trong một cột duy nhất, tránh sao chép công thức trên toàn cột.
5.2. Định kỳ dọn dẹp và tối ưu
- Sử dụng tính năng “Inspect Document”: File > Info > Check for Issues > Inspect Document để loại bỏ thông tin ẩn.
- Thực hiện “Save As” thường xuyên để làm mới file và loại bỏ dữ liệu rác.
- Sử dụng công cụ “Document Inspector” để loại bỏ metadata và thông tin không cần.
5.3. Áp dụng quy trình quản lý dữ liệu
- Sử dụng cơ sở dữ liệu (SQL, Access) cho dữ liệu lớn và chỉ import vào Excel khi cần phân tích.
- Kết hợp Power BI cho các báo cáo phức tạp, giảm tải cho Excel.
5.4. Đào tạo người dùng
- Tổ chức đào tạo về tối ưu công thức, cách sử dụng bảng, và các quy tắc đặt tên.
- Hướng dẫn cách kiểm tra và tắt add-in khi không cần.
5.5. Giám sát tài nguyên hệ thống
- Cài đặt phần mềm giám sát (như Process Explorer) để theo dõi mức sử dụng RAM của Excel theo thời gian.
- Thiết lập cảnh báo khi RAM vượt mức ngưỡng (ví dụ 80% của tổng RAM).
6. Các trường hợp đặc biệt và cách xử lý
6.1. Khi lỗi xảy ra trong khi mở file
- Mở ở chế độ Safe Mode: Nhấn
Ctrlkhi khởi động Excel để tắt add-in. - Mở file bằng Notepad (đối với .xlsx là file zip) và kiểm tra file
xl\worksheets\sheetX.xmlcó kích thước bất thường không. - Sao chép dữ liệu sang workbook mới: Mở một workbook trống, sao chép và dán giá trị (Paste Special > Values) để loại bỏ công thức và định dạng.
6.2. Khi lỗi xuất hiện trong quá trình tính toán công thức
- Tạm thời chuyển chế độ tính toán sang thủ công:
Application.Calculation = xlCalculationManual. - Xác định vùng tính toán lớn: Sử dụng Formula Auditing > Evaluate Formula để kiểm tra công thức gây lỗi.
- Giảm phạm vi công thức: Thay vì
SUM(A:A), sử dụngSUM(A1:A1000).
6.3. Khi macro VBA gây lỗi bộ nhớ
- Kiểm tra vòng lặp: Đảm bảo không có vòng lặp vô hạn.
- Sử dụng
DoEventstrong các vòng lặp dài để cho phép hệ thống giải phóng tài nguyên. - Giải phóng bộ nhớ: Sử dụng
Set rng = Nothing,Set ws = Nothingsau khi sử dụng.
7. Tổng kết và lời khuyên cuối cùng
Lỗi “Excel Not Enough Memory” không phải là một vấn đề không thể giải quyết. Thông qua việc hiểu rõ cấu trúc bộ nhớ của Excel, nhận diện các yếu tố tiêu tốn RAM (phiên bản phần mềm, kích thước file, công thức phức tạp, add-in, macro) và áp dụng các biện pháp tối ưu hoá – từ việc chuyển sang phiên bản 64-bit, dọn dẹp file, tối ưu công thức, tới việc quản lý add-in và tăng bộ nhớ ảo – người dùng có thể giảm thiểu đáng kể khả năng gặp lỗi, nâng cao tốc độ và độ ổn định khi làm việc với dữ liệu lớn.
Một số lời khuyên nhanh gọn:
1. Sử dụng Excel 64-bit nếu công việc thường xuyên xử lý file > 200 MB.
2. Lưu file dưới dạng .xlsb để giảm kích thước và tăng tốc độ.
3. Tránh sử dụng hàm volatile và mảng công thức không cần thiết.
4. Giới hạn định dạng chỉ áp dụng cho vùng dữ liệu thực tế.
5. Kiểm tra và tắt add-in không cần thiết trước khi mở file lớn.
6. Thường xuyên dọn dẹp bộ nhớ tạm và cập nhật Office.
Bằng cách thực hiện những bước trên, bạn sẽ không chỉ giải quyết được lỗi “Not Enough Memory” mà còn cải thiện hiệu suất làm việc, tăng năng suất và giảm thiểu rủi ro mất dữ liệu. Hãy áp dụng các phương pháp này ngay hôm nay để trải nghiệm một môi trường Excel mượt mà, ổn định và mạnh mẽ hơn.

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
