Hướng dẫn

Conditional Formatting Google Sheets Nâng Cao: Tô Màu Thông Minh [2026]

Tuân HoangTuân Hoang
9 tháng 6, 2026
8 phút đọc
Ảnh minh họa bài viết: Conditional Formatting Google Sheets Nâng Cao: Tô Màu Thông Minh [2026]

Conditional Formatting Là Gì Và Tại Sao Nó Mạnh?

Bạn đang nhìn vào một bảng dữ liệu hàng trăm dòng và phải tìm bằng mắt những ô vượt ngưỡng, những hàng đã quá hạn, hay những giá trị trùng lặp. Đó là công việc vừa mất thời gian vừa dễ sai.

Conditional Formatting (định dạng có điều kiện) giải quyết đúng vấn đề này: Google Sheets tự động tô màu ô, hàng, hay cột dựa trên dữ liệu thực tế — không cần bạn nhìn từng ô một.

Điểm mạnh thực sự của Conditional Formatting không phải là tô màu ô đơn giản, mà là:

  • Custom formula: Dùng bất kỳ hàm Google Sheets nào làm điều kiện — AND, OR, COUNTIF, TODAY, SEARCH, MOD, WEEKDAY…
  • Tô màu cả hàng: Một công thức duy nhất có thể highlight toàn bộ hàng khi cột trạng thái thay đổi.
  • Color scale / heatmap: Gradient màu tự động theo giá trị — nhìn ngay đâu cao, đâu thấp.
  • Nhiều rules chồng nhau: Ưu tiên rules theo thứ tự, xử lý nhiều điều kiện trên cùng một vùng dữ liệu.

Bài viết này đi thẳng vào 12 ví dụ thực tế — copy công thức, hiểu cách hoạt động, áp dụng ngay.

Cách Tạo Rule Conditional Formatting

Trước khi vào ví dụ, đây là quy trình tạo rule trong 4 bước:

  1. Chọn vùng dữ liệu cần áp dụng (ví dụ: A2:G100).
  2. Vào menu Format → Conditional formatting.
  3. Panel hiện ra bên phải — nhấn Add another rule hoặc chỉnh rule hiện có.
  4. Chọn điều kiện (hoặc Custom formula is để nhập công thức tùy chỉnh) → chọn màu → nhấn Done.

Với Custom formula is, bạn nhập trực tiếp công thức như trong ô — đây là chìa khóa mở ra toàn bộ sức mạnh của Conditional Formatting.

Nhóm 1: Tô Màu Cơ Bản Theo Giá Trị

Ví dụ 1 — Highlight ô vượt ngưỡng

Dùng khi muốn nhanh chóng phát hiện các giá trị cao (doanh số, chi phí, điểm số…).

Chọn cột dữ liệu → Format → Conditional formatting → điều kiện Is greater than → nhập 1000000 → chọn nền xanh lá.

Kết quả: Mọi ô có giá trị trên 1.000.000 tự động tô xanh — bạn nhìn ngay đâu là con số cần chú ý.

Ví dụ 2 — Highlight ô trống nhắc nhập liệu

Hữu ích cho form nhập liệu nhóm — ai chưa điền sẽ thấy ngay ô màu vàng cảnh báo.

Điều kiện: Is empty → nền vàng.

Kết quả: Ô nào chưa có dữ liệu sẽ tô vàng cho đến khi được điền vào.

Ví dụ 3 — Phát hiện giá trị trùng lặp (duplicate)

Khi cần kiểm tra danh sách mã sản phẩm, email, hay ID — duplicate làm sai toàn bộ báo cáo.

=COUNTIF($A$2:$A$100,A2)>1

Chọn cột A → Custom formula → nhập công thức trên → nền đỏ.

Kết quả: Mọi giá trị xuất hiện từ 2 lần trở lên đều tô đỏ — nhìn ngay chỗ cần kiểm tra lại.

Ví dụ 4 — Highlight top 10%

Không cần công thức phức tạp — Google Sheets có sẵn điều kiện này.

Chọn vùng số → điều kiện Is in top 10% → nền xanh đậm.

Kết quả: 10% giá trị cao nhất trong vùng chọn tự động nổi bật — dùng tốt cho bảng xếp hạng nhân viên, sản phẩm bán chạy.

Nhóm 2: Tô Màu Cả Hàng — Kỹ Thuật Quan Trọng Nhất

Đây là kỹ thuật nhiều người chưa biết nhưng cực kỳ hiệu quả: một công thức kiểm tra giá trị ở một cột, nhưng áp dụng màu cho cả hàng.

Nguyên tắc then chốt: Trong Custom formula, đặt $ trước tên cột nhưng KHÔNG đặt trước số hàng. Ví dụ: =$E2="Đã giao" — cột E bị khóa, hàng 2 thay đổi theo từng dòng.

Ví dụ 5 — Tô cả hàng theo trạng thái đơn hàng

