Công thức Excel: Lọc dữ liệu giữa các ngày -

Công thức chung

=FILTER(data,(dates>=A1)*(dates<=A2),"No data")

Tóm lược

Để lọc dữ liệu để bao gồm các bản ghi giữa hai ngày, bạn có thể sử dụng hàm FILTER với logic boolean. Trong ví dụ được hiển thị, công thức trong F8 là:

=FILTER(B5:D15,(C5:C15>=F5)*(C5:C15<=G5),"No data")

Trong đó trả về các bản ghi có ngày từ 15 tháng 1 đến 15 tháng 3, bao gồm cả.

Giải trình

Công thức này dựa vào hàm FILTER để truy xuất dữ liệu dựa trên kiểm tra logic được tạo bằng biểu thức logic boolean. Đối số mảng được cung cấp dưới dạng B5: D15, chứa toàn bộ dữ liệu không có tiêu đề. Đối số bao gồm dựa trên hai so sánh hợp lý:

(C5:C15>=F5)*(C5:C15<=G5)

Biểu thức bên trái kiểm tra xem ngày có lớn hơn hoặc bằng ngày "Từ" trong F5 hay không. Đây là một ví dụ về logic boolean. Biểu thức bên phải kiểm tra xem ngày có nhỏ hơn hoặc bằng ngày "Tới" trong G5 hay không. Hai biểu thức được kết hợp với một toán tử nhân, điều này tạo ra mối quan hệ AND.

Sau khi các biểu thức logic được đánh giá, chúng ta có:

((TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE))* ((TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE))

Lưu ý rằng có mười một kết quả trong mỗi bộ dấu ngoặc đơn, một kết quả cho mỗi ngày trong dữ liệu. Phép toán nhân buộc các giá trị TRUE FALSE thành 1s và 0s, do đó, kết quả cuối cùng là một mảng duy nhất như sau:

(1;1;1;1;0;0;0;0;0;0;0)

Lưu ý bốn số 1 trong mảng tương ứng với bốn ngày vượt qua bài kiểm tra. Mảng này được chuyển đến hàm FILTER và được sử dụng để lọc dữ liệu. Chỉ những hàng có kết quả là 1 mới trở thành đầu ra cuối cùng.

Đối số "if_empty" được đặt thành "Không có dữ liệu" trong trường hợp không tìm thấy dữ liệu phù hợp.

thú vị bài viết...