Excel formülü: XMATCH ile en yakın konum -

İçindekiler

Genel formül

=INDEX(location,XMATCH(0,distance,1))

Özet

En yakın konumu mesafeye göre bulmak için, INDEX işleviyle XMATCH işlevine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, E5 hücresindeki formül şöyledir:

=INDEX(location,XMATCH(0,distance,1))

burada konum (B5: B12) ve mesafe (C5: C12) adlandırılmış aralıklardır.

Açıklama

Temelde, bu formül temel bir INDEX ve MATCH formülüdür. Bununla birlikte, eski MATCH işlevini kullanmak yerine, daha güçlü bir eşleşme modu ayarı sağlayan XMATCH işlevini kullanıyoruz:

=INDEX(location,XMATCH(0,distance,1))

İçten dışa doğru çalışarak, en yakın konumun konumunu bulmak için XMATCH işlevini kullanıyoruz:

XMATCH(0,distance,1) // find row nearest zero

Bunu, arama değerini sıfıra (0), arama dizisini mesafeye (C5: C12) ve eşleştirme modunu 1'e ayarlayarak yapıyoruz .

1'lik bir eşleşme modu değeri, XMATCH'a tam bir eşleşme veya sonraki en büyük değeri bulmasını söyler. Arama değeri sıfır (0) olarak sağlandığından, XMATCH sıfırdan büyük ilk mesafeyi bulacaktır. XMATCH'in güzel bir yararı - onu MATCH'tan ayıran şey - sıralanacak arama dizisi olmamasıdır. Sıraya bakılmaksızın, MATCH ilk tam eşleşmeyi veya sonraki en büyük değeri döndürür.

Örnekte, en küçük mesafe 7 (G konumu) olduğundan, XMATCH 5 değerini döndürür ve bu listede beşinci sırada görünür. Formül şu şekilde çözülür:

=INDEX(location,5) // returns "G"

ve DİZİN , "G" olan adlandırılmış aralık konumundan (B5: B12) beşinci öğeyi döndürür .

Not: Eşitlik durumunda, XMATCH berabere kalan değerler için ilk eşleşmeyi döndürecektir.

Mesafe alın

En yakın konumun gerçek mesafesini döndürme formülü neredeyse aynıdır. INDEX'e konum adlarını vermek yerine, mesafeleri INDEX'e veriyoruz. F5'teki formül:

=INDEX(distance,XMATCH(0,distance,1)) // returns distance

XMATCH, yukarıdaki (5) ile aynı sonucu verir ve INDEX, 7 değerini verir.

Ilginç makaleler...