Rumus Excel: Temukan string terpanjang dengan kriteria -

Formula umum

(=INDEX(rng1,MATCH(MAX(LEN(rng1)*(rng2=criteria)),LEN(rng1)*(rng2=criteria),0)))

Ringkasan

Untuk menemukan string terpanjang dalam rentang dengan kriteria, Anda bisa menggunakan rumus array berdasarkan INDEX, MATCH, LEN dan MAX. Dalam contoh yang ditampilkan, rumus di F6 adalah:

(=INDEX(names,MATCH(MAX(LEN(names)*(class=F5)),LEN(names)*(class=F5),0)))

Di mana "nama" adalah rentang bernama C5: C14, dan "kelas" adalah rentang bernama B5: B14.

Catatan: ini adalah rumus array dan harus dimasukkan dengan control + shift + enter.

Penjelasan

Inti dari rumus ini adalah fungsi MATCH, yang menempatkan posisi string terpanjang menggunakan kriteria yang disediakan:

MATCH(MAX(LEN(names)*(class=F5)),LEN(names)*(class=F5),0)

Catatan MATCH diatur untuk melakukan pencocokan tepat dengan menyediakan nol untuk jenis pencocokan. Untuk nilai pencarian, kami memiliki:

LEN(names)*(class=F5)

Fungsi LEN mengembalikan larik hasil (panjang), satu untuk setiap nama dalam daftar di mana class = "A" dari sel F5:

(5;6;8;6;6;0;0;0;0;0)

Ini secara efektif menyaring semua Kelas B, dan fungsi MAX kemudian mengembalikan nilai terbesar, 8.

Untuk membuat array pencarian, kami menggunakan pendekatan yang sama:

LEN(names)*(class=F5)

Dan dapatkan hasil yang sama:

(5;6;8;6;6;0;0;0;0;0)

Setelah LEN dan MAX dijalankan, kami memiliki rumus MATCH dengan nilai-nilai ini:

MATCH(8,(5;6;8;6;6;0;0;0;0;0),0))

MATCH kemudian mengembalikan posisi 8 dalam daftar, 3, yang dimasukkan ke dalam INDEX seperti ini:

=INDEX(names,3)

Akhirnya, INDEX dengan patuh mengembalikan nilai di posisi ke-3 nama , yaitu "Jonathan".

Artikel yang menarik...