Cách Tô Màu Ngày Chủ Nhật Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Trong môi trường làm việc hiện đại, việc quản lý thời gian và lên kế hoạch công việc ngày càng trở nên quan trọng. Excel, với khả năng linh hoạt và mạnh mẽ, luôn là công cụ được ưa chuộng để tạo ra các lịch làm việc, bảng biểu và biểu đồ. Một trong những nhu cầu phổ biến là làm nổi bật các ngày cuối tuần, đặc biệt là ngày Chủ nhật, để dễ dàng nhận biết và tránh nhầm lẫn. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từng bước một, về cách tô màu ngày Chủ nhật trong Excel. Chúng tôi sẽ trình bày từ các phương pháp cơ bản nhất cho đến các kỹ thuật nâng cao, bao gồm việc sử dụng Conditional Formatting (Định dạng có điều kiện), công thức tùy chỉnh, VBA (Macro), và thậm chí là các hàm Power Query. Hy vọng sau khi đọc xong, bạn sẽ có thể áp dụng linh hoạt vào mọi loại bảng lịch, biểu đồ Gantt, hoặc báo cáo thời gian.

Mục lục bài viết

1. Tổng Quan Về Định Dạng Có Điều Kiện (Conditional Formatting)

1.1. Định Dạng Có Điều Kiện Là Gì?

Conditional Formatting là một tính năng mạnh mẽ trong Excel cho phép bạn tự động thay đổi định dạng (màu nền, màu chữ, viền, v.v.) của ô dựa trên các điều kiện bạn đặt ra. Khi dữ liệu trong ô thỏa mãn điều kiện, Excel sẽ tự động áp dụng định dạng mà bạn đã chỉ định. Đây là công cụ lý tưởng để tô màu ngày Chủ nhật vì:

  • Tự động cập nhật: Khi bạn thay đổi ngày, màu sắc sẽ tự động thay đổi mà không cần chỉnh sửa thủ công.
  • Tiết kiệm thời gian: Một lần thiết lập, mọi ô trong dải dữ liệu sẽ được áp dụng đồng thời.
  • Độ linh hoạt cao: Bạn có thể kết hợp nhiều điều kiện, ví dụ tô màu cả Chủ nhật và các ngày lễ.

1.2. Khi Nào Nên Dùng Conditional Formatting?

  • Khi bạn có một bảng lịch với các ngày được nhập dưới dạng ngày tháng thực (Date).
  • Khi bạn muốn đánh dấu tự động các ngày cuối tuần, ngày lễ, hoặc ngày quan trọng.
  • Khi bảng dữ liệu có độ lớn lớn (hàng nghìn, cột hàng chục) và việc chỉnh sửa thủ công là không thực tế.

2. Chuẩn Bị Dữ Liệu – Tạo Bảng Lịch Cơ Bản

Trước khi áp dụng bất kỳ công cụ nào, chúng ta cần có một bảng dữ liệu chứa ngày tháng. Dưới đây là một ví dụ đơn giản:

ThứNgày
Thứ Hai01/09/2026
Thứ Ba02/09/2026
Thứ Tư03/09/2026
Thứ Năm04/09/2026
Thứ Sáu05/09/2026
Thứ Bảy06/09/2026
Chủ Nhật07/09/2026
……

Lưu ý: Cột “Ngày” phải được định dạng là Date (ngày tháng) trong Excel, không phải dạng văn bản. Bạn có thể kiểm tra bằng cách chọn ô → chuột phải → Format Cells → Number → Date.

Nếu bạn muốn tạo một lịch tháng tự động, có thể dùng công thức =DATE(year, month, 1) + ROW(A1)-1 và kéo xuống để tạo dãy ngày. Ví dụ:

  • Ô A1: =DATE(2026,9,1) → trả về 01/09/2026.
  • Ô A2: =A1+1 → trả về 02/09/2026.
  • Kéo công thức xuống tới hết tháng.

3. Cách Tô Màu Chủ Nhật Bằng Conditional Formatting

3.1. Bước 1: Chọn Phạm Vi Ô Cần Định Dạng

Giả sử cột B chứa ngày tháng (B2:B31). Chọn toàn bộ phạm vi này hoặc toàn bộ bảng nếu muốn áp dụng cho cả cột “Thứ”.

3 Chủ nhật

3.2. Bước 2: Mở Conditional Formatting

  • Vào tab Home → Conditional Formatting → New Rule (Quy tắc mới).

