Formula Excel: Dapatkan kemasukan pertama mengikut bulan dan tahun -

Formula generik

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

Ringkasan

Untuk mencari entri pertama dalam jadual mengikut bulan dan tahun, anda boleh menggunakan dan menyusun formula berdasarkan fungsi INDEX, MATCH, dan TEXT.

fungsi LOOKUP dengan fungsi TEKS. Dalam contoh yang ditunjukkan, formula dalam F5 adalah:

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

di mana "entri" adalah julat bernama C5: C13, "tarikh" adalah julat bernama B5: B13, dan E5 mengandungi tarikh yang sah.

Ini adalah formula larik, dan mesti dimasukkan dengan kawalan + shift + enter.

Penjelasan

Catatan: nilai dalam E5: E7 adalah tarikh sebenar, diformat dengan format nombor tersuai "mmyy".

Bekerja dari dalam ke luar, ungkapan:

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

menggunakan fungsi TEXT untuk menghasilkan susunan rentetan dalam format "mmyy":

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

yang dibandingkan satu rentetan berdasarkan nilai di E5, "0117". Hasilnya adalah susunan nilai BENAR / SALAH:

(BENAR; BENAR; BENAR; SALAH; SALAH; SALAH; SALAH; SALAH; SALAH)

yang dimasukkan ke dalam fungsi MATCH sebagai array pencarian, dengan nilai pencarian BENAR, dan jenis padanan sifar untuk pencocokan tepat. Dalam mod padanan tepat, fungsi MATCH mengembalikan kedudukan TRUE pertama dalam array, yang merupakan 1 dalam formula di F5. Kedudukan ini masuk ke INDEX sebagai nombor baris, dengan tatasusunan berdasarkan julat bernama "entri":

=INDEX(entry,1)

Indeks mengembalikan item di dalam entri pada kedudukan yang ditentukan.

Catatan: jika entri tidak dijumpai untuk bulan dan tahun tertentu, formula ini akan mengembalikan # N / A.

Penyertaan pertama berdasarkan tarikh hari ini

Untuk mendapatkan entri pertama untuk bulan dan tahun tertentu berdasarkan tarikh hari ini, anda boleh menyesuaikan formula untuk menggunakan fungsi HARI INI dan bukannya nilai dalam E5:

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

Artikel menarik...