Excel formülü: İlk eşleştirme - ile başlamaz

İçindekiler

Genel formül

(=MATCH(TRUE,IF(LEFT(range,1)"N",TRUE),0))

Özet

Belirli bir dizeyle başlamayan ilk değeri eşleştirmek için, MATCH ve LEFT işlevlerine dayalı bir dizi kullanabilirsiniz. Gösterilen örnekte, F5'teki formül şöyledir:

(=MATCH(TRUE,IF(LEFT(code,1)"N",TRUE),0))

burada "kod", adlandırılmış B5: B12 aralığıdır.

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

Açıklama

Bu formülün anahtarı, bu ifadeyle oluşturulan dizi veya DOĞRU ve YANLIŞ değerleridir:

LEFT(code,1)"N"

Burada, "kod" olarak adlandırılan aralıktaki her değer, "ilk harf N değildir" mantıksal testiyle değerlendirilir. Sonuç bir dizi veya DOĞRU ve YANLIŞ değerlerdir:

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

Bu dizi, arama dizisi olarak MATCH işlevine beslenir. Arama değeri DOĞRU'dur ve tam eşlemeyi zorlamak için eşleme türü sıfır olarak ayarlanır. MATCH işlevi, 5 olan "N" harfiyle (Z09876) başlamayan ilk değerin konumunu döndürür.

ENDEKS ve MAÇ

MATCH tarafından döndürülen konumla ilişkili bir değeri almak için INDEX işlevini ekleyebilirsiniz. Gösterilen örnekte, F6'daki formül şöyledir:

(=INDEX(value,MATCH(TRUE,LEFT(code,1)"N",0)))

Dizinin "değer" adlandırılmış aralığına ayarlandığı, INDEX'e bir satır numarası sağlamak için yukarıdaki aynı MATCH formülünü kullandığımızı unutmayın. Daha önce olduğu gibi, KAÇINCI 5 sonucunu verir. DİZİN sonra bu konumdaki değeri -23 döndürür.

Daha önce olduğu gibi, bu bir dizi formülüdür ve kontrol + shift + enter ile girilmelidir.

Ilginç makaleler...