Hướng dẫn

Cách Bỏ Chọn Tất Cả Checkbox Trong Google Sheets Nhanh Nhất

Tuân HoangTuân Hoang
15 tháng 8, 2026
Cập nhật: 22 tháng 8, 2026
9 phút đọc
Ảnh minh họa bài viết: Cách Bỏ Chọn Tất Cả Checkbox Trong Google Sheets Nhanh Nhất

Vấn Đề Với Checkbox Hàng Loạt Trong Google Sheets

Google Sheets không có nút "Uncheck All" tích hợp sẵn. Khi một bảng có vài trăm dòng checkbox (theo dõi task, checklist kiểm kê, form khảo sát nhiều lựa chọn...), việc bỏ tick từng ô một là chuyện không tưởng — vừa mất thời gian vừa dễ sót. Bài này liệt kê toàn bộ cách bỏ chọn tất cả checkbox trong Google Sheets, từ thao tác tay đơn giản đến Apps Script tự động hoàn toàn, kèm khi nào nên dùng cách nào.

Hiểu Bản Chất Checkbox Trong Google Sheets Trước Khi Xử Lý

Checkbox trong Google Sheets thực chất là một dạng Data Validation hiển thị giá trị Boolean (TRUE/FALSE). Khi bạn chèn checkbox qua Insert > Checkbox, ô đó nhận validation rule buộc giá trị chỉ được là TRUE hoặc FALSE (mặc định), và ô trống được hiểu là FALSE.

Điều này quan trọng vì nó quyết định 2 hướng xử lý:

  • Xóa nội dung ô (Delete): xóa giá trị nhưng vẫn giữ checkbox — ô trở về trạng thái chưa tick, checkbox vẫn hiển thị.
  • Ghi đè giá trị FALSE: gán cứng giá trị FALSE cho ô, tick hiện rõ ở trạng thái chưa chọn.

Cả hai cách đều cho kết quả nhìn giống nhau trên giao diện, nhưng nếu bảng có công thức tham chiếu đến ô checkbox (ví dụ =COUNTIF(A:A,TRUE)), cách xóa nội dung có thể gây lỗi tính toán nếu công thức không xử lý ô rỗng đúng cách. Ưu tiên ghi giá trị FALSE khi bảng có logic tính toán đi kèm.

Cách 1: Bỏ Chọn Thủ Công Bằng Chuột Và Phím Tắt

Với bảng nhỏ (dưới 50 checkbox), thao tác tay vẫn nhanh nhất nếu biết đúng thủ thuật:

Chọn Vùng Rồi Xóa Bằng Delete

  1. Bôi đen toàn bộ cột hoặc vùng chứa checkbox.
  2. Nhấn phím Delete (hoặc Backspace trên Mac).

Tất cả checkbox trong vùng chọn trở về trạng thái chưa tick. Đây là cách nhanh nhất không cần script, nhưng lưu ý: nếu vùng chọn dính vào cột có dữ liệu khác (tên, số liệu), Delete sẽ xóa luôn dữ liệu đó — nên luôn chọn đúng phạm vi cột checkbox.

Dùng Copy-Paste Giá Trị FALSE

Nếu muốn giữ chắc giá trị FALSE thay vì ô rỗng:

  1. FALSE vào một ô trống bất kỳ ngoài vùng bảng.
  2. Copy ô đó (Ctrl+C).
  3. Bôi đen toàn bộ vùng checkbox cần bỏ chọn.
  4. Paste bằng Ctrl+V — mọi checkbox trong vùng chuyển về FALSE đồng loạt, giữ nguyên định dạng checkbox.

Cách này an toàn hơn Delete vì không xóa mất data validation rule, và đảm bảo công thức đếm/lọc hoạt động chính xác vì luôn có giá trị Boolean tường minh thay vì ô trống.

Cách 2: Dùng Find And Replace Cho Bảng Lớn

Với bảng vài trăm dòng trải nhiều cột không liền kề, Find and Replace (Ctrl+H) xử lý nhanh hơn kéo chọn:

  1. Mở Edit > Find and replace.
  2. Ô "Find": nhập TRUE.
  3. Ô "Replace with": nhập FALSE.
  4. Bật tùy chọn "Search using regular expressions" nếu cần khớp chính xác toàn bộ giá trị, tick thêm "Match entire cell contents" để tránh thay nhầm giá trị TRUE nằm trong text khác.
  5. Giới hạn phạm vi ("Specific range") nếu chỉ muốn áp dụng cho một vùng, tránh ảnh hưởng các cột Boolean khác không phải checkbox.
  6. Nhấn Replace all.

