Định dạng có điều kiện của Excel cho ngày & thời gian: công thức và quy tắc

  • Chia Sẻ Cái Này
Michael Brown

Nếu bạn là khách truy cập thường xuyên của blog này, có thể bạn đã nhận thấy một số bài viết đề cập đến các khía cạnh khác nhau của định dạng có điều kiện trong Excel. Và bây giờ chúng ta sẽ tận dụng kiến ​​thức này và tạo các bảng tính phân biệt giữa các ngày trong tuần và cuối tuần, đánh dấu các ngày lễ và hiển thị thời hạn hoặc sự chậm trễ sắp tới. Nói cách khác, chúng ta sẽ áp dụng định dạng có điều kiện của Excel cho ngày tháng.

Nếu bạn có một số kiến ​​thức cơ bản về công thức Excel, thì rất có thể bạn đã quen thuộc với một số hàm ngày và giờ như NOW, TODAY, NGÀY, NGÀY TRONG TUẦN, v.v. Trong hướng dẫn này, chúng ta sẽ thực hiện chức năng này thêm một bước nữa để định dạng ngày trong Excel có điều kiện theo cách bạn muốn.

    Excel định dạng có điều kiện cho ngày (quy tắc tích hợp)

    Microsoft Excel cung cấp 10 tùy chọn để định dạng các ô đã chọn dựa trên ngày hiện tại.

    1. Để áp dụng định dạng, bạn chỉ cần truy cập Tab Trang chủ > Định dạng có điều kiện > Đánh dấu Quy tắc ô và chọn Ngày xảy ra .

    2. Chọn một trong các tùy chọn ngày từ trình đơn thả xuống danh sách ở phần bên trái của cửa sổ, từ tháng trước đến tháng sau.
    3. Cuối cùng, hãy chọn một trong các định dạng được xác định trước hoặc thiết lập định dạng tùy chỉnh của bạn bằng cách chọn các tùy chọn khác nhau trên Các tab Phông chữ , Đường viền Điền vào . Nếu bảng tiêu chuẩn Excel khôngđộ trễ.
    4. Dưới đây là một vài ví dụ về công thức khác có thể áp dụng cho bảng trên:

      =$D2 - highlights all passed dates (i.e. dates less than the current date). Can be used to format expired subscriptions, overdue payments etc.

      =$D2>TODAY() - làm nổi bật tất cả các ngày trong tương lai (tức là ngày lớn hơn ngày hiện tại). Bạn có thể sử dụng nó để làm nổi bật các sự kiện sắp tới.

      Tất nhiên, có thể có vô số biến thể của các công thức trên, tùy thuộc vào nhiệm vụ cụ thể của bạn. Ví dụ:

      =$D2-TODAY()>=6 - đánh dấu các ngày diễn ra trong 6 ngày trở lên.

      =$D2=TODAY()-14 - đánh dấu các ngày diễn ra cách đây đúng 2 tuần.

      Cách đánh dấu các ngày trong một ngày phạm vi

      Nếu bạn có một danh sách dài các ngày trong trang tính của mình, bạn cũng có thể muốn đánh dấu các ô hoặc hàng nằm trong một phạm vi ngày nhất định, tức là đánh dấu tất cả các ngày nằm giữa hai ngày đã cho.

      Bạn có thể hoàn thành nhiệm vụ này một lần nữa bằng cách sử dụng hàm TODAY(). Bạn sẽ chỉ phải xây dựng các công thức phức tạp hơn một chút như được minh họa trong các ví dụ bên dưới.

      Các công thức để làm nổi bật các ngày trong quá khứ

      • Hơn 30 ngày trước : =TODAY()-$A2>30
      • Từ 30 đến 15 ngày trước, bao gồm: =AND(TODAY()-$A2>=15, TODAY()-$A2<=30)
      • Ít hơn 15 ngày trước: =AND(TODAY()-$A2>=1, TODAY()-$A2<15)

      Ngày hiện tại và mọi ngày trong tương lai không được tô màu .

      Các công thức để làm nổi bật các ngày trong tương lai

      • Sẽ xảy ra sau hơn 30 ngày kể từ bây giờ: =$A2-TODAY()>30
      • Sau 30 đến 15 ngày, bao gồm: =AND($A2-TODAY()>=15, $A2-TODAY()<=30)
      • Trong vòng chưa đầy 15 ngày: =AND($A2-TODAY()>=1, $A2-TODAY()<15)

      Ngày hiện tại và bất kỳ ngày nào trong quá khứ không được tô màu.

      Làm thế nàođể tô bóng các khoảng trống và khoảng thời gian

      Trong ví dụ cuối cùng này, chúng ta sẽ sử dụng một hàm ngày khác của Excel - DATEDIF(start_date, end_date, interval) . Hàm này tính toán sự khác biệt giữa hai ngày dựa trên khoảng thời gian đã chỉ định. Nó khác với tất cả các hàm khác mà chúng ta đã thảo luận trong hướng dẫn này ở chỗ nó cho phép bạn bỏ qua tháng hoặc năm và chỉ tính toán sự khác biệt giữa ngày hoặc tháng, tùy theo lựa chọn của bạn.

      Đừng thấy cách làm này có thể làm việc cho bạn? Hãy nghĩ về nó theo một cách khác… Giả sử bạn có một danh sách ngày sinh của các thành viên trong gia đình và bạn bè của mình. Bạn có muốn biết còn bao nhiêu ngày nữa là đến sinh nhật tiếp theo của họ không? Hơn nữa, chính xác còn bao nhiêu ngày nữa là đến lễ kỷ niệm ngày cưới của bạn và các sự kiện khác mà bạn không muốn bỏ lỡ? Dễ dàng!

      Công thức bạn cần là đây (trong đó A là cột Ngày ):

      =DATEDIF(TODAY(), DATE((YEAR(TODAY())+1), MONTH($A2), DAY($A2)), "yd")

      Loại khoảng thời gian "yd" tại phần cuối của công thức được sử dụng để bỏ qua các năm và chỉ tính toán sự khác biệt giữa các ngày. Để biết danh sách đầy đủ các loại khoảng thời gian có sẵn, hãy xem tại đây.

      Mẹo. Nếu bạn quên hoặc đặt sai công thức phức tạp đó, bạn có thể sử dụng công thức đơn giản này: =365-DATEDIF($A2,TODAY(),"yd") . Nó tạo ra kết quả chính xác như nhau, chỉ cần nhớ thay thế 365 bằng 366 trong những năm nhuận :)

      Và bây giờ, hãy tạo một điều kiện Excel quy tắc định dạng để tô các khoảng trống khác nhau bằng các màu khác nhau. Trong trường hợp này, sẽ hợp lý hơn nếu sử dụngThang màu Excel thay vì tạo quy tắc riêng cho từng khoảng thời gian.

      Ảnh chụp màn hình bên dưới thể hiện kết quả trong Excel - thang 3 màu chuyển sắc với các sắc độ từ xanh lục sang đỏ đến vàng.

      Ứng dụng Web Excel "Ngày cho đến sinh nhật tiếp theo"

      Chúng tôi đã tạo Ứng dụng Web Excel này để hiển thị cho bạn công thức trên trong thực tế. Chỉ cần nhập sự kiện của bạn vào cột thứ nhất và thay đổi ngày tương ứng trong cột thứ 2 để thử nghiệm kết quả.

      Lưu ý. Để xem sổ làm việc được nhúng, vui lòng cho phép cookie tiếp thị.

      Nếu bạn tò mò muốn biết cách tạo bảng tính Excel tương tác như vậy, hãy xem bài viết này về cách tạo bảng tính Excel dựa trên web.

      Hy vọng rằng ít nhất một trong các định dạng có điều kiện của Excel cho ngày được thảo luận trong bài viết này đã được chứng minh là hữu ích với bạn. Nếu bạn đang tìm kiếm một giải pháp cho một số nhiệm vụ khác nhau, bạn rất có thể gửi bình luận. Cảm ơn bạn đã đọc!

      đủ, bạn luôn có thể nhấp vào nút Thêm màu… .

    5. Nhấp vào OK và tận hưởng kết quả! : )

    Tuy nhiên, cách nhanh chóng và đơn giản này có hai hạn chế đáng kể - 1) nó chỉ hoạt động với các ô được chọn và 2) định dạng có điều kiện luôn được áp dụng dựa trên vào ngày hiện tại.

    Công thức định dạng có điều kiện của Excel cho ngày tháng

    Nếu bạn muốn đánh dấu ô hoặc toàn bộ hàng dựa trên ngày trong ô khác hoặc tạo quy tắc cho khoảng thời gian lớn hơn (tức là hơn một tháng kể từ ngày hiện tại), bạn sẽ phải tạo quy tắc định dạng có điều kiện của riêng mình dựa trên công thức. Dưới đây, bạn sẽ tìm thấy một số ví dụ về định dạng ngày tháng có điều kiện trong Excel mà tôi yêu thích.

    Cách đánh dấu các ngày cuối tuần trong Excel

    Rất tiếc, Microsoft Excel không có lịch tích hợp sẵn tương tự như lịch của Outlook. Chà, hãy xem cách bạn có thể tạo lịch tự động của riêng mình mà không tốn nhiều công sức.

    Khi thiết kế lịch Excel, bạn có thể sử dụng hàm =DATE(năm, tháng, ngày) để hiển thị các ngày trong tuần . Chỉ cần nhập năm và số tháng ở đâu đó trong bảng tính của bạn và tham chiếu các ô đó trong công thức. Tất nhiên, bạn có thể nhập số trực tiếp vào công thức, nhưng đây không phải là cách tiếp cận hiệu quả vì bạn sẽ phải điều chỉnh công thức cho mỗi tháng.

    Ảnh chụp màn hình bên dưới minh họahàm DATE đang hoạt động. Tôi đã sử dụng công thức =DATE($B$2,$B$1,B$4) được sao chép trên hàng 5.

    Mẹo. Nếu bạn chỉ muốn hiển thị các ngày trong tuần như bạn thấy trong hình trên, hãy chọn các ô có công thức (trong trường hợp của chúng tôi là hàng 5), nhấp chuột phải và chọn Định dạng ô…> Số > Tùy chỉnh . Từ danh sách thả xuống bên dưới Loại , chọn dddd hoặc ddd để hiển thị tên ngày đầy đủ hoặc tên viết tắt tương ứng.

    Lịch Excel của bạn sắp hoàn thành và bạn chỉ cần thay đổi màu của các ngày cuối tuần. Đương nhiên, bạn sẽ không tô màu các ô theo cách thủ công. Chúng tôi sẽ tự động định dạng các ngày cuối tuần trong Excel bằng cách tạo quy tắc định dạng có điều kiện dựa trên công thức WEEKDAY .

    1. Bạn bắt đầu bằng cách chọn lịch Excel nơi bạn muốn tô đậm các ngày cuối tuần . Trong trường hợp của chúng tôi, đó là phạm vi $B$4:$AE$10. Đảm bảo bắt đầu lựa chọn bằng cột ngày đầu tiên - Cột B trong ví dụ này.
    2. Trên tab Trang chủ , nhấp vào menu Định dạng có điều kiện > Quy tắc mới .
    3. Tạo quy tắc định dạng có điều kiện mới dựa trên công thức như được giải thích trong hướng dẫn được liên kết ở trên.
    4. Trong phần " Định dạng giá trị mà công thức này đúng" , hãy nhập công thức WEEKDAY sau đây sẽ xác định ô nào là Thứ Bảy và Chủ nhật: =WEEKDAY(B$5,2)>5
    5. Nhấp vào nút Định dạng… và thiết lập định dạng tùy chỉnh của bạn bằng cách chuyển đổigiữa các tab Phông chữ , Đường viền Điền và chơi với các tùy chọn định dạng khác nhau. Khi hoàn tất, hãy nhấp vào nút OK để xem trước quy tắc.

    Bây giờ, hãy để tôi giải thích ngắn gọn công thức WEEKDAY(serial_number,[return_type]) để bạn có thể nhanh chóng điều chỉnh nó cho bảng tính của riêng bạn.

    • Tham số serial_number biểu thị ngày bạn đang cố tìm. Bạn nhập tham chiếu đến ô đầu tiên có ngày, trong trường hợp của chúng tôi là B$5.
    • Tham số [return_type] xác định loại tuần (dấu ngoặc vuông ngụ ý đây là tùy chọn). Bạn nhập 2 làm loại trả lại cho một tuần bắt đầu từ Thứ Hai (1) đến Chủ Nhật (7). Bạn có thể tìm thấy danh sách đầy đủ các loại trả hàng có sẵn tại đây.
    • Cuối cùng, bạn viết >5 để chỉ đánh dấu Thứ Bảy (6) và Chủ nhật (7).

    Ảnh chụp màn hình bên dưới thể hiện kết quả trong Excel 2013 - các ngày cuối tuần được đánh dấu bằng màu đỏ.

    Mẹo:

    • Nếu bạn có những ngày cuối tuần không theo tiêu chuẩn trong công ty của bạn, ví dụ: thứ Sáu và thứ Bảy, thì bạn cần điều chỉnh công thức để công thức bắt đầu tính từ Chủ nhật (1) và đánh dấu các ngày 6 (thứ Sáu) và 7 (thứ Bảy) - WEEKDAY(B$5,1)>5 .
    • Nếu bạn đang tạo một chiều ngang ( landscape), hãy sử dụng cột tương đối (không có $) và hàng tuyệt đối (có $) trong tham chiếu ô vì bạn nên khóa tham chiếu của hàng - trong ví dụ trên, đó là hàng 5, vì vậy chúng tôi đã nhập B$5. Nhưng nếu bạn đang thiết kế mộtlịch theo hướng dọc, bạn nên làm ngược lại, tức là sử dụng cột tuyệt đối và hàng tương đối, ví dụ: $B5 như bạn có thể thấy trong ảnh chụp màn hình bên dưới:

    Cách đánh dấu các ngày lễ trong Excel

    Để cải thiện lịch Excel của mình hơn nữa, bạn có thể bóng râm ngày lễ là tốt. Để làm điều đó, bạn cần liệt kê các ngày lễ mà bạn muốn đánh dấu trong cùng một bảng tính hoặc một số bảng tính khác.

    Ví dụ: tôi đã thêm các ngày lễ sau vào cột A ($A$14:$A$17 ). Tất nhiên, không phải tất cả chúng đều là ngày nghỉ lễ thực sự, nhưng chúng sẽ phục vụ cho mục đích trình diễn :)

    Một lần nữa, bạn mở Định dạng có điều kiện > Quy tắc mới . Trong trường hợp nghỉ lễ, bạn sẽ sử dụng hàm MATCH hoặc COUNTIF :

    • =COUNTIF($A$14:$A$17,B$5)>0
    • =MATCH(B$5,$A$14:$A$17,0)

    Lưu ý. Nếu bạn đã chọn một màu khác cho ngày lễ, bạn cần di chuyển quy tắc nghỉ lễ lên đầu danh sách quy tắc thông qua Định dạng có điều kiện > Quản lý quy tắc…

    Hình ảnh sau đây hiển thị kết quả trong Excel 2013:

    Định dạng có điều kiện một ô khi giá trị được thay đổi thành ngày

    Không phải là vấn đề lớn khi định dạng có điều kiện một ô khi một ngày được thêm vào ô đó hoặc bất kỳ ô nào khác trong cùng một hàng miễn là không cho phép loại giá trị nào khác. Trong trường hợp này, bạn có thể chỉ cần sử dụng một công thức để đánh dấu các ô không trống, như được mô tả trong công thức có điều kiện của Excel chokhoảng trống và không trống. Nhưng nếu những ô đó đã có một số giá trị, ví dụ: văn bản và bạn muốn thay đổi màu nền khi văn bản được thay đổi thành ngày?

    Nhiệm vụ nghe có vẻ hơi phức tạp nhưng giải pháp rất đơn giản.

    1. Trước hết , bạn cần xác định mã định dạng ngày tháng của mình. Đây chỉ là một vài ví dụ:
      • D1: dd-mmm-yy hoặc d-mmm-yy
      • D2: dd-mmm hoặc d-mmm
      • D3: mmm -yy
      • D4: mm/dd/yy hoặc m/d/yy hoặc m/d/yy h:mm

      Bạn có thể tìm thấy danh sách đầy đủ các mã ngày trong phần này bài viết.

    2. Chọn một cột mà bạn muốn thay đổi màu của các ô hoặc toàn bộ bảng trong trường hợp bạn muốn đánh dấu các hàng.
    3. Và bây giờ hãy tạo một quy tắc định dạng có điều kiện bằng cách sử dụng công thức tương tự như sau: =CELL("format",$A2)="D1" . Trong công thức, A là cột có ngày và D1 là định dạng ngày.

      Nếu bảng của bạn chứa ngày ở 2 định dạng trở lên thì hãy sử dụng toán tử OR, ví dụ: =OR(cell("format", $A2)="D1", cell("format",$A2)="D2", cell("format", $A2)="D3")

      Ảnh chụp màn hình bên dưới minh họa kết quả của quy tắc định dạng có điều kiện như vậy đối với ngày tháng.

    Cách đánh dấu các hàng dựa trên một số ngày trong một cột nhất định

    Giả sử bạn có một bảng tính Excel lớn chứa hai cột ngày (B và C). Bạn muốn đánh dấu mọi hàng có một ngày nhất định, chẳng hạn như 13-May-14, trong cột C.

    Để áp dụng định dạng có điều kiện của Excel cho một ngày nhất định, bạn cần tìm giá trị số đầu tiên. Như bạn có thểbiết, Microsoft Excel lưu trữ ngày tháng dưới dạng số sê-ri liên tiếp, bắt đầu từ ngày 1 tháng 1 năm 1900. Vì vậy, ngày 1 tháng 1 năm 1900 được lưu trữ là 1, ngày 2 tháng 1 năm 1900 được lưu trữ là 2… và ngày 13 tháng 5-14 là 41772.

    Để tìm số của ngày, nhấp chuột phải vào ô, chọn Định dạng ô > Số và chọn định dạng Chung . Viết số bạn nhìn thấy và nhấp vào Hủy vì bạn không thực sự muốn thay đổi định dạng của ngày.

    Đó thực sự là phần chính của hoạt động và bây giờ bạn chỉ cần tạo quy tắc định dạng có điều kiện cho toàn bộ bảng bằng công thức rất đơn giản sau: =$C2=41772 . Công thức ngụ ý rằng bảng của bạn có tiêu đề và hàng 2 là hàng đầu tiên có dữ liệu.

    Một giải pháp thay thế cách là sử dụng công thức DATEVALUE để chuyển đổi ngày thành định dạng số được lưu trữ, ví dụ: =$C2=DATEVALUE("5/13/2014")

    Cho dù bạn sử dụng công thức nào thì công thức đó cũng sẽ có tác dụng như nhau:

    Định dạng ngày có điều kiện trong Excel dựa trên ngày hiện tại

    Như bạn có thể biết Microsoft Excel cung cấp các hàm TODAY() cho các tính toán khác nhau dựa trên ngày hiện tại. Đây chỉ là một vài ví dụ về cách bạn có thể sử dụng nó để định dạng ngày theo điều kiện trong Excel.

    Ví dụ 1. Đánh dấu các ngày bằng, lớn hơn hoặc nhỏ hơn hôm nay

    Để định dạng theo điều kiện các ô hoặc toàn bộ hàng dựa trên ngày hôm nay, bạn sử dụng hàm TODAY như sau:

    Bằng ngày hôm nay: =$B2=TODAY()

    Lớn hơn hôm nay: =$B2>TODAY()

    Nhỏ hơn hôm nay: =$B2

    Ảnh chụp màn hình bên dưới minh họa hoạt động của các quy tắc trên. Xin lưu ý, tại thời điểm viết bài TODAY là ngày 12 tháng 6 năm 2014.

    Ví dụ 2. Định dạng ngày có điều kiện trong Excel dựa trên một số điều kiện

    Trong theo cách tương tự, bạn có thể sử dụng hàm TODAY kết hợp với các hàm Excel khác để xử lý các tình huống phức tạp hơn. Ví dụ: bạn có thể muốn công thức ngày định dạng có điều kiện của Excel tô màu cột Invoice khi Delivery Date bằng hoặc lớn hơn ngày hôm nay NHƯNG bạn muốn định dạng biến mất khi bạn nhập số hóa đơn.

    Đối với tác vụ này, bạn sẽ cần một cột bổ sung có công thức sau (trong đó E là cột Giao hàng và F là cột Hóa đơn ):

    =IF(E2>=TODAY(),IF(F2="", 1, 0), 0)

    Nếu ngày giao hàng lớn hơn hoặc bằng ngày hiện tại và không có số nào trong cột Hóa đơn, thì công thức trả về 1, nếu không thì trả về 0.

    Sau đó, bạn tạo một quy tắc định dạng có điều kiện đơn giản cho cột Invoice với công thức =$G2=1 trong đó G là cột bổ sung của bạn. Tất nhiên, bạn sẽ có thể ẩn cột này sau.

    Ví dụ 3. Đánh dấu các ngày và sự chậm trễ sắp tới

    Giả sử bạn có một lịch trình dự án trong Excel liệt kê các nhiệm vụ, ngày bắt đầu và thời lượng của chúng. Những gì bạn muốn là có kết thúcngày cho mỗi nhiệm vụ được tính toán tự động. Một thách thức khác là công thức cũng nên xem xét các ngày cuối tuần. Ví dụ: nếu ngày bắt đầu là ngày 13 tháng 6 năm 2014 và số ngày làm việc (Thời lượng) là 2, thì ngày kết thúc sẽ là ngày 17 tháng 6 năm 2014, vì ngày 14 tháng 6 và 15 tháng 6 là Thứ Bảy và Chủ Nhật .

    Để làm điều này, chúng ta sẽ sử dụng hàm WORKDAY.INTL(start_date,days,[weekend],[holidays]) , chính xác hơn là =WORKDAY.INTL(B2,C2,1) .

    Trong công thức, chúng ta nhập 1 làm tham số thứ 3 kể từ đó cho biết thứ bảy và chủ nhật là ngày nghỉ. Bạn có thể sử dụng một giá trị khác nếu ngày cuối tuần của bạn khác, chẳng hạn như Thứ Sáu và Thứ Bảy. Danh sách đầy đủ các giá trị cuối tuần có sẵn tại đây. Theo tùy chọn, bạn cũng có thể sử dụng tham số thứ 4 [ngày lễ], là một tập hợp ngày (phạm vi ô) sẽ được loại trừ khỏi lịch ngày làm việc.

    Và cuối cùng, bạn có thể muốn đánh dấu các hàng tùy theo về thời hạn còn bao xa. Ví dụ: các quy tắc định dạng có điều kiện dựa trên 2 công thức sau đây lần lượt đánh dấu các ngày kết thúc sắp tới và gần đây:

    • =AND($D2-TODAY()>=0,$D2-TODAY()<=7) - đánh dấu tất cả các hàng có Ngày kết thúc (cột D) nằm trong 7 ngày tới . Công thức này thực sự hữu ích khi cần theo dõi ngày hết hạn hoặc khoản thanh toán sắp tới.
    • =AND(TODAY()-$D2>=0,TODAY()-$D2<=7) - đánh dấu tất cả các hàng có Ngày kết thúc (cột D) nằm trong 7 ngày qua . Bạn có thể sử dụng công thức này để theo dõi các khoản thanh toán quá hạn mới nhất và các khoản khác

    Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.