![](https://cdn.wiki-base.com/6860238/excel_formula_get_last_entry_by_month_and_year__2.png.webp)
Formula generik
=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)
Ringkasan
Untuk mencari entri terakhir dalam jadual mengikut bulan dan tahun, anda boleh menggunakan fungsi LOOKUP dengan fungsi TEXT. Dalam contoh yang ditunjukkan, formula dalam F5 adalah:
=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)
di mana B5: B13 dan E5: E7 mengandungi tarikh yang sah, dan C5: C13 mengandungi jumlah.
Penjelasan
Nota: lookup_value of 2 sengaja lebih besar daripada nilai di lookup_vector, mengikuti konsep bignum.
Bekerja dari dalam ke luar, ungkapan:
(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))
menghasilkan rentetan seperti "0117" menggunakan nilai pada lajur B dan E, yang kemudian dibandingkan antara satu sama lain. Hasilnya adalah susunan seperti ini:
(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
di mana BENAR mewakili tarikh pada bulan dan tahun yang sama. Nombor 1 kemudian dibahagi dengan tatasusunan ini. Hasilnya ialah susunan sama ada 1 atau bahagi dengan ralat sifar (# DIV / 0!):
(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)
yang masuk ke dalam LOOKUP sebagai tatasusunan carian. LOOKUP mengandaikan data disusun mengikut urutan menaik dan selalu melakukan padanan anggaran. Apabila nilai carian 2 tidak dapat dijumpai, LOOKUP akan sepadan dengan nilai sebelumnya, jadi pencarian akan sepadan dengan 1 terakhir dalam array.
Akhirnya, LOOKUP mengembalikan nilai yang sesuai dalam result_vector, yang mengandungi jumlah dalam C5: C13.