Công thức Excel: Chuỗi ngày
Công thức Excel: Chuỗi ngày

Công thức chung
=SEQUENCE(days,1,start_date,step)
Tóm lược

Để tạo một chuỗi ngày theo ngày, bạn có thể sử dụng Hàm SEQUENCE. Trong ví dụ được hiển thị, công thức trong E5 là:

=SEQUENCE(12,1,C4,1)

tạo ra một chuỗi 12 ngày, bắt đầu từ ngày 1 tháng 5 năm 2019, ngày trong C4.

Giải trình

Hàm SEQUENCE là một hàm mảng động có thể tạo ra nhiều kết quả. Khi được sử dụng bởi chính nó trên trang tính, SEQUENCE xuất ra một mảng kết quả “tràn“lên trang tính trong”phạm vi tràn“.

SEQUENCE có thể tạo kết quả theo hàng, cột hoặc hàng và cột. Trong ví dụ này, chúng tôi đang yêu cầu trình tự cho một mảng số có 12 hàng x 1 cột, bắt đầu bằng ngày tháng trong C4 và tăng dần 1. Bởi vì ngày tháng trong Excel chỉ là số sê-rivà ngày tháng trong C4 tương đương với 43586, SEQUENCE xuất ra một mảng như sau:

{43586;43587;43588;43589;43590;43591;43592;43593;43594;43595;43596;43597}

tràn vào phạm vi E5: E16. Khi nào được định dạng dưới dạng ngày tháng, các giá trị này hiển thị 12 ngày liên tiếp bắt đầu từ ngày 1 tháng 5 năm 2019 và kết thúc bằng ngày 12 tháng 5 năm 2019.

Chỉ ngày làm việc

Để sử dụng SEQUENCE để tạo một chuỗi ngày chỉ là ngày làm việc, bạn có thể đặt SEQUENCE trong WORKDAY hoặc là WORKDAY.INTL chức năng. Trong ví dụ được hiển thị, công thức trong G5 là:

{=WORKDAY.INTL(C4-1,SEQUENCE(12))}

Lưu ý: đây là một công thức mảng và phải được nhập bằng control + shift + enter. Ngoài ra, vì đây là công thức mảng nhiều ô nên trước tiên bạn phải chọn tất cả 12 ô để nhập hoặc chỉnh sửa công thức.

Ở đây, bên trong hàm WORKDAY, trước tiên, chúng tôi trừ đi 1 ngày từ ngày bắt đầu. Chúng tôi làm điều này để buộc WORKDAY.INTL đánh giá ngày bắt đầu và bắt đầu trình tự vào ngày bắt đầu.

Tiếp theo, chúng tôi sử dụng SEQUENCE để tạo 12 số liên tiếp:


Bởi vì các đối số cột, bắt đầu và bước đều là tùy chọn, điều này sẽ xuất ra một mảng như sau:

{1;2;3;4;5;6;7;8;9;10;11;12}

Đây là những số được cung cấp làm đối số “ngày” cho WORKDAY.INTL. Tại mỗi hàng mới, WORKDAY.INTL tính toán một ngày làm việc n ngày trong tương lai bằng cách sử dụng mảng được phân phối bởi SEQUENCE. WORKDAY.INTL tự động giả định Thứ Bảy và Chủ Nhật là “ngày cuối tuần” (không phải ngày làm việc) nên những ngày này bị loại trừ khỏi kết quả. WORKDAY.INTL cũng có thể được định cấu hình để xử lý các ngày cuối tuần và ngày lễ tùy chỉnh, như được giải thích ở đây.

https://exceljet.net/formula/sequence-of-days