Excel'de, formülümün #NA döndürmesi durumunda “varsayılan değer” sağlayabilir miyim?


22

Örneğin,

Bir hücrenin değerinin:

IF(ISNA(VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,someothersheet!A:D,4,FALSE)), 0, VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,someothersheet!A:D,4,FALSE))

Burada iki VLOOKUP ürününü istiyorum. Ancak bazı satırlar orada olmayabilir, bu yüzden NA'yı geri getirebilir. NA döndürürse, sadece bu hücreye sıfırı koyun, ancak ürünü istiyorum.

Bu ifadenin tamamını orada iki kez yapmak zorunda kalman aptalca görünüyor. "Bu hesaplamayı yap ve bir değer döndürürse, bunu kullan, ama başka bir varsayılan değer kullan" diyebileceğim bir kısayol var mı?


Doğru bunu nasıl emin değilim ama burada bir göz mrexcel.com/td0110.html son örneği yardımcı olmalıdır
chmod

Formülün mükemmel, hangi kısayolu istediğinden emin değilim. Kullanıcı tanımlı bir işlev tanımlayabilirsiniz, ancak bu daha kısa sürecek, daha fazla ilgili olmayacaktır.
Raystafarian

Yanıtlar:


37

Excel 2007 veya sonraki sürümleriniz varsa, tekrar etmeyi önlemek için IFERROR işlevini kullanabilirsiniz.

=IFERROR(VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE),0)

veya önceki sürümlerde böyle bir geçici çözüm kullanabilirsiniz.

=LOOKUP(9.9E+307,IF({1,0},0,VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE)))


Bu ilk örnek tam olarak aradığım şey. Teşekkürler!
Jer

5

NA için ilk arama değerini ve ardından ikincisini kontrol ettiyseniz ve her ikisi de geçerliyse bunları çarpın.

=IF(OR(ISNA(VLOOKUP(A3,somesheet!G:J,3,FALSE)),ISNA(VLOOKUP(A3,somesheet!A:D,4,FALSE))), 0, VLOOKUP(A3,somesheet!G:J,3,FALSE) * VLOOKUP(A3,somesheet!A:D,4,FALSE))

Bu daha fazla karmaşıklık ekler, ancak hassas programcı duyarlılıklarını kırmayabilir. ;-)

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.