3.3. Bước 3: Chọn “Use a formula to determine which cells to format”

Chọn tùy chọn “Use a formula to determine which cells to format” (Sử dụng công thức để xác định ô cần định dạng).

3.4. Bước 4: Nhập Công Thức Xác Định Chủ Nhật

Công thức:

=WEEKDAY($B2,2)=7

Giải thích:

  • WEEKDAY(serial_number, return_type) trả về số thứ tự ngày trong tuần.
  • Khi return_type = 2, các ngày được đánh số: Thứ Hai = 1, …, Chủ Nhật = 7.
  • $B2 là ô chứa ngày; dấu $ cố định cột B, nhưng cho phép dòng thay đổi khi áp dụng cho các ô khác trong phạm vi.

Nếu bạn dùng kiểu trả về mặc định (return_type = 1), công thức sẽ là:

=WEEKDAY($B2)=1

vì trong chế độ này Chủ nhật là ngày 1.

3.5. Bước 5: Đặt Định Dạng

  • Nhấn Format… → Fill (Màu nền) → Chọn màu xanh nhạt, hồng, hoặc bất kỳ màu nào bạn muốn.
  • Bạn cũng có thể thay đổi Font Color (màu chữ) hoặc Border (viền) để làm nổi bật hơn.

3.6. Bước 6: Xác Nhận

Nhấn OK để đóng cửa sổ Format, sau đó OK lần nữa để áp dụng quy tắc. Ngay lập tức, các ô chứa ngày Chủ nhật sẽ hiển thị màu nền bạn đã chọn.

4. Mở Rộng: Tô Màu Cả Chủ Nhật Và Thứ Bảy (Cuối Tuần)

Nếu bạn muốn tô màu cả Thứ Bảy và Chủ Nhật, công thức sẽ thay đổi một chút:

=OR(WEEKDAY($B2,2)=6, WEEKDAY($B2,2)=7)

Hoặc dùng hàm >=:

=WEEKDAY($B2,2)>=6

Cũng áp dụng tương tự như các bước ở trên.

5. Tô Màu Chủ Nhật Khi Ngày Được Nhập Dưới Dạng Văn Bản

Trong một số trường hợp, người dùng nhập ngày dưới dạng văn bản (text) như “07/09/2026”. Khi đó WEEKDAY sẽ trả về lỗi. Để xử lý, chúng ta cần chuyển văn bản thành ngày bằng hàm DATEVALUE:

=WEEKDAY(DATEVALUE($B2),2)=7

Hoặc nếu ngày có định dạng “dd-mm-yyyy”:

=WEEKDAY(DATEVALUE(TEXT($B2,"dd-mm-yyyy")),2)=7

Lưu ý: Đảm bảo rằng các ô không chứa ký tự không phải ngày (ví dụ: “N/A”), nếu có, hàm sẽ trả lỗi. Bạn có thể kết hợp với IFERROR:

=IFERROR(WEEKDAY(DATEVALUE($B2),2)=7,FALSE)

6. Tô Màu Chủ Nhật Trong Bảng Pivot (Pivot Table)

Nếu bạn đang làm việc với PivotTable và muốn làm nổi bật các ngày Chủ nhật trong trường Date, bạn có thể:

  1. Thêm trường “Ngày” vào Values (hoặc Row Labels) và định dạng lại ô trong Pivot.
  2. Sử dụng Conditional Formatting trên vùng dữ liệu Pivot (cần bật “Apply formatting to all cells showing the same value”). Khi áp dụng công thức, bạn sử dụng GETPIVOTDATA hoặc tham chiếu trực tiếp tới ô trong Pivot.

Ví dụ, nếu trường ngày nằm ở cột C trong Pivot, công thức vẫn là:

=WEEKDAY(C2,2)=7

Nhưng bạn cần đánh dấu “Applies to” là toàn bộ vùng dữ liệu Pivot.

7. Sử Dụng VBA (Macro) Để Tô Màu Chủ Nhật Tự Động

Đối với những người muốn tự động hoá hoàn toàn (ví dụ, mỗi khi mở file, hoặc khi dữ liệu thay đổi), VBA là lựa chọn tốt.

7.1. Mở Trình Soạn Thảo VBA

Tô Màu Ngày Chủ Nhật Trong Excel
Tô Màu Ngày Chủ Nhật Trong Excel
  • Nhấn ALT + F11 để mở Visual Basic for Applications.
  • Vào Insert → Module để tạo một module mới.

7.2. Đoạn Mã VBA

