Spis treści
Tutorial pokazuje jak połączyć V LOOKUP i funkcja IF razem do v-lookup z warunkiem if w Excelu. Dowiesz się również, jak używać formuł IF ISNA VLOOKUP, aby zastąpić błędy #N/A własnym tekstem, zerem lub pustą komórką.
Podczas gdy funkcje VLOOKUP i JEŻELI są użyteczne same w sobie, razem dostarczają jeszcze więcej cennych doświadczeń. Ten tutorial zakłada, że dobrze pamiętasz składnię tych dwóch funkcji, w przeciwnym razie możesz chcieć podszlifować swoją wiedzę korzystając z powyższych linków.
Vlookup z instrukcją If: zwróć True/False, Yes/No, itp.
Jednym z najczęstszych scenariuszy, w których łączy się If i Vlookup, jest porównanie wartości zwróconej przez Vlookup z wartością przykładową i zwrócenie Tak / Nie lub Prawda / Fałsz jako wynik.
W większości przypadków, poniższa ogólna formuła będzie działać ładnie:
IF(VLOOKUP(...) =. wartość , TRUE, FALSE)Po przetłumaczeniu na język angielski, formuła ta nakazuje Excelowi zwrócić Prawdziwe jeśli Vlookup jest prawdziwy (tzn. równy określonej wartości). Jeśli Vlookup jest fałszywy (nie jest równy określonej wartości), formuła zwraca Fałszywy .
Poniżej znajdziesz kilka rzeczywistych zastosowań formuły IF Vlookup.
Przykład 1. Wyszukaj określoną wartość
Powiedzmy, że masz listę przedmiotów w kolumnie A i ilość w kolumnie B. Tworzysz pulpit nawigacyjny dla swoich użytkowników i potrzebujesz formuły, która sprawdziłaby ilość dla przedmiotu w E1 i poinformowała użytkownika, czy przedmiot jest w magazynie lub wyprzedany.
Ilość wyciągasz zwykłym Vlookupem z dokładną formułą dopasowania jak poniżej:
=VLOOKUP(E1,$A$2:$B$10,2,FALSE)
Następnie napisz instrukcję IF, która porównuje wynik Vlookup'a z zerem i zwraca "Nie" jeśli jest równy 0, "Tak" w przeciwnym razie:
=IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0, "Nie", "Tak")
Zamiast Tak/Nie możesz zwrócić TRUE/FALSE lub W magazynie/wyprzedane lub dowolne dwa inne wybory, na przykład:
=IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Wyprzedane", "W magazynie")
Możesz również porównać wartość zwracaną przez Vlookup z próbką tekst W tym przypadku należy pamiętać, aby zawrzeć ciąg tekstowy w cudzysłowie, tak jak w tym przypadku:
=IF(VLOOKUP(E1,$A$2:$B$10,2)="przykładowy tekst",TRUE,FALSE)
Przykład 2. Porównanie wyniku Vlookup z inną komórką
Innym typowym przykładem Vlookup z warunkiem If w Excelu jest porównanie wyjścia Vlookup z wartością w innej komórce. Na przykład możemy sprawdzić, czy jest większa lub równa liczbie w komórce G2:
=IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "Yes!", "No")
A oto nasza formuła If z Vlookupem w akcji:
W podobny sposób można użyć dowolnego innego operatora logicznego wraz z odwołaniem do komórki w formule Excel If Vlookup.
Przykład 3. Wartości Vlookup w krótszej liście
Aby porównać każdą komórkę w kolumnie docelowej z inną listą i zwrócić Prawdziwe lub Tak jeśli zostanie znalezione dopasowanie, Fałszywy lub Nie w przeciwnym razie użyj tej ogólnej formuły IF ISNA VLOOKUP:
IF(ISNA( VLOOKUP(...)), "Nie", "Tak")Jeśli Vlookup skutkuje błędem #N/A, formuła zwraca "Nie", co oznacza, że wartość lookupu nie została znaleziona na liście lookupów. Jeśli dopasowanie zostanie znalezione, zwracane jest "Tak". Na przykład:
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Nie", "Tak")
Jeśli twoja logika biznesowa wymaga przeciwnych wyników, po prostu zamień "Tak" i "Nie", aby odwrócić logikę formuły:
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Tak", "Nie")
Excel Jeśli formuła Vlookup do wykonywania różnych obliczeń
Oprócz wyświetlania własnych wiadomości tekstowych, funkcja If z Vlookup może wykonywać różne obliczenia na podstawie określonych przez użytkownika kryteriów.
Biorąc nasz przykład dalej, obliczmy prowizję konkretnego sprzedawcy (F1) w zależności od jego skuteczności: 20% prowizji dla tych, którzy zarobili 200 i więcej dolarów, 10% dla wszystkich innych.
W tym celu sprawdzasz, czy wartość zwrócona przez Vlookup jest większa lub równa 200, a jeśli tak, to mnożysz ją przez 20%, w przeciwnym razie przez 10%:
=IF(VLOOKUP(F1,$A$2:$C$10,3,FALSE )>=200, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)
Gdzie A2:A10 to nazwy sprzedawców, a C2:C10 to sprzedaż.
IF ISNA VLOOKUP, aby ukryć błędy #N/A
Jeśli funkcja VLOOKUP nie może znaleźć określonej wartości, rzuca błąd #N/A. Aby wychwycić ten błąd i zastąpić go własnym tekstem, osadzić formułę Vlookup w teście logicznym funkcji JEŻELI, jak poniżej:
IF(ISNA(VLOOKUP(...)), "Nie znaleziono", VLOOKUP(...))Oczywiście zamiast "Not found" możesz wpisać dowolny tekst.
Załóżmy, że masz listę nazwisk sprzedawców w jednej kolumnie i kwoty sprzedaży w drugiej kolumnie. Twoim zadaniem jest wyciągnięcie liczby odpowiadającej nazwie, którą użytkownik wpisuje w F1. Jeśli nazwa nie zostanie znaleziona, wyświetl komunikat informujący o tym.
Mając nazwy w A2:A10 i kwoty C2:C10, zadanie można zrealizować za pomocą następującej formuły If Vlookup:
=IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Nie znaleziono", VLOOKUP(F1,$A$2:$C$10,3,FALSE))
Jeśli nazwa zostanie znaleziona, zwracana jest odpowiednia kwota sprzedaży:
Jeśli wartość lookup nie zostanie znaleziona, to Nie znaleziono zamiast błędu #N/A pojawia się komunikat:
Jak działa ta formuła
Logika formuły jest bardzo prosta: używasz funkcji ISNA do sprawdzenia Vlookup pod kątem błędów #N/A. Jeśli wystąpi błąd, ISNA zwraca TRUE, w przeciwnym razie FALSE. Powyższe wartości trafiają do testu logicznego funkcji JEŻELI, która wykonuje jedną z poniższych czynności:
- Jeśli test logiczny jest TRUE (błąd #N/A), to wyświetlany jest Twój komunikat.
- Jeśli test logiczny jest FALSE (wartość lookup jest znaleziona), Vlookup zwraca dopasowanie normalnie.
IFNA VLOOKUP w nowszych wersjach programu Excel
Począwszy od Excela 2013, można użyć funkcji JEŻELI zamiast JEŻELI ISNA, aby złapać i obsłużyć błędy #N/A:
IFNA(VLOOKUP(...), " Nie znaleziono ")W naszym przykładzie formuła przybrałaby następujący kształt:
=IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Nie znaleziono")
Wskazówka. jeśli chciałbyś wyłapywać wszelkiego rodzaju błędy, nie tylko #N/A, użyj VLOOKUP w połączeniu z funkcją IFERROR. Więcej szczegółów znajdziesz tutaj: IFERROR VLOOKUP w Excelu.
Excel Vlookup: jeśli nie znaleziono zwróć 0
Podczas pracy z wartościami liczbowymi, możesz chcieć zwrócić zero, gdy wartość lookup nie zostanie znaleziona. Aby to zrobić, użyj formuły IF ISNA VLOOKUP omówionej powyżej z małą modyfikacją: zamiast wiadomości tekstowej, podaj 0 w polu wartość_jeśli_true argument funkcji IF:
IF(ISNA(VLOOKUP(...)), 0, VLOOKUP(...))W naszej przykładowej tabeli formuła przebiegałaby następująco:
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))
W ostatnich wersjach Excela 2016 i 2013 można ponownie skorzystać z kombinacji IFNA Vlookup:
=IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)
Excel Vlookup: jeśli nie znaleziono zwróć pustą komórkę
Jest to jeszcze jedna wariacja instrukcji "Vlookup if then": nie zwracaj nic, gdy wartość lookup nie zostanie znaleziona. Aby to zrobić, poinstruuj swoją formułę, aby zwróciła pusty łańcuch ("") zamiast błędu #N/A:
IF(ISNA(VLOOKUP(...)), "", VLOOKUP(...))Poniżej kilka przykładów pełnych formuł:
Dla wszystkich wersji programu Excel:
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))
Dla programu Excel 2016 i Excel 2013:
=IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")
If with Index Match - lewy vlookup z warunkiem If
Doświadczeni użytkownicy Excela wiedzą, że funkcja VLOOKUP nie jest jedynym sposobem na wykonanie pionowego lookupu w Excelu. Można do tego celu wykorzystać również kombinację INDEX MATCH, która jest jeszcze bardziej wydajna i wszechstronna. Dobra wiadomość jest taka, że Index Match może współpracować z IF w dokładnie taki sam sposób jak Vlookup.
Na przykład, masz numery zamówień w kolumnie A i nazwy sprzedawców w kolumnie B. Szukasz formuły, aby wyciągnąć numer zamówienia dla konkretnego sprzedawcy.
Vlookup nie może być użyty w tym przypadku, ponieważ nie może przeszukiwać od prawej do lewej strony. Index Match będzie działać bez problemu, dopóki wartość lookup znajduje się w kolumnie lookup. Jeśli nie, pojawi się błąd #N/A. Aby zastąpić standardowy zapis błędu własnym tekstem, zagnieżdż Index Match wewnątrz IF ISNA:
=IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Nie znaleziono", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))
W Excelu 2016 i 2016 możesz użyć IFNA zamiast IF ISNA, aby formuła była bardziej zwarta:
=IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Nie znaleziono")
W podobny sposób można wykorzystać Index Match w innych formułach If.
W ten sposób w Excelu używa się Vlookup i IF statement razem. Aby przyjrzeć się bliżej formułom omawianym w tym tutorialu, zapraszamy do pobrania naszego przykładowego skoroszytu poniżej. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu w przyszłym tygodniu!
Zeszyt ćwiczeń do pobrania
Excel IF Vlookup - przykłady formuł (plik .xlsx)