
Genel formül
(=MODE(IF(1-ISNUMBER(MATCH(data,exp_rng,0)),data)))
Özet
Bir sütunda en sık görülen sayıları listelemek için (yani en yaygın, ikinci en yaygın, üçüncü en yaygın vb.), Dört Excel işlevine dayalı bir dizi formülü oluşturabilirsiniz: IF, MODE, MATCH ve ISNUMBER. Gösterilen örnekte, D5'teki formül şöyledir:
(=MODE(IF(1-ISNUMBER(MATCH(data,$D$4:D4,0)),data)))
burada "veri", B5: B16 olarak adlandırılan aralıktır. Formül daha sonra en sık sayıların istenen listesini çıkarmak için D5'in altındaki satırlara kopyalanır.
Not: Bu bir dizi formülüdür ve kontrol + shift + enter ile girilmelidir.
Açıklama
Bu formülün özü, bir aralıkta veya dizide en sık görülen sayıyı döndüren MODE işlevidir. Formülün geri kalanı, MODE'un her satırda kullanması için filtrelenmiş bir dizi oluşturur. $ D $ 4: D4 genişleyen aralığı, $ D $ 4: D4'te zaten verilmiş olan sayıları hariç tutmaya çalışır.
İçten dışa doğru çalışma:
- MATCH işlevi kullanılır önce "data" adlı aralıktaki tüm sayıları genişleyen $ D $ 4: D4 aralığındaki mevcut sayılarla karşılaştırır
- ISNUMBER, eşleşen değerleri DOĞRU'ya ve eşleşmeyen değerleri YANLIŞ'a dönüştürür
- 1-NUMBER diziyi ters çevirir ve matematik işlem birleri ve sıfırları verir
- IF, halihazırda $ D $ 4: D4'te bulunan sayıları hariç tutarak orijinal değerler listesini filtrelemek için yukarıdaki # 3'ün dizi çıktısını kullanır
- MODE işlevi, 4. adımda dizi çıktısında en sık görülen sayıyı döndürür
D5 hücresinde filtre uygulanmaz ve yukarıdaki her adımın çıktısı şuna benzer:
(#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A) (FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE) (1;1;1;1;1;1;1;1;1;1;1;1) (93;92;93;94;95;96;97;98;99;93;97;95) 93
Zaten D5'te 93 olan D6 hücresinde çıktı şu şekilde görünür:
(2;#N/A;2;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;2;#N/A;#N/A) (TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE) (0;1;0;1;1;1;1;1;1;0;1;1) (FALSE;92;FALSE;94;95;96;97;98;99;FALSE;97;95) 95
Hataları işleme
MOD işlevi, mod olmadığında # N / A hatasını döndürür. Formülü sonraki satırlara kopyalarken, büyük olasılıkla #YOK hatasıyla karşılaşacaksınız. Bu hatayı tuzağa düşürmek ve bunun yerine boş bir dize ("") döndürmek için, aşağıdaki gibi EĞERHATA kullanabilirsiniz:
=IFERROR(MODE(IF(1-ISNUMBER(MATCH(data,$D$4:D4,0)),data)),"")