Lấy ngày nhỏ nhất bỏ qua các ô trống trong mỗi hàng trong Google Sheets

Bạn có các giải pháp mảng và không mảng để lấy ngày nhỏ nhất bỏ qua các ô trống trong mỗi hàng trong Google Sheets. Đó bao gồm cả các công thức Lambda.

Việc bỏ qua các ô trống là rất quan trọng trong ngữ cảnh này. Bạn có biết tại sao không?

Giả sử bạn có một phạm vi ngày từ B2:F7.

Bạn muốn lấy ngày nhỏ nhất bỏ qua các ô trống trong mỗi hàng trong phạm vi này.

Không có vấn đề để lấy ngày nhỏ nhất chính xác từ phạm vi này;

  • Nếu có ít nhất một ngày trong mỗi hàng.
  • Phạm vi không chứa bất kỳ giá trị nào khác ngoài ngày.

Bạn có thể sử dụng công thức MIN dưới đây trong ô H2 và sao chép nó xuống.

A] Công thức MIN không mảng:

=min(B2:F2)

Bạn cũng có thể sử dụng một công thức mảng dựa trên DMIN.

B.1] Công thức mảng DMIN (H2:H7 trống và sau đó chèn nó vào H2 duy nhất):

=ArrayFormula( TO_DATE( DMIN( transpose({B1:B7,B1:F7}), sequence(rows(B2:B7),1,2), {“Date 1”;if(,,)} ) ) )

Nếu bạn muốn tìm hiểu về công thức mảng DMIN trên, hãy đọc hướng dẫn của tôi – Tìm MIN theo từng hàng sử dụng DMIN trong Google Sheets.

Nhưng hãy lưu ý rằng công thức trên khác một chút so với công thức được giải thích trong hướng dẫn liên kết.

Ở đây, tôi đã mang đến một số cải tiến về hiệu suất mà dễ hiểu.

Thay vì DMIN trên, bây giờ chúng ta có thể mở rộng MIN bằng cách sử dụng hàm trợ giúp Lambda BYROW.

B.2] Công thức mảng MIN Lambda (H2:H7 trống và sau đó chèn nó vào H2 duy nhất):

=byrow(H2:H7,lambda(r,min(r)))

Điều gì xảy ra khi có hàng trống giữa các hàng chứa ngày?

Bạn sẽ không nhận được ô trống trong ô kết quả tương ứng nếu bất kỳ hàng nào trống.

Thay vào đó, khi sử dụng MIN (công thức A hoặc B.1), bạn sẽ nhận được 0 hoặc 30/12/1899 tùy thuộc vào định dạng ô kết quả.

Khi sử dụng DMIN, bạn sẽ nhận được 30/12/1899, bất kể định dạng.

Vì vậy, bạn sẽ không thể sử dụng các công thức trên để lấy ngày nhỏ nhất bỏ qua các ô trống trong mỗi hàng trong Google Sheets.

Hãy thử nó bằng cách làm theo các bước dưới đây.

  1. Làm trống phạm vi B5:F6.
  2. Chọn B5:F5 và đi đến menu Format > Number > Number.
  3. Chọn B6:F6 và đi đến menu Format > Number > Date.

Chúng ta đã định dạng hai hàng khác nhau.

Chèn công thức Min ở ô H2 và sao chép xuống và xem kết quả kì lạ.

Cũng hãy thử DMIN trên.

Công thức để lấy ngày nhỏ nhất bỏ qua các ô trống trong mỗi hàng

Giải pháp không mảng

C] Nếu bạn ưa thích một giải pháp không mảng, hãy sử dụng hàm FILTER để lọc các ô trống trong các hàng và sử dụng MIN.

=iferror(min(filter(B2:F2,datevalue(B2:F2))))

Chọn đầu ra và định dạng các giá trị ngày thành các ngày.

Công thức mảng để lấy ngày nhỏ nhất bỏ qua các ô trống trong mỗi hàng

Dưới đây là các công thức mảng để lấy ngày nhỏ nhất, bỏ qua các ô trống trong mỗi hàng trong Google Sheets.

Công thức chung: IF(DMIN_Array_Formula >0, DMIN_Array_Formula,)

D] Công thức DMIN:

=ArrayFormula( TO_DATE( if( DMIN( transpose({B1:B,B1:F}), sequence(rows(B2:B),1,2), {“Date 1”;if(,,)} )>0, DMIN( transpose({B1:B,B1:F}), sequence(rows(B2:B),1,2), {“Date 1”;if(,,)} ), ) ) )

Đầu ra:

Vì công thức này có khả năng bỏ qua các ô trống giữa các ngày, tôi đã mở rộng phạm vi.

Ý tôi là, đã thay thế B7 và F7 bằng B và F, tương ứng.

Còn công thức Lambda thay thế nào?

E] Công thức Lambda:

=byrow(B2:F,lambda(r, to_date(iferror(min(filter(r,datevalue(r)))))))

Tác động của giá trị 0

Tôi không ngờ người dùng sẽ nhập 0 giữa các ngày thay vì để các ô trống.

Nhưng điều đó có thể xảy ra khi anh ta đã nhập dữ liệu được xử lý trong Sheets.

Trong những tình huống như vậy, sẽ không có vấn đề nếu bạn sử dụng các công thức C hoặc E.

Ý tôi là với các công thức MIN mảng và không mảng mà chúng ta đã sử dụng ở trên để lấy ngày nhỏ nhất / nhỏ nhất bỏ qua các ô trống trong mỗi hàng.

Liên quan đến công thức D, công thức mảng phức tạp, bạn nên thay thế B1:F (xuất hiện hai lần) bằng phần công thức dưới đây.

iferror(datevalue(B1:F))

Đó là tất cả. Cảm ơn vì đã đọc. Chúc bạn có những trải nghiệm thú vị!

Example Sheet 170921

Resources:

Related posts