Làm thế nào để tính số tháng và số ngày thực tế giữa hai ngày trong Google Sheets

Bạn có thể dễ dàng tính số tháng và số ngày giữa hai ngày trong Google Sheets bằng cách sử dụng hàm QUERY hoặc DATEDIF. Tùy thuộc vào yêu cầu cụ thể của bạn, bạn có thể chọn hàm phù hợp để nhận kết quả mong muốn.

Sử dụng hàm DATEDIF

Hàm DATEDIF trong Google Sheets cho phép bạn tính số tháng đầy đủ và số ngày còn lại giữa hai ngày. Để làm điều này, bạn cần sử dụng hai công thức dựa trên hàm này:

  1. Sử dụng công thức =datedif(A2,B2,"M") với đơn vị là ‘M’ để nhận số tháng đầy đủ giữa các ngày.
    Kết quả: 1

  2. Sử dụng công thức =datedif(A2,B2,"MD") với đơn vị là ‘MD’ để nhận số ngày còn lại.
    Kết quả: 5

Công thức đầu tiên đếm 28 ngày từ 10/02/2022 đến 10/03/2022, vì tháng 2 có 28 ngày. Công thức thứ hai trả về số ngày còn lại từ 11/02/2022 đến 15/02/2022, tức là 5 ngày. Như vậy, bạn có thể dễ dàng nhận được số tháng đầy đủ giữa các ngày và số ngày còn lại trong Google Sheets.

DATEDIF để tính số tháng giữa các ngày trong Google Sheets

Bây giờ, hãy khám phá một giải pháp thay thế sử dụng hàm QUERY.

Sử dụng hàm QUERY

Hàm QUERY cho phép bạn liệt kê các tháng trong một cột và số ngày tương ứng trong một cột khác. Đây là hai công thức bạn có thể sử dụng:

  1. Công thức cơ bản:

    =ArrayFormula( query( to_date(row(indirect("A"&A2):indirect("A"&B2))), "Select month(Col1)+1,count(Col1) group by month(Col1)" ) )

    Tôi không khuyến nghị sử dụng công thức cơ bản này vì nó có một nhược điểm. Nếu ngày bắt đầu và ngày kết thúc của bạn nằm trong hai năm khác nhau, nó sẽ không cung cấp kết quả chính xác.

  2. Công thức được đề xuất:

    =ArrayFormula( query( EOMONTH(row(indirect("A"&A2):indirect("A"&B2)),0), "Select Col1, Count(Col1) group by Col1 label Col1 'Tháng', count(Col1)'Số ngày trong tháng' format Col1'MMMM-YYYY'" ) )

    Công thức này được định dạng đầy đủ và cung cấp nhãn trường đúng. Các tháng được hiển thị dưới dạng văn bản, ví dụ như Tháng Một, Tháng Hai, v.v. Khác với công thức cơ bản, công thức này tính cả các năm khác nhau trong ngày bắt đầu và ngày kết thúc.

Cả hai công thức này đều sử dụng hàm QUERY để nhóm các ngày theo tháng và trả về số lượng. Bạn có thể chọn công thức phù hợp nhất với nhu cầu của mình.

Bằng cách sử dụng hàm DATEDIF hoặc QUERY, bạn có thể dễ dàng xác định số tháng và số ngày thực tế giữa ngày bắt đầu và ngày kết thúc trong Google Sheets.

Giải thích công thức (Query)

Hãy cùng tìm hiểu cách hoạt động của công thức trong hàm QUERY.

Trong Google Sheets, một ngày được đại diện bằng một số đã định dạng. Để lấy số đó, bạn có thể sử dụng hàm DATEVALUE. Ví dụ:

=datevalue(A2)
Kết quả: 43158

Các giá trị trên ô A2 và B2 đại diện cho các ngày thực tế. Sử dụng công thức ROW, bạn có thể lấy các số tuần tự tương ứng với các ngày đó. Những số này thực chất là các ngày từ 27/02/2018 đến 02/04/2018.

=ArrayFormula(row(43158:43192))

Với hàm TO_DATE, bạn có thể định dạng lại các số này thành các ngày:

=ArrayFormula(TO_DATE(row(43158:43192)))

Trong công thức D1, hàm INDIRECT được sử dụng để lấy các giá trị từ các ô A2 và B2. Nếu không sử dụng INDIRECT, công thức sẽ trông như sau:

=ArrayFormula( query( TO_DATE(row(43158:43192)), "Select month(Col1)+1,count(Col1) group by month(Col1)" ) )

Mục đích của hàm QUERY là nhóm các ngày theo tháng và trả về số lượng. Để khắc phục vấn đề khi hàm trả về số tháng từ 0 đến 11 thay vì từ 1 đến 12, chúng ta thêm 1 vào số tháng: month(Col1)+1.

Trong công thức G1, thay vì TO_DATE, ta sử dụng hàm EOMONTH và thêm mệnh đề Format. Công thức này cung cấp nhãn trường đúng và hiển thị các tháng dưới dạng văn bản như “Tháng Một”, “Tháng Hai”, v.v.

Mong rằng những công thức này sẽ giúp bạn dễ dàng tìm ra số tháng và ngày giữa hai ngày trong Google Sheets. Đừng ngần ngại liên hệ nếu bạn có bất kỳ câu hỏi nào. Chúc bạn thành công!

Xem thêm:


Related posts