Công thức WEEKDAY trong Excel để lấy ngày trong tuần, cuối tuần và ngày làm việc

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

Nếu bạn đang tìm kiếm một hàm Excel để lấy ngày trong tuần, thì bạn đã đến đúng trang. Hướng dẫn này sẽ hướng dẫn bạn cách sử dụng công thức WEEKDAY trong Excel để chuyển đổi một ngày thành tên ngày trong tuần, lọc, đánh dấu và đếm ngày cuối tuần hoặc ngày làm việc, v.v.

Có nhiều hàm để làm việc với ngày tháng trong Excel. Hàm ngày trong tuần (WEEKDAY) đặc biệt hữu ích cho việc lập kế hoạch và lên lịch trình, chẳng hạn như để xác định khung thời gian của một dự án và tự động loại bỏ các ngày cuối tuần khỏi tổng số. Vì vậy, chúng ta hãy lần lượt xem qua các ví dụ và xem cách chúng có thể giúp bạn xử lý các tác vụ khác nhau liên quan đến ngày trong Excel.

    WEEKDAY - Hàm Excel cho ngày của tuần

    Hàm WEEKDAY của Excel được sử dụng để trả về ngày trong tuần từ một ngày nhất định.

    Kết quả là một số nguyên, nằm trong khoảng từ 1 (Chủ Nhật) đến 7 (Thứ Bảy) theo mặc định . Nếu logic công việc của bạn yêu cầu một phép liệt kê khác, bạn có thể định cấu hình công thức để bắt đầu đếm với bất kỳ ngày nào khác trong tuần.

    Hàm WEEKDAY có sẵn trong tất cả các phiên bản Excel 365 đến 2000.

    Cú pháp của hàm WEEKDAY như sau:

    WEEKDAY(serial_number, [return_type])

    Trong đó:

    Serial_number (bắt buộc) - ngày bạn muốn chuyển đổi đến số ngày trong tuần. Nó có thể được cung cấp dưới dạng số sê-ri đại diện cho ngày, dưới dạng chuỗi văn bản ở định dạngmà Excel hiểu, dưới dạng tham chiếu đến ô chứa ngày hoặc bằng cách sử dụng hàm DATE.

    Return_type (tùy chọn) - xác định ngày nào trong tuần sẽ được sử dụng làm ngày đầu tiên . Nếu bỏ qua, giá trị mặc định là từ Chủ Nhật đến Thứ Bảy.

    Dưới đây là danh sách tất cả các giá trị return_type được hỗ trợ:

    Return_type Số được trả về
    1 hoặc bị bỏ qua Từ 1 (Chủ Nhật) đến 7 (Thứ Bảy)
    2 Từ 1 (Thứ Hai) đến 7 (Chủ Nhật)
    3 Từ 0 (Thứ Hai) đến 6 (Chủ Nhật)
    11 Từ 1 (Thứ Hai) đến 7 (Chủ nhật)
    12 Từ 1 (Thứ Ba) đến 7 (Thứ Hai)
    13 Từ 1 (Thứ Tư) đến 7 (Thứ Ba)
    14 Từ 1 (Thứ Năm) đến 7 (Thứ Tư)
    15 Từ 1 (Thứ Sáu) đến 7 (Thứ Năm)
    16 Từ 1 (thứ bảy) đến 7 (thứ sáu)
    17 Từ 1 (Chủ nhật) đến 7 (thứ bảy)

    Lưu ý. Các giá trị return_type từ 11 đến 17 đã được giới thiệu trong Excel 2010 và do đó chúng không thể được sử dụng trong các phiên bản cũ hơn.

    Công thức WEEKDAY cơ bản trong Excel

    Để bắt đầu, hãy xem cách thực hiện để sử dụng công thức WEEKDAY ở dạng đơn giản nhất để lấy số ngày từ ngày.

    Ví dụ: để lấy ngày trong tuần từ ngày trong C4 với tuần Chủ Nhật - Thứ Bảy mặc định, công thức là:

    =WEEKDAY(C4)

    Nếu bạn có số sê-riđại diện cho ngày (ví dụ: do hàm DATEVALUE mang lại), bạn có thể nhập trực tiếp số đó vào công thức:

    =WEEKDAY(45658)

    Ngoài ra, bạn có thể nhập ngày dưới dạng chuỗi văn bản nằm trong dấu ngoặc kép trực tiếp trong công thức. Chỉ cần đảm bảo sử dụng định dạng ngày mà Excel dự kiến ​​và có thể diễn giải:

    =WEEKDAY("1/1/2025")

    Hoặc, cung cấp ngày nguồn theo cách đáng tin cậy 100% bằng cách sử dụng hàm DATE:

    =WEEKDAY(DATE(2025, 1,1))

    Để sử dụng ánh xạ ngày khác với Sun-Sat mặc định, hãy nhập một số thích hợp vào đối số thứ hai. Ví dụ: để bắt đầu đếm ngày từ Thứ Hai, công thức là:

    =WEEKDAY(C4, 2)

    Trong hình bên dưới, tất cả các công thức trả về ngày trong tuần tương ứng với ngày 1 tháng 1 năm 2025, tức là được lưu trữ dưới dạng số 45658 trong nội bộ Excel. Tùy thuộc vào giá trị được đặt trong đối số thứ hai, các công thức sẽ đưa ra các kết quả khác nhau.

    Thoạt nhìn, có vẻ như các số do hàm WEEKDAY trả về có rất ít ý nghĩa thực tế. Nhưng chúng ta hãy xem xét nó từ một góc độ khác và thảo luận về một số công thức giải quyết các nhiệm vụ thực tế.

    Cách chuyển đổi ngày trong Excel thành tên ngày trong tuần

    Theo thiết kế, hàm WEEKDAY trong Excel trả về ngày trong tuần dưới dạng số. Để biến số ngày trong tuần thành tên ngày, hãy sử dụng hàm TEXT.

    Để nhận tên ngày đầy đủ , hãy sử dụng mã định dạng "dddd":

    TEXT(WEEKDAY( date ), "dddd")

    Để trả về viết tắttên ngày , mã định dạng là "ddd":

    TEXT(WEEKDAY( date ), "ddd")

    Ví dụ: để chuyển đổi ngày trong A3 thành tên ngày trong tuần , công thức là:

    =TEXT(WEEKDAY(A3), "dddd")

    Hoặc

    =TEXT(WEEKDAY(A3), "ddd")

    Một giải pháp khả thi khác là sử dụng WEEKDAY cùng với hàm CHOOSE.

    Ví dụ: để lấy tên ngày trong tuần viết tắt từ ngày trong A3, công thức như sau:

    =CHOOSE(WEEKDAY(A3),"Sun","Mon","Tus","Wed","Thu","Fri","Sat")

    Ở đây, WEEKDAY trả về một số sê-ri từ 1 (Chủ Nhật) đến 7 (Thứ Bảy ) và CHOOSE chọn giá trị tương ứng từ danh sách. Vì ngày trong A3 (Thứ Tư) tương ứng với 4, CHOOSE xuất ra "Thứ Tư", là giá trị thứ 4 trong danh sách.

    Mặc dù công thức CHOOSE phức tạp hơn một chút để định cấu hình nhưng nó mang lại sự linh hoạt hơn cho phép bạn xuất tên ngày ở bất kỳ định dạng nào bạn muốn. Trong ví dụ trên, chúng tôi hiển thị tên ngày viết tắt. Thay vào đó, bạn có thể cung cấp tên đầy đủ, tên viết tắt tùy chỉnh hoặc thậm chí tên ngày bằng một ngôn ngữ khác.

    Mẹo. Một cách dễ dàng khác để chuyển đổi ngày thành tên ngày trong tuần là áp dụng định dạng ngày tùy chỉnh. Ví dụ: định dạng mã "dddd, mmmm d, yyyy" sẽ có ngày hiển thị là " Thứ sáu, ngày 3 tháng 1 năm 2025 " trong khi "dddd" sẽ chỉ hiển thị " Thứ sáu " .

    Công thức WEEKDAY của Excel để tìm và lọc ngày làm việc và ngày cuối tuần

    Khi xử lý danh sách ngày dài, bạn có thể muốn biết ngày nào là ngày làm việc và ngày nào là ngày cuối tuần.

    Để xác định ngày cuối tuần và ngày trong tuần trong Excel, hãy tạo câu lệnh IF với hàm WEEKDAY lồng nhau. Ví dụ:

    =IF(WEEKDAY(A3, 2)<6, "Workday", "Weekend")

    Công thức này chuyển đến ô A3 và được sao chép xuống bao nhiêu ô tùy ý.

    Trong công thức WEEKDAY, bạn đặt return_type thành 2, tương ứng với tuần từ Thứ Hai đến Chủ Nhật trong đó Thứ Hai là ngày 1. Vì vậy, nếu số ngày trong tuần nhỏ hơn 6 (Thứ Hai đến Thứ Sáu), công thức trả về "Ngày làm việc", nếu không - "Cuối tuần".

    Để lọc ngày cuối tuần hoặc ngày làm việc , hãy áp dụng bộ lọc Excel cho tập dữ liệu của bạn (tab Dữ liệu > Bộ lọc ) và chọn "Cuối tuần" hoặc "Ngày làm việc".

    Trong ảnh chụp màn hình bên dưới, chúng tôi đã lọc ra các ngày trong tuần, vì vậy chỉ những ngày cuối tuần mới hiển thị:

    Nếu một số văn phòng khu vực của tổ chức bạn làm việc theo một lịch trình khác trong đó các ngày nghỉ khác với Thứ Bảy và Chủ Nhật, bạn có thể dễ dàng điều chỉnh công thức WEEKDAY theo nhu cầu của mình bằng cách chỉ định một return_type khác.

    Ví dụ: để xử lý Saturday Thứ Hai là cuối tuần, hãy đặt return_type thành 12, vì vậy, bạn sẽ nhận được loại tuần "Thứ Ba (1) đến Thứ Hai (7)":

    =IF(WEEKDAY(A2, 12)<6, "Workday", "Weekend")

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

    Để phát hiện nhanh các ngày cuối tuần và ngày làm việc trong trang tính của bạn, bạn có thể tự động tô chúng bằng các màu khác nhau. Đối với điều này, hãy sử dụng công thức ngày trong tuần/cuối tuần được thảo luận trong ví dụ trước vớiĐịnh dạng có điều kiện của Excel. Khi điều kiện được ngụ ý, chúng ta chỉ cần hàm WEEKDAY cốt lõi mà không cần trình bao bọc IF.

    Để làm nổi bật các ngày cuối tuần (Thứ Bảy và Chủ Nhật):

    =WEEKDAY($A2, 2)<6

    Đến đánh dấu ngày làm việc (Thứ Hai - Thứ Sáu):

    =WEEKDAY($A2, 2)>5

    Trong đó A2 là ô phía trên bên trái của phạm vi đã chọn.

    Đến thiết lập quy tắc định dạng có điều kiện, các bước là:

    1. Chọn danh sách ngày (A2:A15 trong trường hợp của chúng tôi).
    2. Trên tab Trang chủ , trong nhóm Kiểu , nhấp vào Định dạng có điều kiện > Quy tắc mới .
    3. Trong hộp thoại Quy tắc định dạng mới hộp, chọn Sử dụng công thức để xác định ô nào cần định dạng .
    4. Trong hộp Định dạng giá trị trong đó công thức này là đúng, hãy nhập công thức nêu trên cho các ngày cuối tuần hoặc các ngày trong tuần.
    5. Nhấp vào nút Định dạng và chọn định dạng mong muốn.
    6. Nhấp OK hai lần để lưu các thay đổi và đóng các cửa sổ hộp thoại.

    Để biết thông tin chi tiết về từng bước, vui lòng xem Cách thiết lập định dạng có điều kiện với công thức.

    Kết quả trông khá đẹp phải không?

    Cách đếm ngày trong tuần và ngày cuối tuần trong Excel

    Để lấy số ngày trong tuần hoặc ngày cuối tuần trong danh sách ngày, bạn có thể sử dụng hàm WEEKDAY kết hợp với SUM. Ví dụ:

    Để đếm các ngày cuối tuần , công thức trong D3 là:

    =SUM(--(WEEKDAY(A3:A20, 2)>5))

    Để đếm các ngày trong tuần ,công thức trong D4 có dạng sau:

    =SUM(--(WEEKDAY(A3:A20, 2)<6))

    Trong Excel 365 và Excel =WEEKDAY(DATE(2025, 1,1)) xử lý mảng nguyên bản, công thức này hoạt động như một công thức thông thường như minh họa trong ảnh chụp màn hình bên dưới. Trong Excel 2019 trở về trước, nhấn Ctrl + Shift + Enter để biến nó thành công thức mảng.

    Cách thức hoạt động của các công thức này:

    Hàm WEEKDAY với return_type được đặt thành 2 trả về số ngày từ 1 (Thứ Hai) đến 7 (Chủ nhật ) cho mỗi ngày trong phạm vi A3:A20. Biểu thức logic kiểm tra xem các số được trả về lớn hơn 5 (đối với ngày cuối tuần) hay nhỏ hơn 6 (đối với ngày trong tuần). Kết quả của thao tác này là một mảng các giá trị TRUE và FALSE.

    Phủ định kép (--) buộc các giá trị logic thành 1 và 0. Và hàm SUM cộng chúng lại. Vì 1 (TRUE) đại diện cho số ngày được tính và 0 (FALSE) đại diện cho số ngày bị bỏ qua, bạn sẽ nhận được kết quả mong muốn.

    Mẹo. Để tính các ngày trong tuần giữa hai ngày , hãy sử dụng hàm NETWORKDAYS hoặc NETWORKDAYS.INTL.

    Nếu là ngày trong tuần thì dùng, nếu là thứ Bảy hoặc Chủ nhật thì dùng

    Cuối cùng, chúng ta hãy thảo luận thêm một chút trường hợp cụ thể cho biết cách xác định ngày trong tuần và nếu đó là Thứ Bảy hoặc Chủ nhật thì làm gì đó, nếu là ngày trong tuần thì làm gì đó khác.

    IF(WEEKDAY( cell , 2)> 5, if_weekend_then , if_weekday_then )

    Giả sử bạn đang tính toán các khoản thanh toán cho những nhân viên đã làm thêm một số công việc vào ngày nghỉ của họ, vì vậy bạn cầnáp dụng các mức thanh toán khác nhau cho ngày làm việc và ngày nghỉ cuối tuần. Điều này có thể được thực hiện bằng cách sử dụng câu lệnh IF sau:

    • Trong đối số logic_test , hãy lồng hàm WEEKDAY để kiểm tra xem một ngày nhất định là ngày làm việc hay cuối tuần.
    • Trong đối số value_if_true , hãy nhân số giờ làm việc với tỷ lệ ngày cuối tuần (G4).
    • Trong đối số value_if_false , hãy nhân số giờ làm việc theo tỷ lệ ngày làm việc (G3).

    Công thức hoàn chỉnh trong D3 có dạng sau:

    =IF(WEEKDAY(B3, 2)>5, C3*$G$4, C3*$G$3)

    Để công thức sao chép chính xác vào các ô bên dưới, đảm bảo khóa các địa chỉ ô tỷ lệ bằng ký hiệu $ (chẳng hạn như $G$4).

    Hàm WEEKDAY không hoạt động

    Nói chung, có hai lỗi phổ biến mà công thức WEEKDAY có thể trả về:

    #VALUE! xảy ra lỗi nếu:

    • Serial_number hoặc return_type không phải là số.
    • Serial_number đã hết phạm vi ngày được hỗ trợ (1900 đến 9999).

    #NUM! lỗi xảy ra khi return_type nằm ngoài phạm vi cho phép (1-3 hoặc 11-17).

    Đây là cách sử dụng hàm WEEKDAY trong Excel để thao tác các ngày trong tuần. Trong bài viết tiếp theo, chúng ta sẽ tìm hiểu các hàm Excel để hoạt động trên các đơn vị thời gian lớn hơn như tuần, tháng và năm. Hãy chú ý theo dõi và cảm ơn bạn đã đọc!

    Sách bài tập thực hành để tải xuống

    Công thức WEEKDAY trong Excel - ví dụ (.xlsxtệp)

    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.