Công thức Excel: Nhận mục nhập đầu tiên theo tháng và năm -

Công thức chung

(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))

Tóm lược

Để tra cứu mục nhập đầu tiên trong bảng theo tháng và năm, bạn có thể sử dụng và công thức mảng dựa trên các hàm INDEX, MATCH và TEXT.

hàm LOOKUP với hàm TEXT. Trong ví dụ được hiển thị, công thức trong F5 là:

=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))

trong đó "mục nhập" là phạm vi được đặt tên C5: C13, "ngày" là phạm vi được đặt tên B5: B13 và E5 chứa ngày hợp lệ.

Đây là một công thức mảng và phải được nhập bằng control + shift + enter.

Giải trình

Lưu ý: các giá trị trong E5: E7 là ngày thực tế, được định dạng với định dạng số tùy chỉnh "mmyy".

Làm việc từ trong ra ngoài, biểu thức:

MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")

sử dụng hàm TEXT để tạo một mảng các chuỗi có định dạng "mmyy":

("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")

được so sánh với một chuỗi đơn lẻ dựa trên giá trị trong E5, "0117". Kết quả là một mảng các giá trị TRUE / FALSE:

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

được đưa vào hàm MATCH dưới dạng mảng tra cứu, với giá trị tra cứu là TRUE và loại đối sánh bằng 0 cho đối sánh chính xác. Trong chế độ đối sánh chính xác, hàm MATCH trả về vị trí của TRUE đầu tiên trong mảng, là 1 trong công thức ở F5. Vị trí này đi vào INDEX dưới dạng số hàng, với một mảng dựa trên "mục nhập" phạm vi được đặt tên:

=INDEX(entry,1)

Chỉ mục trả về mục bên trong mục nhập tại vị trí được chỉ định.

Lưu ý: nếu không tìm thấy mục nhập trong một tháng và năm nhất định, công thức này sẽ trả về # N / A.

Mục nhập đầu tiên dựa trên ngày hôm nay

Để nhận mục nhập đầu tiên cho một tháng và năm nhất định dựa trên ngày hôm nay, bạn có thể điều chỉnh công thức để sử dụng hàm TODAY thay vì giá trị trong E5:

(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))

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