IF VLOOKUP w Excelu: Formuła Vlookup z warunkiem If

  • Udostępnij To
Michael Brown

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)

    Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.