Sütun'da Hücre değerinin olup olmadığını kontrol edin ve ardından SONRAKİ Hücrenin değerini alın


90

Bir sütunda bir hücre değeri olup olmadığını kontrol ettikten sonra , eşleşen hücrenin yanındaki hücrenin değerini almam gerekiyor . Örneğin, değerinin içinde cell A1var olup olmadığını kontrol ediyorum column Bve eşleştiğini varsayarak B5, değerin içinde olmasını istiyorum cell C5.

Sorunun ilk yarısını çözmek için bunu yaptım ...

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match")

... ve işe yaradı. Sonra, SO ile ilgili daha önceki bir cevap sayesinde , eşleşen hücrenin satır numarasını da elde edebildim:

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match on Row " & MATCH(A1,B:B, 0))

Doğal olarak, bir sonraki hücrenin değerini elde etmek için denedim ...

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", C&MATCH(A1,B:B, 0))

... ve çalışmıyor.

Neyi kaçırıyorum? İstenilen sonucu elde etmek için döndürülen satır numarasına sütun numarasını nasıl eklerim?

Yanıtlar:


99

DÜŞEYARA gibi farklı bir işlev kullanın:

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", VLOOKUP(A1,B:C,2,FALSE))

1
Teşekkürler! Bu da işe yarıyor! Ve bence VLOOKUP(A1, B:C, 2, FALSE)sabit bir aralık kullanmak yerine kullanmanın daha iyi olacağını düşünüyorum (büyüyen bir arama dizisini barındırmak için)?
2012'de

1
Evet, bu sabit aralığı test olarak kullandım. Cevabımda düzenledim.
CustomX

Buraya ihtiyacın IFERRORyok. Onsuz iyi çalışır, çünkü DÜŞEYARA yalnızca bir eşleşme varsa yürütülür.
2012'de


3
Bu eskiden daha eski, ancak bunu yıllardır kullandığımı söylemek istedim ve size asla en iyi cevabın verilmemesi beni gerçekten rahatsız ediyor. Tabloyu birden çok sütunu karşılaştırmak için ölçeklenebilir hale getirmesini seviyorum.
DuffDuff

37

T.thielemans'ın cevabından sonra , sadece

=VLOOKUP(A1, B:C, 2, FALSE) 

iyi çalışıyor ve #N/Aeşleşmeyenler için dönmesi dışında istediğim şeyi yapıyor ; bu nedenle, değerin kesinlikle arama sütununda var olduğunun bilindiği durum için uygundur.

Düzenleme (t.thielemans'ın yorumuna göre): Eşleşmelerden

kaçınmak #N/Aiçin şunları yapın:

=IFERROR(VLOOKUP(A1, B:C, 2, FALSE), "No Match")

3
Bunun yerine bunu kullanın IFERROR(VLOOKUP(A1, B:C, 2, FALSE),0). Bunu da cevabıma ekledim. 0 istediğiniz değer ne olursa olsun :) (kodda bunu kullanın, eğer eşleşme bulunmazsa
Eşleşme Yok'a

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.