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.