Şimdi işleri biraz daha zor bir hale getireceğiz. Yine işe önce aradığımız değer ile verilen değerler arasındaki farkı bulmakla başlayacağız:
=$C$3-$B$3:$B$7
Ancak bu sefer elde ettiğimiz değer sıfırdan büyük mü bunu kontrol etmeliyiz.
=$C$3-$B$3:$B$7>0
Bu formül ile sadece farkın + olduğu değerler yani aradığımız değerden küçük olan değerlerin “DOĞRU” olduğu bir dizin elde ediyoruz. Ben sonraki aşamada en düşük farkı bulacağımdan bu değerlerin en düşük değer olarak çıkmaması için elde ettiğim değerleri toleransın 10 katı ile çarpıyorum:
=($C$3-$B$3:$B$7>0)*10*$D$3
Şimdi bu formülün sonucunda {0,0,0,5,0,0] gibi bir dizin elde edeceğim. Aradığım değer verilen değere en yakın büyük değer olduğu için verilen değerler ile aranan değer arasındaki farkı mutlak olarak bulacağım ve bu dizine ekleyeceğim. Bu sayede aradığım değerden küçük olan değerlerin formül tarafından %100 elenmesini sağlayabilirim. Tabii bir de bu tüm formülleri dizin olarak ele alacak İNDİS formülü ile de birleştirmem gerek:
=İNDİS(($C$3-$B$3:$B$7>0)*10*$D$3+MUTLAK($C$3-$B$3:$B$7);;)
Evet artık elimde {0,01;0,03;0,53;0,09;0,06} şeklinde bir dizin var. Artık bu dizindeki en küçük değeri arayabilirim:
=MİN(İNDİS(($C$3-$B$3:$B$7>0)*10*$D$3+MUTLAK($C$3-$B$3:$B$7);;))
Formülün sonucu bir önceki örnek gibi 0,01 olacaktır. Hemen bu elemanın dizinin kaçıncı elemanı olduğunu bulalım:
=KAÇINCI(MİN(İNDİS(($C$3-$B$3:$B$7>0)*10*$D$3+MUTLAK($C$3-$B$3:$B$7);;));İNDİS(($C$3-$B$3: $B$7>0)*10*$D$3+MUTLAK($C$3-$B$3:$B$7);;);0)
Gördüğünüz gibi yine ilk elemanda bulduk. Hemen bu elemanı çekelim:
=İNDİS($B$3:$B$7;KAÇINCI(MİN(İNDİS(($C$3-$B$3:$B$7>0)*10*$D$3+MUTLAK($C$3-$B$3:$B$7);;)); İNDİS(($C$3-$B$3: $B$7>0)*10*$D$3+MUTLAK($C$3-$B$3:$B$7);;);0);)
Tabii bulduğumuz değerin girdiğimiz tolerans değerinden büyük olup olmadığını da kontrol etmemiz gerekiyor. Eğer küçük ise bu değeri geri döndürsün ama değilse hata mesajı verelim:
=EĞER(MİN(İNDİS(($C$3-$B$3:$B$7>0)*10*$D$3+MUTLAK($C$3-$B$3:$B$7);;))<=$D$3;İNDİS($B$3:$B$7; KAÇINCI(MİN(İNDİS(($C$3-$B$3:$B$7>0)*10*$D$3+MUTLAK($C$3-$B$3:$B$7);;));İNDİS(($C$3-$B$3: $B$7 >0)*10*$D$3+MUTLAK($C$3-$B$3:$B$7);;);0););”Değer Bulunamadı!”)
Kaynak: http://excelileharikalar.com/index.php/2018/11/18/sirasiz-listede-yakin-degeri-bulma/