Bảng theo dõi đơn hàng với cột E chứa trạng thái: "Đang xử lý", "Đã giao", "Hủy".

Chọn toàn bảng A2:G100 → Custom formula:

=$E2="Đã giao"

Chọn nền xanh lá. Tạo thêm rule cho "Hủy" với nền đỏ nhạt.

Kết quả: Mỗi khi trạng thái ở cột E thay đổi, toàn bộ hàng đổi màu ngay lập tức — bảng theo dõi đơn hàng trở nên trực quan hoàn toàn.

Ví dụ 6 — Tô hàng quá hạn

Bảng quản lý task với cột D chứa deadline và cột F chứa trạng thái.

=AND($D2<TODAY(),$F2<>"Done")

Chọn toàn bảng → Custom formula trên → nền đỏ.

Kết quả: Hàng nào deadline đã qua MÀ trạng thái chưa "Done" sẽ tô đỏ — nhìn thấy ngay task bị trễ, không cần lọc hay sort.

Ví dụ 7 — Zebra stripes (sọc ngựa vằn) dễ đọc

Bảng dài nhiều cột — mắt dễ đọc nhầm hàng. Zebra stripes giải quyết không cần merge hay format thủ công.

=MOD(ROW(),2)=0

Chọn toàn bảng → Custom formula trên → nền xám nhạt (#F5F5F5).

Kết quả: Các hàng chẵn tô xám nhạt, hàng lẻ để trắng — bảng trở nên dễ đọc hơn đáng kể, đặc biệt khi in hoặc chiếu lên màn hình lớn.

Nhóm 3: Conditional Formatting Với Hàm Nâng Cao

Ví dụ 8 — Highlight ô chứa từ khóa cụ thể

Tìm tất cả ô chứa chữ "urgent" trong bảng ghi chú hoặc mô tả task, không phân biệt hoa thường.

=SEARCH("urgent",LOWER(A2))>0

Kết quả: Ô nào chứa "urgent", "URGENT", hay "Urgent" đều được highlight — hàm LOWER chuyển về chữ thường trước khi tìm kiếm.

Ví dụ 9 — Highlight ngày sắp đến hạn (gradient theo mức độ gấp)

Cột B chứa deadline — cảnh báo theo 2 mức: 1-3 ngày tới = đỏ (gấp), 4-7 ngày tới = vàng (chú ý).

Rule 1 (ưu tiên cao hơn — đặt lên trên):

=AND($B2-TODAY()<=3,$B2>=TODAY())

→ nền đỏ

Rule 2:

=AND($B2-TODAY()<=7,$B2>=TODAY())

→ nền vàng

Kết quả: Deadline 1-3 ngày tới tô đỏ, 4-7 ngày tô vàng, xa hơn để nguyên — hệ thống cảnh báo trực quan không cần viết code.

Ví dụ 10 — Tô ngày cuối tuần trong lịch

Bảng lịch làm việc với cột A chứa ngày — tự động tô xám thứ 7 và Chủ nhật.

=WEEKDAY(A1,2)>=6

Tham số 2 trong WEEKDAY: thứ 2 = 1, thứ 3 = 2, …, thứ 7 = 6, Chủ nhật = 7. Giá trị ≥ 6 là cuối tuần.

Kết quả: Thứ 7 và Chủ nhật tự động tô xám — lịch nhìn rõ ngay ngày nghỉ mà không cần format thủ công từng tuần.

Nhóm 4: Color Scale Và Heatmap

Ví dụ 11 — Heatmap doanh số

Nhìn vào bảng số liệu doanh số theo tháng và theo vùng — không cần biểu đồ vẫn thấy ngay đâu cao đâu thấp.

Chọn vùng dữ liệu số → Format → Conditional formatting → tab Color scale.

  • Minpoint: màu đỏ (giá trị thấp nhất)
  • Midpoint: màu vàng (giá trị trung bình)
  • Maxpoint: màu xanh lá (giá trị cao nhất)

Kết quả: Bảng trở thành heatmap thực sự — ô xanh đậm là doanh số cao nhất, đỏ đậm là thấp nhất, gradient tự động tính theo phân bố thực tế của dữ liệu.

Ví dụ 12 — Progress bar bằng 3 tông màu

Biến cột % hoàn thành thành progress indicator trực quan bằng 3 rule chồng nhau.

Rule 1 (≥ 80%, đặt lên trên cùng):

=A2/MAX($A$2:$A$100)>=0.8

→ nền xanh đậm

Rule 2 (≥ 50%):

=A2/MAX($A$2:$A$100)>=0.5

→ nền xanh nhạt

Rule 3 (còn lại < 50%):

→ nền cam/đỏ nhạt

Kết quả: Ba tông màu phân chia rõ ràng tiến độ: xanh đậm = gần xong, xanh nhạt = đang ổn, cam = cần theo dõi — không cần thêm cột phụ hay chart.

Thứ Tự Ưu Tiên Rules

Khi một ô thỏa mãn nhiều rule cùng lúc, Google Sheets áp dụng rule đầu tiên trong danh sách (tính từ trên xuống) và bỏ qua các rule phía dưới.

Ví dụ thực tế: Nếu bạn có rule "deadline 1-3 ngày = đỏ" và rule "deadline 4-7 ngày = vàng", hãy đặt rule đỏ LÊN TRÊN rule vàng. Nếu để ngược lại, deadline 2 ngày sẽ bị tô vàng trước và rule đỏ không bao giờ được kiểm tra.

Cách kéo để sắp xếp: Trong panel Conditional formatting, kéo drag-and-drop từng rule để thay đổi thứ tự. Rule ở trên cùng có ưu tiên cao nhất.

Tùy chọn "Stop if true": Khi bật tùy chọn này cho một rule, nếu rule đó thỏa mãn, Google Sheets sẽ không kiểm tra thêm các rule phía dưới — hữu ích khi muốn tránh xung đột không mong muốn.

Mẹo Quản Lý Nhiều Rules

  • Xem tất cả rules: Format → Conditional formatting → panel hiển thị đầy đủ danh sách rules, kể cả các rules được tạo trên range khác nhau. Kiểm tra ở đây trước khi thêm rule mới để tránh chồng chéo.
  • Copy formatting sang sheet khác: Chọn vùng có rules → chuột phải → Copy → sang sheet đích → chuột phải → Paste special → Conditional formatting only. Rules được copy nguyên vẹn, không ảnh hưởng dữ liệu.
  • Xóa rules cẩn thận: Format → Clear formatting sẽ xóa CẢ định dạng thông thường (font, màu chữ, viền) chứ không chỉ conditional formatting. Muốn xóa chỉ conditional rules, hãy vào panel Conditional formatting và xóa từng rule.
  • Giới hạn hiệu năng: Hơn 50 rules trên cùng một sheet sẽ làm sheet chậm đáng kể, đặc biệt với dataset lớn. Dọn dẹp rules không còn cần thiết theo định kỳ.

Lỗi Thường Gặp Và Cách Sửa

Lỗi 1: Tô màu nhầm hàng (không cả hàng, chỉ một ô)
Nguyên nhân: Quên đặt $ trước tên cột trong custom formula.
Sai: =E2="Đã giao" — cả E lẫn số hàng đều thay đổi, công thức không "neo" vào đúng cột.
Đúng: =$E2="Đã giao" — cột E bị khóa, chỉ số hàng thay đổi theo từng dòng.

Lỗi 2: Rule không áp dụng cho bất kỳ ô nào
Nguyên nhân: Range được chọn bị lệch so với dữ liệu thực tế, hoặc công thức tham chiếu đến hàng đầu tiên không khớp với range.
Cách sửa: Kiểm tra "Apply to range" trong panel — đảm bảo range bắt đầu đúng từ hàng dữ liệu đầu tiên (thường là hàng 2 nếu hàng 1 là header). Công thức cũng phải tham chiếu đến hàng đầu tiên của range đó.

Lỗi 3: Công thức SEARCH trả về lỗi thay vì false
Nguyên nhân: SEARCH trả về lỗi #VALUE! khi không tìm thấy, thay vì trả về FALSE — làm Conditional Formatting hoạt động không đúng.
Cách sửa: Bọc trong ISNUMBER: =ISNUMBER(SEARCH("urgent",LOWER(A2))) — trả về TRUE/FALSE rõ ràng.

Lỗi 4: Color scale không hiển thị gradient đẹp
Nguyên nhân: Vùng dữ liệu chứa ô trống hoặc text, làm color scale tính sai min/max.
Cách sửa: Chỉ chọn vùng ô có giá trị số thực sự, loại bỏ header và ô trống ra khỏi range áp dụng color scale.

Kết Luận

Conditional Formatting là một trong những tính năng bị đánh giá thấp nhất của Google Sheets. Người dùng thông thường chỉ dùng vài điều kiện cơ bản, bỏ qua toàn bộ sức mạnh của custom formula và color scale.

Với 12 ví dụ trong bài, bạn đã có đủ công thức để xây dựng hệ thống cảnh báo trực quan cho bảng theo dõi đơn hàng, quản lý task, lịch làm việc, và báo cáo doanh số — tất cả không cần một dòng code nào.

Điểm bắt đầu tốt nhất: Chọn bảng dữ liệu bạn đang dùng thường xuyên nhất, áp dụng ví dụ 5 (tô cả hàng theo trạng thái) — kỹ thuật này sẽ thay đổi cách bạn nhìn dữ liệu ngay lập tức. Sau đó thêm dần các rule khác khi đã quen với cơ chế ưu tiên và cú pháp custom formula.

Tham khảo: Google Support — Conditional formatting rules

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