IF VLOOKUP programoje "Excel": Vlookup formulė su If sąlyga

  • Pasidalinti
Michael Brown

Pamokoje parodyta, kaip sujungti V LOOKUP ir IF funkcijas kartu, kad Excel programoje galėtumėte atlikti v paiešką su sąlyga if. Taip pat sužinosite, kaip naudoti IF ISNA VLOOKUP formules, kad #N/A klaidas pakeistumėte savo tekstu, nuliu arba tuščiu langeliu.

Nors VLOOKUP ir IF funkcijos yra naudingos atskirai, kartu jos suteikia dar daugiau vertingos patirties. Ši pamoka reiškia, kad gerai prisimenate šių dviejų funkcijų sintaksę, priešingu atveju galite atnaujinti savo žinias, pasinaudoję aukščiau pateiktomis nuorodomis.

    Vlookup su If sakiniu: grąžinti True/False, Yes/No ir t. t.

    Vienas iš dažniausiai pasitaikančių scenarijų, kai kartu derinami If ir Vlookup, yra Vlookup grąžinamos vertės palyginimas su pavyzdine verte ir grąžinimas Taip / Ne arba Tiesa / Melas kaip rezultatas.

    Daugeliu atvejų tinka ši bendra formulė:

    IF(VLOOKUP(...) = vertė , TRUE, FALSE)

    Išvertus į paprastą anglų kalbą, formulė nurodo "Excel" grąžinti Tiesa jei Vlookup yra teisinga (t. y. lygi nurodytai vertei). Jei Vlookup yra klaidinga (nelygi nurodytai vertei), formulė grąžina Klaidingas .

    Toliau rasite keletą realių šios IF Vlookup formulės panaudojimo atvejų.

    1 pavyzdys. Konkrečios vertės paieška

    Tarkime, A stulpelyje turite prekių sąrašą, o B stulpelyje - kiekį. Kuriate prietaisų skydelį naudotojams ir jums reikia formulės, kuri patikrintų E1 stulpelyje esančios prekės kiekį ir informuotų naudotoją, ar prekė yra sandėlyje, ar ji išparduota.

    Kiekį ištrauksite naudodami įprastą Vlookup su tikslaus atitikimo formule, pvz., taip:

    =VLOOKUP(E1,$A$2:$B$10,2,FALSE)

    Tada parašykite teiginį IF, kuris palygintų "Vlookup" rezultatą su nuliu ir grąžintų "Ne", jei jis lygus 0, ir "Taip", jei ne:

    =IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0, "Ne", "Taip")

    Vietoj to, kad Taip/Ne , galite grąžinti TRUE/FALSE arba Nėra sandėlyje / Išparduota arba bet kuriuos kitus du pasirinkimus. Pavyzdžiui:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Išparduota", "Yra sandėlyje")

    Taip pat galite palyginti "Vlookup" grąžintą vertę su pavyzdžiu tekstas . Šiuo atveju teksto eilutę būtinai pateikite kabutėse, pvz., taip:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)="pavyzdžio tekstas",TRUE,FALSE)

    2 pavyzdys. Palyginti Vlookup rezultatą su kita ląstele

    Kitas tipiškas "Excel" programos "Vlookup" pavyzdys su "If" sąlyga yra "Vlookup" išvesties palyginimas su kitoje ląstelėje esančia verte. Pavyzdžiui, galime patikrinti, ar ji didesnė arba lygi skaičiui, esančiam ląstelėje G2:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "Taip!", "Ne")

    Štai mūsų If formulė su Vlookup:

    Panašiai galite naudoti bet kurį kitą loginį operatorių kartu su ląstelės nuoroda "Excel If Vlookup" formulėje.

    3 pavyzdys. Vlookup reikšmės trumpesniame sąraše

    Palyginti kiekvieną tikslinio stulpelio langelį su kitu sąrašu ir grąžinti Tiesa arba Taip jei randamas atitikmuo, Klaidingas arba Ne priešingu atveju naudokite šią bendrąją IF ISNA VLOOKUP formulę:

    IF(ISNA( VLOOKUP(...)), "Ne", "Taip")

    Jei "Vlookup" rezultatas yra #N/A klaida, formulė grąžina "Ne", o tai reiškia, kad paieškos vertė nerandama paieškos sąraše. Jei atitikmuo randamas, grąžinama "Taip". Pavyzdžiui:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Ne", "Taip")

    Jei jūsų verslo logika reikalauja priešingų rezultatų, tiesiog sukeiskite "Taip" ir "Ne" vietomis, kad pakeistumėte formulės logiką:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Taip", "Ne")

    "Excel" Jei Vlookup formulė skirtingiems skaičiavimams atlikti

    Be to, kad rodysite savo tekstinius pranešimus, funkcija If su funkcija Vlookup gali atlikti įvairius skaičiavimus pagal nurodytus kriterijus.

    Tęsiant pavyzdį, apskaičiuokime konkretaus pardavėjo (F1) komisinį atlyginimą, priklausomai nuo jo efektyvumo: 20 % komisinis atlyginimas tiems, kurie uždirbo 200 USD ir daugiau, 10 % - visiems kitiems.

    Šiuo tikslu patikrinkite, ar "Vlookup" grąžinta vertė yra didesnė arba lygi 200, ir jei taip, padauginkite ją iš 20 %, kitu atveju - iš 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%)

    Kai A2:A10 yra pardavėjų pavadinimai, o C2:C10 - pardavimai.

    IF ISNA VLOOKUP, kad paslėptumėte #N/A klaidas

    Jei VLOOKUP funkcija neranda nurodytos reikšmės, išmetama klaida #N/A. Norėdami užfiksuoti šią klaidą ir pakeisti ją savo tekstu, į funkcijos IF loginį testą įterpkite VLOOKUP formulę, pvz:

    IF(ISNA(VLOOKUP(...)), "Nerastas", VLOOKUP(...))

    Žinoma, vietoj teksto "Nerastas" galite įvesti bet kokį norimą tekstą.

    Tarkime, viename stulpelyje turite pardavėjų pavadinimų sąrašą, o kitame - pardavimų sumas. Jūsų užduotis - ištraukti skaičių, atitinkantį pavadinimą, kurį naudotojas įves F1. Jei pavadinimas nerastas, parodykite apie tai informuojantį pranešimą.

    Naudojant A2:A10 pavadinimus ir C2:C10 sumas, užduotį galima atlikti naudojant šią If Vlookup formulę:

    =IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Nerastas", VLOOKUP(F1,$A$2:$C$10,3,FALSE))

    Jei pavadinimas randamas, grąžinama atitinkama pardavimo suma:

    Jei paieškos reikšmė nerandama, Nerastas vietoj #N/A klaidos rodomas pranešimas:

    Kaip veikia ši formulė

    Formulės logika yra labai paprasta: naudodami funkciją ISNA tikrinate, ar Vlookup nėra #N/A klaidų. Jei klaida įvyksta, ISNA grąžina TRUE, priešingu atveju - FALSE. Nurodytos reikšmės patenka į funkcijos IF loginį testą, kuris atlieka vieną iš šių veiksmų:

    • Jei loginis testas yra TRUE (#N/A klaida), rodomas jūsų pranešimas.
    • Jei loginis testas yra FALSE (paieškos reikšmė yra rasta), "Vlookup" paprastai grąžina atitikmenį.

    IFNA VLOOKUP naujesnėse "Excel" versijose

    Nuo "Excel 2013" galite naudoti funkciją IFNA, o ne IF ISNA, norėdami sugauti ir tvarkyti #N/A klaidas:

    IFNA(VLOOKUP(...), " Nerastas ")

    Mūsų pavyzdyje formulė būtų tokia:

    =IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Nerastas")

    Patarimas. Jei norite fiksuoti įvairias klaidas, ne tik #N/A, naudokite VLOOKUP kartu su funkcija IFERROR. Daugiau informacijos rasite čia: IFERROR VLOOKUP in Excel.

    "Excel Vlookup": jei nerastas, grąžinti 0

    Dirbdami su skaitinėmis reikšmėmis galite norėti grąžinti nulį, kai nerandama paieškos reikšmė. Norėdami tai padaryti, naudokite pirmiau aptartą IF ISNA VLOOKUP formulę su nedideliu pakeitimu: vietoj tekstinio pranešimo į laukelį įrašykite 0. value_if_true funkcijos IF argumentas:

    IF(ISNA(VLOOKUP(...)), 0, VLOOKUP(...))

    Mūsų pavyzdinėje lentelėje formulė būtų tokia:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    Naujausiose "Excel 2016" ir "2013" versijose vėl galite naudoti IFNA Vlookup derinį:

    =IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)

    "Excel Vlookup": jei nerandama, grąžinama tuščia ląstelė

    Tai dar vienas "Vlookup if then" teiginio variantas: nieko negrąžinti, kai nerandama paieškos reikšmė. Norėdami tai padaryti, nurodykite savo formulei vietoj #N/A klaidos grąžinti tuščią eilutę (""):

    IF(ISNA(VLOOKUP(...)), "", VLOOKUP(...))

    Toliau pateikiame keletą išsamių formulės pavyzdžių:

    Visoms "Excel" versijoms:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    Skirta "Excel 2016" ir "Excel 2013":

    =IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")

    Jei su indekso atitikimu - kairioji vlookup su If sąlyga

    Patyrę "Excel" naudotojai žino, kad funkcija VLOOKUP nėra vienintelis būdas atlikti vertikalią paiešką "Excel" programoje. Šiam tikslui galima naudoti ir INDEX MATCH derinį, kuris yra dar galingesnis ir universalesnis. Gera žinia ta, kad funkcija Index Match gali veikti kartu su funkcija IF lygiai taip pat, kaip ir Vlookup.

    Pavyzdžiui, A stulpelyje yra užsakymų numeriai, o B stulpelyje - pardavėjų pavadinimai.

    Šiuo atveju negalima naudoti Vlookup, nes jis negali atlikti paieškos iš dešinės į kairę. Indeksų atitikmuo veiks be trikdžių tol, kol paieškos vertė bus rasta paieškos stulpelyje. Jei ne, bus rodoma klaida #N/A. Norėdami pakeisti standartinį klaidos užrašą savo tekstu, įterpkite indeksų atitikmenį į IF ISNA:

    =IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Nerastas", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))

    Programose "Excel 2016" ir "Excel 2016" galite naudoti IFNA vietoj IF ISNA, kad formulė būtų kompaktiškesnė:

    =IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Nerastas")

    Panašiai indeksų atitikmenį galite naudoti ir kitose If formulėse.

    Taip "Excel" programoje kartu naudojate Vlookup ir IF teiginį. Norėdami atidžiau susipažinti su šioje pamokoje aptartomis formulėmis, galite atsisiųsti mūsų pavyzdinę darbo knygą. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!

    Atsisiųsti praktikos sąsiuvinį

    "Excel" IF Vlookup - formulės pavyzdžiai (.xlsx failas)

    Michaelas Brownas yra atsidavęs technologijų entuziastas, mėgstantis supaprastinti sudėtingus procesus naudojant programinės įrangos įrankius. Turėdamas daugiau nei dešimtmetį patirtį technologijų pramonėje, jis patobulino savo įgūdžius „Microsoft Excel“ ir „Outlook“, taip pat „Google“ skaičiuoklėse ir dokumentuose. Michaelio tinklaraštis skirtas dalytis savo žiniomis ir patirtimi su kitais, jame pateikiami lengvai įgyvendinami patarimai ir vadovėliai, kaip pagerinti produktyvumą ir efektyvumą. Nesvarbu, ar esate patyręs profesionalas, ar pradedantysis, Michaelo tinklaraštyje rasite vertingų įžvalgų ir praktinių patarimų, kaip išnaudoti visas šių pagrindinių programinės įrangos įrankių galimybes.