Sub HighlightSundays() Dim rng As Range Dim cell As Range ' Thay đổi địa chỉ phạm vi theo nhu cầu của bạn Set rng = Worksheets("Sheet1").Range("B2:B100") Application.ScreenUpdating = False ' Xóa định dạng màu nền hiện có (nếu muốn) rng.Interior.ColorIndex = xlNone For Each cell In rng If IsDate(cell.Value) Then If Weekday(cell.Value, vbMonday) = 7 Then cell.Interior.Color = RGB(255, 230, 230) ' Màu hồng nhạt End If End If Next cell Application.ScreenUpdating = True
End Sub

Giải thích:

  • Weekday(cell.Value, vbMonday) trả về 7 cho Chủ nhật (vì vbMonday đặt Thứ Hai là 1).
  • RGB(255,230,230) là màu hồng nhạt; bạn có thể thay đổi màu bằng các giá trị RGB khác.
  • Application.ScreenUpdating = False giúp tăng tốc độ thực thi bằng cách tắt cập nhật màn hình trong quá trình chạy macro.

7.3. Gán Macro Vào Nút

  • Vào Insert → Shapes → chọn một hình (ví dụ: nút hình chữ nhật).
  • Nhấp chuột phải → Assign Macro… → chọn HighlightSundays.
  • Khi người dùng nhấn nút, macro sẽ tự động tô màu các ngày Chủ nhật trong phạm vi đã chỉ định.

7.4. Tự Động Chạy Khi Dữ Liệu Thay Đổi

Bạn có thể đặt macro chạy tự động mỗi khi một ô trong cột ngày thay đổi:

Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("B:B")) Is Nothing Then Call HighlightSundays End If
End Sub

Đặt đoạn code này vào Sheet Module (ví dụ: Sheet1) trong VBA. Khi bạn nhập hoặc thay đổi ngày trong cột B, macro sẽ tự động thực hiện.

8. Tô Màu Chủ Nhật Trên Biểu Đồ (Chart)

Nếu bạn tạo biểu đồ Gantt hoặc biểu đồ thời gian, việc làm nổi bật Chủ nhật giúp người xem dễ nhận ra khoảng thời gian nghỉ. Cách thực hiện:

  1. Tạo một cột phụ trong bảng dữ liệu, ví dụ “IsSunday”, với công thức:

excel =IF(WEEKDAY(B2,2)=7,1,0)

  1. Khi vẽ biểu đồ, thêm một series mới dựa trên cột “IsSunday”. Định dạng series này thành cột (Column) hoặc cạnh (Bar) với màu nền đặc biệt (ví dụ: màu xám nhạt).
  2. Đặt series “IsSunday” đặt ở dưới các series chính để nó hiển thị dưới nền.
  3. Tùy chỉnh trục thời gian để các ngày Chủ nhật hiển thị màu nền khác nhau.

Cách này cho phép biểu đồ tự động cập nhật màu nền khi dữ liệu ngày thay đổi.

9. Sử Dụng Power Query Để Thêm Cột Xác Định Chủ Nhật

Nếu dữ liệu của bạn được tải qua Power Query (Get & Transform), bạn có thể thêm một cột tùy chỉnh để xác định ngày Chủ nhật trước khi đưa vào bảng tính.

9.1. Bước Thực Hiện

  1. Data → Get Data → From File → From Workbook (hoặc nguồn dữ liệu khác) → tải dữ liệu.
  2. Trong Power Query Editor, chọn Add Column → Custom Column.
  3. Đặt tên cột: IsSunday.
  4. Nhập công thức:

powerquery if Date.DayOfWeek(Ngày, Day.Monday) = 6 then true else false

  • Date.DayOfWeek trả về 0 cho Thứ Hai (khi Day.Monday được dùng), vì vậy Chủ nhật là 6.

  • Nhấn OK, rồi Close & Load để đưa dữ liệu trở lại Excel.

Sau khi dữ liệu được tải, bạn có thể sử dụng Conditional Formatting dựa trên cột IsSunday (giá trị TRUE/FALSE) để tô màu.

10. Các Lưu Ý Thực Tế Khi Áp Dụng

