Excel formülü: n'inci eşleşmeyi elde edin -

İçindekiler

Genel formül

=SMALL(IF(logical,ROW(list)-MIN(ROW(list))+1),n)

Özet

N'inci eşleşmenin konumunu (örneğin, 2. eşleşen değer, 3. eşleşen değer, vb.) Almak için KÜÇÜK işlevine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, G5'teki formül şöyledir:

=SMALL(IF(list=E5,ROW(list)-MIN(ROW(list))+1),F5)

Bu formül, listedeki ikinci "kırmızı" oluşumunun konumunu verir.

Not: Bu bir dizi formülüdür ve kontrol + shift + enter ile girilmelidir.

Açıklama

Bu formül, B5: B11 aralığı olan "liste" adlı adlandırılmış aralığı kullanır.

Bu formülün özü, satır numaralarına karşılık gelen değerler listesinde n'inci en küçük değeri döndüren KÜÇÜK işlevdir. Satır numaraları, bir eşleşme için mantığı uygulayan IF ifadesi tarafından "filtrelenmiştir". IF, baştan sona çalışarak, "liste" adlı aralıktaki tüm değerleri B5'teki değerle karşılaştırır ve aşağıdaki gibi bir dizi oluşturur:

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

"Doğruysa değer", bu kodla oluşturulan bir dizi göreli satır numarasıdır:

ROW(list)-MIN(ROW(list))+1

Sonuç şuna benzer bir dizidir:

(1;2;3;4;5;6;7)

Tam bir açıklama için bu sayfaya bakın.

Bir sonuç dizisi döndüren mantıksal bir testle, EĞER işlevi bir filtre görevi görür - yalnızca bir eşleşmeye karşılık gelen satır numaraları hayatta kalır, geri kalanı YANLIŞ döndürür. IF tarafından döndürülen sonuç şuna benzer:

(1;FALSE;FALSE;FALSE;5;FALSE;7)

1, 5 ve 7 sayıları listedeki "kırmızı" yerine karşılık gelir.

Son olarak, KÜÇÜK, YANLIŞ değerleri yok sayarak bu listedeki n'inci en küçük öğeyi döndürür. Örnekte, F5 2 içerir, bu nedenle KÜÇÜK 2. en küçük değeri döndürür: 5.

İlişkili değeri alın

N'inci eşleşmenin göreceli konumunu elde ettiğinizde, ilişkili bir değeri döndürmek için bu konumu INDEX işleviyle kullanabilirsiniz.

Ilginç makaleler...