Cách này xử lý toàn bộ sheet trong vài giây, phù hợp khi checkbox không nằm liền một khối mà rải rác qua nhiều cột/sheet khác nhau. Nhược điểm: nếu sheet có nhiều giá trị TRUE không phải checkbox (ví dụ cột trạng thái text "TRUE"/"FALSE" thuần), cần giới hạn phạm vi cẩn thận để tránh ghi đè nhầm.

Cách 3: Tự Động Hóa Với Apps Script

Khi cần bỏ chọn checkbox định kỳ (đầu mỗi ngày, sau khi submit form, đầu chu kỳ báo cáo tuần), thao tác tay không còn khả thi — đây là lúc Apps Script phát huy tác dụng.

Script Cơ Bản: Bỏ Chọn Toàn Bộ Checkbox Trong Một Cột

function uncheckAllInColumn() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const range = sheet.getRange("A2:A" + sheet.getLastRow());
  const values = range.getValues().map(row => [false]);
  range.setValues(values);
}

Script này lấy toàn bộ dữ liệu từ dòng 2 đến dòng cuối trong cột A, ghi đè tất cả thành false. Chạy qua menu Extensions > Apps Script, dán code, lưu và bấm Run.

Script Nâng Cao: Chỉ Bỏ Chọn Ô Có Data Validation Là Checkbox

Nếu sheet có nhiều cột, không muốn hardcode phạm vi, script dưới đây tự động quét và chỉ tác động vào ô thực sự là checkbox (dựa vào validation criteria):

function uncheckAllCheckboxesInSheet() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const range = sheet.getDataRange();
  const validations = range.getDataValidations();
  const values = range.getValues();

  for (let i = 0; i < validations.length; i++) {
    for (let j = 0; j < validations[i].length; j++) {
      const rule = validations[i][j];
      if (rule && rule.getCriteriaType() === SpreadsheetApp.DataValidationCriteria.CHECKBOX) {
        values[i][j] = false;
      }
    }
  }
  range.setValues(values);
}

Script này an toàn hơn vì không đụng đến các ô không phải checkbox, kể cả khi bảng có cột text hoặc số nằm xen kẽ. Đây cũng là cách nên dùng cho các bảng vận hành có logic phức tạp — tương tự cách quản lý logic có điều kiện trong các hệ thống CRM quản lý khách hàng bằng Google Sheets, nơi checkbox thường dùng để đánh dấu trạng thái follow-up cần reset định kỳ.

Tự Động Chạy Theo Lịch (Trigger)

Để checkbox tự bỏ chọn mỗi sáng mà không cần mở sheet:

  1. Trong Apps Script Editor, chọn biểu tượng đồng hồ (Triggers) ở thanh bên trái.
  2. Nhấn Add Trigger.
  3. Chọn function uncheckAllCheckboxesInSheet, event source "Time-driven", chọn "Day timer" và khung giờ mong muốn.

Cách này phù hợp cho checklist công việc hàng ngày, form theo dõi ca trực, hoặc bảng chấm công cần reset trạng thái mỗi đầu ngày làm việc. Nếu muốn tìm hiểu sâu hơn về cách gọi API, xử lý JSON và xây web app từ Apps Script để mở rộng tự động hóa ra ngoài phạm vi một sheet, có thể tham khảo thêm hướng dẫn Apps Script nâng cao về API calls, JSON và Web App.

So Sánh Các Phương Pháp: Chọn Đúng Cách Cho Từng Tình Huống

Phương phápTốc độ setupPhù hợp quy môTự động hóaRủi ro
Chọn vùng + DeleteNgay lập tức< 50 checkboxKhôngDễ xóa nhầm dữ liệu liền kề
Copy-paste FALSENgay lập tức< 200 checkboxKhôngThấp, an toàn cho công thức
Find and Replace1-2 phútVài trăm - vài nghìnKhôngGhi đè nhầm giá trị TRUE dạng text
Apps Script cơ bản5 phút viết codeKhông giới hạnCó (thủ công chạy)Cần hardcode đúng phạm vi cột
Apps Script + Trigger10 phút setupKhông giới hạnHoàn toàn tự độngCần theo dõi quota Apps Script

Với các bảng vận hành lặp đi lặp lại theo chu kỳ — ví dụ checklist chuẩn bị đầu ca, form kiểm tra trước khi vận chuyển — nên đầu tư Apps Script với trigger ngay từ đầu thay vì lặp lại thao tác tay mỗi ngày. Nguyên tắc này cũng áp dụng khi xây các bảng theo dõi tiến độ có nhiều trạng thái cần reset định kỳ, tương tự cách tổ chức trong template quản lý dự án trên Google Sheets nơi các cột trạng thái task cần được làm mới theo từng giai đoạn.

Xử Lý Các Trường Hợp Đặc Biệt Thường Gặp