Vấn đềGiải pháp
Ngày nhập dưới dạng văn bảnDùng DATEVALUE hoặc chuyển sang định dạng Date trước khi áp dụng Conditional Formatting.
Làm việc với nhiều sheetĐặt Conditional Formatting trên từng sheet, hoặc tạo macro áp dụng cho toàn bộ workbook.
Hiệu suất chậm khi dữ liệu lớnSử dụng VBA để tô màu một lần thay vì Conditional Formatting, hoặc giới hạn phạm vi áp dụng.
Cần tô màu ngày lễ quốc giaTạo danh sách ngày lễ trong một sheet riêng, dùng VLOOKUP hoặc COUNTIF trong công thức Conditional Formatting để kiểm tra.
Màu nền không hiển thị trên inKiểm tra tùy chọn in “Print in Black and White” và tắt nó, hoặc dùng màu viền thay vì màu nền.

11. Ví Dụ Thực Tế: Tạo Lịch Công Tác Hàng Tháng

11.1. Bước 1: Tạo Dãy Ngày

Trong Sheet “Lịch”, ô A2:

=DATE(2026,9,1)

Ô A3:

=A2+1

Kéo công thức xuống tới A31 (hoặc A30 tùy tháng). Định dạng cột A thành Date.

11.2. Bước 2: Thêm Cột Thứ

Ô B2:

=TEXT(A2,"dddd")

Kéo xuống. Kết quả sẽ hiển thị “Thứ Hai”, “Thứ Ba”, …, “Chủ Nhật”.

11.3. Bước 3: Áp Dụng Conditional Formatting

  • Chọn phạm vi A2:B31.
  • New Rule → Use a formula → =WEEKDAY($A2,2)=7.
  • Đặt màu nền xanh nhạt.
  • Nhấn OK.

Kết quả: Các hàng chứa ngày Chủ nhật sẽ có nền màu xanh nhạt, giúp bạn nhanh chóng nhận ra ngày nghỉ.

11.4. Bước 4: Thêm Cột Nhiệm Vụ

Bạn có thể thêm cột “Nhiệm vụ” (C) để nhập công việc. Khi ngày là Chủ nhật, bạn có thể khóa cột này (Data → Protect Sheet) để tránh nhập sai.

12. FAQ – Câu Hỏi Thường Gặp

Q1: Conditional Formatting không hoạt động, các ô vẫn không đổi màu?
A: Kiểm tra lại công thức, đặc biệt là dấu $. Đảm bảo ô chứa ngày được định dạng là Date, không phải Text. Ngoài ra, kiểm tra “Applies to” để chắc chắn phạm vi bao gồm các ô bạn muốn.

Q2: Tôi muốn tô màu Chủ nhật nhưng màu không hiển thị khi in ra.
A: Vào Page Layout → Sheet Options → Gridlines và chắc chắn “Print” được bật. Kiểm tra tùy chọn in “Black and White” trong Print Settings và tắt nó.

Q3: Làm sao để tô màu Chủ nhật cho một bảng lớn (hàng > 100,000)?
A: Sử dụng VBA để thực hiện một lần, hoặc áp dụng Conditional Formatting nhưng chỉ cho cột ngày (không phải toàn bộ bảng). Ngoài ra, tắt tính năng “Automatic calculation” trong Formulas → Calculation Options khi thiết lập.

Q4: Tôi có muốn tô màu Chủ nhật cho các ô chứa công thức trả về ngày (ví dụ =TODAY()+3).
A: Conditional Formatting vẫn hoạt động vì công thức trả về giá trị ngày. Đảm bảo công thức không trả về Text.

Q5: Có cách nào để tô màu Chủ nhật trong Google Sheets không?
A: Có, sử dụng Conditional Formatting trong Google Sheets với công thức =WEEKDAY(A2,2)=7 và chọn màu nền.

13. Kết Luận

Việc tô màu ngày Chủ nhật trong Excel không chỉ giúp bạn nhìn nhận lịch làm việc một cách trực quan mà còn giảm thiểu sai sót khi lên kế hoạch. Từ cách đơn giản nhất với Conditional Formatting, tới các giải pháp nâng cao như VBA, Power Query, và biểu đồ, bạn có thể lựa chọn phương pháp phù hợp nhất với nhu cầu và quy mô công việc.

Hãy thực hành ngay hôm nay: tạo một bảng lịch, áp dụng các bước chúng tôi đã trình bày, và cảm nhận sự khác biệt. Khi đã thành thạo, bạn sẽ dễ dàng mở rộng sang các trường hợp phức tạp hơn như tô màu ngày lễ, ngày nghỉ đặc biệt, hoặc tích hợp vào các báo cáo tự động.

Chúc bạn thành công và luôn có một lịch làm việc gọn gàng, hiệu quả!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận