Na przykład,
Powiedzmy, że wartość komórki to:
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))
Tutaj chcę produkt dwóch WYSZUKAJ.PIONOWO. Ale niektóre wiersze mogą nie być dostępne, więc może zwrócić NA. Jeśli zwraca NA, po prostu wpisz zero w tej komórce, ale w przeciwnym razie chcę produkt.
Wydaje się głupie, że musiałbyś mieć dwa razy cały ten wyraz. Czy jest jakiś skrót, w którym mogę powiedzieć „wykonaj te obliczenia, a jeśli zwróci wartość, skorzystaj z niej, ale w przeciwnym razie skorzystaj z wartości domyślnej?
Odpowiedzi:
Jeśli masz program Excel 2007 lub nowszy, możesz użyć funkcji JEŻELI, aby uniknąć powtórzeń
=IFERROR(VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE),0)
lub możesz użyć takiego obejścia we wcześniejszych wersjach
=LOOKUP(9.9E+307,IF({1,0},0,VLOOKUP(A3,somesheet!G:J,3,FALSE)*VLOOKUP(A3,someothersheet!A:D,4,FALSE)))
źródło
Może to mieć dla ciebie większy sens, jeśli sprawdziłeś pierwszą wartość wyszukiwania dla NA, a następnie sprawdziłeś drugą, a jeśli oba są prawidłowe, pomnóż je.
Zwiększa to złożoność, ale może nie obrażać delikatnej wrażliwości programisty. ;-)
źródło