Cách khắc phục lỗi giới hạn 10 triệu ô trong Google Sheets

intermediate📗 Google Sheets2026-04-18| Google Sheets (phiên bản Web), Google Apps Script, Google Workspace

Error Message

This action would increase the number of cells in the workbook above the limit of 10000000 cells
#google-sheets#gioi-han-o#hieu-suat#bigquery

Vấn đềGoogle Sheets không phải là vô tận. Mỗi bảng tính (workbook) đều có giới hạn tối đa là 10 triệu ô. Mặc dù đây có vẻ là một con số khổng lồ, nhưng nó tính mọi ô đơn lẻ trên tất cả các tab—ngay cả những ô hoàn toàn trống.

Bạn có thể sẽ gặp phải rào cản này khi nhập một tệp CSV lớn, dán một tập dữ liệu khổng lồ hoặc chạy một tập lệnh (script) tạo ra các hàng mới. Khi đạt đến giới hạn, Google sẽ chặn mọi hành động thêm dù chỉ một ô và hiển thị thông báo lỗi khó chịu này:

This action would increase the number of cells in the workbook above the limit of 10000000 cells

Tại sao bảng tính của bạn bị phình toHầu hết người dùng thực tế không có đến 10 triệu hàng dữ liệu. Thay vào đó, họ trở thành nạn nhân của tình trạng "phình to do khoảng trắng". Khi bạn tạo một tab mới, Google Sheets mặc định có 1.000 hàng. Nếu trang tính của bạn có 26 cột (từ A đến Z), con số đó là 26.000 ô ngay lập tức. Thêm 40 tab như vậy và bạn đã tiêu tốn hết 1 triệu ô trước khi nhập bất kỳ từ nào.

Tự động hóa là một nguyên nhân phổ biến khác. Nhiều tập lệnh nối thêm dữ liệu vào cuối trang tính mà không dọn dẹp các hàng trống thừa phía sau, khiến lưới ô mở rộng vô hạn cho đến khi chạm trần.

Các bước khắc phục từng bước### 1. Kiểm tra việc sử dụng ô của bạnBạn không thể sửa chữa những gì bạn không thấy. Trước khi bắt đầu xóa dữ liệu, bạn cần xác định tab cụ thể nào đang ngốn dung lượng của bạn. Một trang tính có 50 cột và 200.000 hàng sẽ tự mình chạm tới giới hạn 10 triệu ô.

Để tìm ra nguyên nhân, hãy truy cập vào Extensions > Apps Script và dán đoạn mã này:

function checkCellCount() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = ss.getSheets();
  var totalCells = 0;
  
  sheets.forEach(function(sheet) {
    var rows = sheet.getMaxRows();
    var cols = sheet.getMaxColumns();
    var cellCount = rows * cols;
    totalCells += cellCount;
    Logger.log(sheet.getName() + ": " + cellCount.toLocaleString() + " cells (" + rows + "x" + cols + ")");
  });
  
  Logger.log("TOTAL WORKBOOK CELLS: " + totalCells.toLocaleString());
}

Chạy hàm và mở Execution Log. Điều này sẽ cung cấp một danh sách rõ ràng về mọi tab và tổng số ô của nó, cho bạn thấy chính xác nơi cần tập trung dọn dẹp.

2. Xóa các hàng và cột không sử dụngCắt bỏ "trọng lượng thừa" là cách nhanh nhất để giải quyết lỗi này. Nếu dữ liệu của bạn kết thúc ở hàng 2.000 nhưng trang tính kéo dài đến hàng 50.000, bạn đang lãng phí 48.000 hàng không gian tiềm năng.

  • Nhấp vào số hàng của hàng trống đầu tiên bên dưới dữ liệu của bạn.- Nhấn Ctrl + Shift + Mũi tên xuống (Cmd + Shift + Mũi tên xuống trên Mac) để chọn tất cả cho đến cuối.- Nhấp chuột phải và chọn Delete rows.- Lặp lại quá trình này cho các cột không sử dụng ở phía bên phải dữ liệu của bạn bằng cách sử dụng Ctrl + Shift + Mũi tên sang phải.### 3. Tự động hóa việc dọn dẹp bằng tập lệnhViệc dọn dẹp thủ công 30 tab khác nhau rất tẻ nhạt. Tập lệnh này sẽ tự động cắt tỉa mọi trang tính trong bảng tính của bạn, thay đổi kích thước lưới để chỉ khớp với khu vực chứa dữ liệu thực tế.
function trimAllSheets() {
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
  
  sheets.forEach(function(sheet) {
    var lastRow = sheet.getLastRow();
    var maxRow = sheet.getMaxRows();
    var lastColumn = sheet.getLastColumn();
    var maxColumn = sheet.getMaxColumns();

    if (maxRow > lastRow && lastRow > 0) {
      sheet.deleteRows(lastRow + 1, maxRow - lastRow);
    }

    if (maxColumn > lastColumn && lastColumn > 0) {
      sheet.deleteColumns(lastColumn + 1, maxColumn - lastColumn);
    }
  });
}

4. Chuyển dữ liệu nặng sang BigQueryNếu bạn thực sự cần phân tích 10 triệu hàng, Google Sheets không còn là công cụ phù hợp nữa. Nó được thiết kế để tính toán và cộng tác, không phải để lưu trữ dữ liệu khối lượng lớn. Hiệu suất sẽ giảm đáng kể từ lâu trước khi bạn chạm tới giới hạn ô.

Hãy thử sử dụng Connected Sheets cho BigQuery. Điều này cho phép bạn lưu trữ hàng triệu hàng trong cơ sở dữ liệu trong khi vẫn sử dụng giao diện Google Sheets quen thuộc để tạo bảng tổng hợp (pivot tables) và biểu đồ. Dữ liệu nằm trên đám mây, vì vậy nó không tính vào giới hạn 10 triệu ô của bạn.

Xác minhSau khi dọn dẹp, hãy chạy lại tập lệnh checkCellCount(). Bạn sẽ thấy một con số nhỏ hơn đáng kể. Nếu bạn từng ở mức 9.999.000 và giảm xuống còn 2.000.000, bạn đã giải phóng đủ không gian thành công để làm việc mà không lo lỗi quay trở lại.

Mẹo chuyên nghiệp để tối ưu hiệu suất- Hạn chế phạm vi toàn bộ cột: Các công thức như =A:A+B:B buộc Google phải tính toán mọi hàng trong trang tính. Hãy sử dụng các phạm vi cụ thể như =A1:A1000 khi có thể.- Kiểm soát việc nhập dữ liệu: Các công cụ như Supermetrics hoặc Zapier thường tạo ra hàng nghìn hàng "ma". Hãy thiết lập việc nhập dữ liệu của bạn để ghi đè dữ liệu thay vì nối thêm.- Chia nhỏ bảng tính: Nếu bạn có dữ liệu năm 2023 và 2024 trong cùng một tệp, hãy chuyển dữ liệu cũ sang một bảng tính lưu trữ. Sử dụng IMPORTRANGE() để chỉ lấy những phần tóm tắt bạn cần vào trang tính đang hoạt động.

Related Error Notes