Checkbox Nằm Trong Ô Đã Merge

Nếu checkbox nằm trong các ô đã merge (gộp), getDataValidations() chỉ trả về rule ở ô đầu tiên của vùng merge, các ô còn lại trả về null. Cần xử lý riêng bằng cách lấy toạ độ ô gốc của vùng merge trước khi ghi giá trị, nếu không script có thể bỏ sót checkbox.

Checkbox Có Giá Trị Tùy Chỉnh (Không Phải TRUE/FALSE)

Google Sheets cho phép checkbox dùng giá trị tùy chỉnh (ví dụ "Đã xong"/"Chưa xong" thay vì TRUE/FALSE) qua tùy chọn "Use custom cell values" khi tạo checkbox. Trường hợp này, Find and Replace với TRUE/FALSE sẽ không hoạt động — phải lấy đúng giá trị "unchecked" từ rule.getCriteriaValues() trong script, hoặc kiểm tra thủ công giá trị đang dùng trước khi ghi đè hàng loạt.

Checkbox Trong Bảng Có Công Thức Liên Kết

Nếu ô checkbox là kết quả của công thức (ví dụ =IF(...)) chứ không phải checkbox thuần được chèn trực tiếp, không thể bỏ chọn bằng cách ghi giá trị — phải sửa lại điều kiện trong công thức nguồn hoặc điều chỉnh dữ liệu đầu vào mà công thức tham chiếu tới.

Kiểm Tra Lại Sau Khi Bỏ Chọn Hàng Loạt

Sau khi chạy bất kỳ phương pháp nào ở trên, nên kiểm tra 2 điểm:

  • Data validation còn nguyên vẹn không: chọn một ô checkbox bất kỳ, vào Data > Data validation để xác nhận rule vẫn là Checkbox, không bị xóa nhầm thành ô trống không có validation.
  • Công thức phụ thuộc có tính đúng không: nếu bảng có công thức đếm số lượng tick (COUNTIF, SUMIF), kiểm tra kết quả trả về 0 sau khi bỏ chọn hàng loạt — nếu vẫn ra số khác 0, khả năng cao còn sót ô chưa được reset hoặc công thức tham chiếu sai phạm vi.

Với các bảng cần mã hóa nhanh trạng thái sau khi reset (ví dụ dán QR code liên kết tới form checklist mới), có thể kết hợp thêm công thức tạo mã QR tự động trong Google Sheets để mỗi lần reset checklist đều sinh ra mã theo dõi mới mà không cần thao tác thủ công.

Câu hỏi thường gặp

Làm sao để bỏ chọn tất cả checkbox trong Google Sheets cùng lúc?

Chọn toàn bộ vùng chứa checkbox, sau đó nhấn phím Delete hoặc Backspace. Google Sheets sẽ đưa tất cả checkbox về trạng thái chưa tick (FALSE) mà không cần xóa định dạng checkbox đã thiết lập.

Có cách nào tự động uncheck checkbox theo lịch không?

Có, dùng Google Apps Script kết hợp Time-driven Trigger. Viết hàm setValue(false) cho vùng checkbox rồi hẹn giờ chạy mỗi ngày, mỗi tuần hoặc đầu tháng để tự động reset trạng thái.

Bỏ chọn checkbox bằng Delete có làm mất định dạng checkbox không?

Không. Phím Delete chỉ xóa giá trị TRUE/FALSE trong ô, còn quy tắc xác thực dữ liệu (data validation) tạo checkbox vẫn giữ nguyên nên ô vẫn hiển thị checkbox có thể tick lại bình thường.

Có công thức nào giúp kiểm tra và uncheck checkbox theo điều kiện không?

Không thể dùng công thức trực tiếp sửa checkbox vì công thức không ghi đè giá trị ô, nhưng có thể dùng Apps Script với vòng lặp kiểm tra điều kiện rồi gọi setValue(false) cho từng ô checkbox phù hợp.

Bạn muốn áp dụng ngay mà không phải tự xây từ đầu?

Khám phá các mẫu Google Sheets và phần mềm quản lý dựng sẵn cho doanh nghiệp Việt tại SheetStore Marketplace.

Chia sẻ bài viết:

Tuân Hoang

Tuân Hoang

Đội ngũ SheetStore

Google SheetsGoogle Apps ScriptCRMAutomationPhần mềm quản lý doanh nghiệp

Google Workspace Certified, 5+ years experience

Bạn thấy bài viết hữu ích?

Đăng ký nhận thông báo khi có bài viết mới.

Nhận thông báo khi có bài viết mới. Không spam, hứa luôn! 😊

Bình luận (0)

Vui lòng đăng nhập để tham gia thảo luận