"Excel" LOOKUP funkcija su formulės pavyzdžiais

  • Pasidalinti
Michael Brown

Mokomojoje programoje paaiškinamos "Excel" funkcijos LOOKUP vektoriaus ir masyvo formos, taip pat demonstruojami tipiniai ir netrivialūs LOOKUP naudojimo būdai "Excel" programoje, pateikiant formulių pavyzdžių.

Vienas iš dažniausių klausimų, kurį kartkartėmis užduoda kiekvienas "Excel" naudotojas, yra šis: " Kaip ieškoti vertės viename lape ir perkelti atitinkamą vertę į kitą lapą? ". Žinoma, gali būti daug pagrindinio scenarijaus variantų: galite ieškoti artimiausio atitikmens, o ne tikslaus atitikmens, galite norėti ieškoti vertikaliai stulpelyje arba horizontaliai eilutėje, vertinti vieną ar kelis kriterijus ir t. t. Tačiau esmė ta pati - reikia žinoti, kaip ieškoti "Excel" programoje.

"Microsoft Excel" siūlo keletą skirtingų būdų, kaip atlikti paiešką. Pirmiausia susipažinkime su funkcija, kuri skirta paprasčiausiems vertikalios ir horizontalios paieškos atvejams. Kaip nesunkiai atspėjote, kalbu apie funkciją LOOKUP.

    "Excel" funkcija LOOKUP - sintaksė ir naudojimo būdai

    Pačiu paprasčiausiu lygmeniu "Excel" funkcija LOOKUP ieško vertės viename stulpelyje arba eilutėje ir grąžina atitinkamą vertę iš tos pačios pozicijos kitame stulpelyje arba eilutėje.

    "Excel" programoje yra dvi LOOKUP formos: Vektorius ir Masyvas . Toliau kiekviena forma paaiškinta atskirai.

    "Excel" LOOKUP funkcija - vektorinė forma

    Šiomis aplinkybėmis vektorius Tai reiškia vieno stulpelio arba vienos eilutės intervalą. Todėl vektorinę LOOKUP formą naudojate ieškodami nurodytos reikšmės vienoje duomenų eilutėje arba stulpelyje ir ištraukdami reikšmę iš tos pačios pozicijos kitoje eilutėje arba stulpelyje.

    Vektoriaus "Lookup" sintaksė yra tokia:

    LOOKUP(lookup_value, lookup_vector, [result_vector])

    Kur:

    • Lookup_value (privaloma) - ieškoma reikšmė. Tai gali būti skaičius, tekstas, loginė reikšmė TRUE arba FALSE arba nuoroda į ląstelę, kurioje yra paieškos reikšmė.
    • Lookup_vector (būtina) - vienos eilutės arba vieno stulpelio intervalas, kuriame bus ieškoma. Jis turi būti surūšiuotas pagal didėjančia tvarka .
    • Rezultatų vektorius (neprivaloma) - vienos eilutės arba vieno stulpelio intervalas, iš kurio norite grąžinti rezultatą - vertę, esančią toje pačioje pozicijoje kaip ir paieškos vertė. Rezultatų vektorius turi būti to paties dydžio kaip lookup_range . Jei praleidžiama, rezultatas grąžinamas iš lookup_vector .

    Toliau pateiktuose pavyzdžiuose demonstruojamos dvi paprastos "Lookup" formulės.

    Vertikali paieškos formulė - paieška vieno stulpelio diapazone

    Tarkime, D stulpelyje (D2:D5) turite pardavėjų sąrašą, o E stulpelyje (E2:E5) - jų parduotus produktus. Kuriate prietaisų skydelį, kurio naudotojai B2 laukelyje įves pardavėjo pavadinimą, o jums reikia formulės, kuri B3 laukelyje ištrauktų atitinkamą produktą. Šią užduotį galima lengvai atlikti naudojant šią formulę:

    =LOOKUP(B2,D2:D5,E2:E5)

    Kad geriau suprastumėte argumentus, pažvelkite į šią ekrano nuotrauką:

    Horizontali paieškos formulė - paieška vienos eilutės intervale

    Jei jūsų šaltinio duomenys išdėstyti horizontaliai, t. y. įrašai yra eilutėse, o ne stulpeliuose, tuomet į lauką lookup_vector ir result_vector argumentus, pvz:

    =LOOKUP(B2,E1:H1,E2:H2)

    Antroje šio vadovėlio dalyje rasite dar keletą "Excel Lookup" pavyzdžių, kuriuose sprendžiami sudėtingesni uždaviniai. Tuo tarpu prisiminkite šiuos paprastus faktus, kurie padės apeiti galimus spąstus ir išvengti dažniausiai pasitaikančių klaidų.

    5 dalykai, kuriuos turėtumėte žinoti apie "Excel LOOKUP" vektorinę formą

    1. Vertės lookup_vector turėtų būti surūšiuoti pagal didėjančia tvarka t. y. nuo mažiausio iki didžiausio arba nuo A iki Z, priešingu atveju jūsų "Excel" paieškos formulė gali grąžinti klaidą arba neteisingą rezultatą. Jei jums reikia atlikti paiešką pagal nerūšiuoti duomenys , tada naudokite INDEX MATCH arba OFFSET MATCH.
    2. Lookup_vector ir result_vector turi būti vienos eilės arba vieno stulpelio to paties dydžio diapazonas.
    3. "Excel" funkcija LOOKUP yra Atskirų raidžių , ji neskiria teksto didžiosiomis ir mažosiomis raidėmis.
    4. "Excel LOOKUP" veikia pagal apytikslis atitikimas . Tiksliau, paieškos formulė pirmiausia ieško tikslaus atitikimo. Jei ji negali rasti tikslios paieškos reikšmės, ji ieško kita mažiausia vertė , t. y. didžiausia reikšmė lookup_vector kuri yra mažesnė arba lygi lookup_value .

      Pavyzdžiui, jei paieškos reikšmė yra "5", formulėje pirmiausia bus ieškoma jos. Jei nerandama "5", bus ieškoma "4". Jei nerandama "4", bus ieškoma "3" ir t. t.

    5. Jei lookup_value yra . mažesnis nei mažiausia reikšmė lookup_vector , "Excel LOOKUP" grąžina #N/A klaidą.

    "Excel" LOOKUP funkcija - masyvo forma

    Funkcijos LOOKUP forma masyve ieškoma nurodytos reikšmės pirmajame masyvo stulpelyje arba eilutėje ir gaunama reikšmė iš tos pačios pozicijos paskutiniame masyvo stulpelyje arba eilutėje.

    Masyvas "Lookup" turi 2 argumentus, kurie abu yra privalomi:

    LOOKUP(lookup_value, masyvas)

    Kur:

    • Lookup_value - reikšmę, kurios reikia ieškoti masyve.
    • Masyvas - langelių, kuriuose norite ieškoti paieškos vertės, intervalas. Pirmajame masyvo stulpelyje arba eilutėje (priklausomai nuo to, ar atliekate V, ar H paiešką) esančios vertės turi būti surūšiuotos didėjimo tvarka. Didžiosios ir mažosios raidės laikomos lygiavertėmis.

    Pavyzdžiui, jei pardavėjų pavadinimai yra pirmajame masyvo stulpelyje (A stulpelis), o užsakymų datos - paskutiniame masyvo stulpelyje (C stulpelis), galite naudoti šią formulę, norėdami atlikti pavadinimo paiešką ir išrinkti atitinkamą datą:

    =LOOKUP(B2,D2:F5)

    Pastaba. "Excel" funkcijos LOOKUP masyvų formos nereikėtų painioti su "Excel" masyvų formulėmis. Nors LOOKUP veikia su masyvais, ji vis tiek yra įprastinė formulė, kuri užbaigiama įprastu būdu, paspaudus klavišą Enter.

    4 dalykai, kuriuos turėtumėte žinoti apie "Excel LOOKUP" masyvo formą

    1. Jei masyvas turi daugiau eilučių nei stulpelių arba tiek pat stulpelių ir eilučių, paieškos formulė ieško pirmame stulpelyje (horizontali paieška).
    2. Jei masyvas turi daugiau stulpelių nei eilučių , "Excel LOOKUP" ieško pirmoje eilutėje (vertikali paieška).
    3. Jei formulė neranda paieškos vertės, ji naudoja didžiausia vertė masyve, kuris yra mažesnis arba lygus lookup_value .
    4. Jei paieškos vertė yra mažesnė nei mažiausia reikšmė pirmajame masyvo stulpelyje arba eilutėje (priklausomai nuo masyvo matmenų), paieškos formulė grąžina klaidą #N/A.

    Svarbi pastaba! "Excel" LOOKUP masyvo formos funkcionalumas yra ribotas, todėl nerekomenduojame jos naudoti. Vietoj to galite naudoti VLOOKUP arba HLOOKUP funkcijas, kurios yra patobulintos versijos, skirtos atitinkamai vertikaliai ir horizontaliai paieškai atlikti.

    Kaip naudoti LOOKUP funkciją "Excel" programoje - formulės pavyzdžiai

    Nors "Excel" programoje yra galingesnių paieškos ir atitikimo funkcijų (apie tai kalbėsime kitame vadovėlyje), LOOKUP praverčia daugelyje situacijų, o toliau pateikti pavyzdžiai rodo keletą netrivialių panaudojimo būdų. Atkreipkite dėmesį, kad visose toliau pateiktose formulėse naudojama vektorinė "Excel" LOOKUP forma.

    Ieškoti reikšmės paskutiniame neprašytame stulpelio langelyje

    Jei turite dinamiškai pildomų duomenų stulpelį, galite norėti pasirinkti vėliausiai pridėtą įrašą, t. y. gauti paskutinį ne tuščią stulpelio langelį. Tam naudokite šią bendrą formulę:

    LOOKUP(2, 1/( stulpelis ""), stulpelis )

    Pirmiau pateiktoje formulėje visi argumentai, išskyrus stulpelio nuorodą, yra konstantos. Taigi, norėdami gauti paskutinę konkretaus stulpelio vertę, turite nurodyti atitinkamo stulpelio nuorodą. Pavyzdžiui, norėdami išgauti A stulpelio paskutinio nepilno langelio vertę, naudokite šią formulę:

    =LOOKUP(2, 1/(A:A""), A:A)

    Norėdami gauti paskutinę vertę iš kitų stulpelių, pakeiskite stulpelių nuorodas, kaip parodyta toliau pateiktame paveikslėlyje - pirmoji nuoroda yra stulpelis, kuriame bus tikrinama, ar yra tuščių/netuščių langelių, o antroji nuoroda yra stulpelis, iš kurio bus grąžinama vertė:

    Kaip veikia ši formulė

    Į lookup_value argumentą, galite pateikti 2 arba bet kurį kitą skaičių, didesnį už 1 (po akimirkos suprasite, kodėl).

    Į lookup_vector argumentą, įrašykite šią išraišką: 1/(A:A"")

    • Pirmiausia atliekama loginė operacija A:A"", kurios metu kiekvienas A stulpelio langelis palyginamas su tuščia eilute ir tuščioms ląstelėms grąžinama TRUE, o netuščioms - FALSE. Pirmiau pateiktame pavyzdyje pagal formulę F2 grąžinamas šis masyvas: {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE...}.
    • Tada skaičių 1 padalykite iš kiekvieno pirmiau pateikto masyvo elemento. Kai TRUE prilygsta 1, o FALSE - 0, gausite naują masyvą, sudarytą iš 1 ir #DIV/0! klaidų (dalijimo iš 0 rezultatas), ir šis masyvas bus naudojamas kaip lookup_vector Šiame pavyzdyje tai {1;1;1;1;1;#DIV/0!...}

    Kaip gaunasi, kad formulė grąžina paskutinę ne tuščią stulpelio reikšmę, atsižvelgiant į tai, kad lookup_value neatitinka nė vieno elemento iš lookup_vector ? Svarbiausia suprasti logiką yra tai, kad "Excel LOOKUP" ieško pagal apytikslį atitikmenį, t. y. kai nerandama tiksli paieškos reikšmė, ji atitinka kitą didžiausią reikšmę. lookup_vector kuris yra mažesnis už lookup_value . Mūsų atveju, lookup_value yra 2, o didžiausia reikšmė lookup_vector yra 1, todėl LOOKUP atitinka paskutinį 1 masyve, kuris yra paskutinis ne tuščias langelis!

    Į result_vector argumentą, nurodysite stulpelį, iš kurio norite grąžinti reikšmę, ir jūsų paieškos formulė paims reikšmę toje pačioje pozicijoje kaip ir paieškos reikšmė.

    Patarimas. Jei norite gauti eilutės numeris laikydami paskutinę reikšmę, tada naudokite funkciją ROW, kad ją atgautumėte. Pavyzdžiui: =LOOKUP(2,1/(A:A""),ROW(A:A))

    Ieškoti reikšmės paskutinėje eilutės ląstelėje, kuri nėra tuščia

    Jei pradiniai duomenys išdėstyti eilutėmis, o ne stulpeliais, naudodami šią formulę galite gauti paskutinio ne tuščio langelio vertę:

    LOOKUP(2, 1/( eilutė ""), eilutė )

    Iš tikrųjų ši formulė yra ne kas kita, o nedidelė ankstesnės formulės modifikacija, tik su tuo skirtumu, kad vietoj stulpelio nuorodos naudojama eilutės nuoroda.

    Pavyzdžiui, norėdami gauti paskutinio ne tuščio 1 eilutės langelio reikšmę, naudokite šią formulę:

    =LOOKUP(2, 1/(1:1""), 1:1)

    Toliau pateiktoje ekrano nuotraukoje matomas rezultatas:

    Gauti reikšmę, susijusią su paskutiniu eilutės įrašu

    Pasitelkus šiek tiek kūrybiškumo, pirmiau pateiktą formulę galima lengvai pritaikyti kitiems panašiems uždaviniams spręsti. Pavyzdžiui, ją galima naudoti norint gauti reikšmę, susijusią su paskutiniu tam tikros reikšmės atveju eilutėje. Tai gali skambėti šiek tiek neaiškiai, tačiau toliau pateiktas pavyzdys padės lengviau suprasti.

    Tarkime, kad turite suvestinę lentelę, kurios A stulpelyje pateikiami pardavėjų vardai, o tolesniuose stulpeliuose - tam tikri kiekvieno mėnesio duomenys. Šiame pavyzdyje ląstelėje įrašyta "taip", jei tam tikras pardavėjas tam tikrą mėnesį sudarė bent vieną sandorį. Mūsų tikslas - gauti mėnesį, susijusį su paskutiniu eilutės įrašu "taip".

    Užduotį galima išspręsti naudojant šią LOOKUP formulę:

    =LOOKUP(2, 1/(B2:H2="taip"), $B$1:$H$1)

    Formulės logika iš esmės tokia pati, kaip aprašyta pirmajame pavyzdyje. Skirtumas tas, kad vietoj operatoriaus "lygus" ("=") naudojamas operatorius "lygus" ("="), o ne "nelygus" ("") ir veikiama ne su stulpeliais, o su eilutėmis.

    Toliau pateiktoje ekrano nuotraukoje parodytas rezultatas:

    Ieškoti kaip įterptinių IF alternatyva

    Visose iki šiol aptartose paieškos formulėse lookup_vector ir result_vector Argumentai buvo pateikiami kaip diapazono nuorodos. Tačiau "Excel LOOKUP" funkcijos sintaksė leidžia pateikti vektorius vertikalios masyvo konstantos pavidalu, o tai leidžia atkartoti įterptųjų IF funkciją naudojant kompaktiškesnę ir lengviau skaitomą formulę.

    Tarkime, A stulpelyje turite santrumpų sąrašą ir norite jas pakeisti pilnais pavadinimais, kur "C" reiškia "Completed" (užbaigta), "D" - "Development" (kūrimas), o "T" - "Testing" (testavimas). Šią užduotį galima atlikti naudojant šią įterptinę IF funkciją:

    =IF(A2="c", "Baigta", IF(A2="d", "Kūrimas", IF(A2="t", "Testavimas", ""))))

    Arba naudodami šią paieškos formulę:

    =LOOKUP(A2, {"c"; "d"; "t"}, {"Baigta"; "Kūrimas"; "Testavimas"})

    Kaip parodyta toliau pateiktoje ekrano kopijoje, abiejų formulių rezultatai yra vienodi:

    Pastaba. Kad "Excel" paieškos formulė veiktų teisingai, reikšmės lookup_array turėtų būti surūšiuoti nuo A iki Z arba nuo mažiausio iki didžiausio.

    Jei reikšmes renkate iš paieškos lentelės, galite įterpti Vlookup funkciją į lookup_value argumentą, kad būtų galima rasti atitikmenį.

    Darant prielaidą, kad paieškos vertė yra E2 ląstelėje, paieškos lentelė yra A2:C7, o dominantis stulpelis ("Būklė") yra 3-iasis paieškos lentelės stulpelis, darbą atlieka ši formulė:

    =LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c"; "d"; "t"}, {"Baigta"; "Kūrimas"; "Testavimas"})

    Kaip parodyta toliau pateiktoje ekrano nuotraukoje, formulėje iš paieškos lentelės gaunama projekto būsena ir santrumpa pakeičiama atitinkamu žodžiu:

    Patarimas. Jei naudojate "Excel 2016" kaip "Office 365" prenumeratos dalį, panašiais tikslais galite naudoti funkciją SWITCH.

    Tikiuosi, kad šie pavyzdžiai šiek tiek atskleidė, kaip veikia funkcija LOOKUP. Kad geriau suprastumėte formules, kviečiu atsisiųsti šiuos "Excel" paieškos pavyzdžius. Kitoje pamokoje aptarsime keletą kitų paieškos būdų "Excel" programoje ir paaiškinsime, kurią paieškos formulę geriausia naudoti tam tikroje situacijoje. Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!

    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.