Excel LOOKUP-toiminto ja kaavaesimerkkejä

  • Jaa Tämä
Michael Brown

Ohjeessa selitetään Excelin LOOKUP-funktion vektori- ja array-muodot ja esitellään kaavaesimerkkien avulla LOOKUP-funktion tyypillisiä ja ei-triviaaleja käyttötapoja Excelissä.

Yksi yleisimmistä kysymyksistä, joita jokainen Excel-käyttäjä kysyy silloin tällöin, on tämä: " Miten haen arvoa yhdeltä arkilta ja vedän vastaavan arvon toiselle arkille? ". Perusskenaariosta voi tietysti olla monia muunnelmia: voit etsiä lähintä vastaavuutta tarkan vastaavuuden sijaan, voit haluta etsiä pystysuoraan sarakkeesta tai vaakasuoraan riviltä, arvioida yhtä tai useampaa kriteeriä jne. Pohjimmiltaan asia on kuitenkin sama - sinun on osattava etsiä Excelissä.

Microsoft Excel tarjoaa kourallisen erilaisia tapoja tehdä hakuja. Aluksi tutustutaan funktioon, joka on suunniteltu käsittelemään yksinkertaisimpia pysty- ja vaakasuuntaisia hakuja. Kuten voit helposti arvata, puhun LOOKUP-funktiosta.

    Excel LOOKUP -toiminto - syntaksi ja käyttötarkoitukset

    Excelin LOOKUP-toiminto etsii perustasolla arvoa yhdestä sarakkeesta tai rivistä ja palauttaa vastaavan arvon samasta kohdasta toisesta sarakkeesta tai rivistä.

    Excelissä on kaksi LOOKUP-muotoa: Vektori ja Array Kukin lomake selitetään erikseen jäljempänä.

    Excel LOOKUP-funktio - vektorimuoto

    Tässä yhteydessä vektori viittaa yhden sarakkeen tai rivin alueeseen. Näin ollen voit käyttää LOOKUPin vektorimuotoa etsiessäsi tietystä rivistä tai sarakkeesta määritettyä arvoa ja poimiessasi arvon samasta kohdasta toiselta riviltä tai sarakkeelta.

    Vektorin Lookup syntaksi on seuraava:

    LOOKUP(lookup_value, lookup_vector, [result_vector])

    Missä:

    • Lookup_value (pakollinen) - arvo, jota etsitään. Se voi olla numero, teksti, looginen arvo TRUE tai FALSE tai viittaus soluun, joka sisältää hakuarvon.
    • Lookup_vector (pakollinen) - haettava yhden rivin tai sarakkeen alue, joka on lajiteltu seuraavaan järjestykseen nouseva järjestys .
    • Tulos_vektori (valinnainen) - yhden rivin tai yhden sarakkeen alue, josta haluat palauttaa tuloksen - arvo samassa kohdassa kuin hakuarvo. Tulos_vektori on oltava sama koko kuten lookup_range Jos se jätetään pois, tulos palautetaan osoitteesta lookup_vector .

    Seuraavat esimerkit osoittavat kaksi yksinkertaista Lookup-kaavaa toiminnassa.

    Vertikaalinen hakukaava - haku yhden sarakkeen alueella

    Oletetaan, että sinulla on luettelo myyjistä sarakkeessa D (D2:D5) ja heidän myymistään tuotteista sarakkeessa E (E2:E5). Olet luomassa kojelautaa, johon käyttäjät syöttävät myyjän nimen sarakkeeseen B2 ja tarvitset kaavan, joka vetää vastaavan tuotteen sarakkeeseen B3. Tehtävä on helppo toteuttaa tämän kaavan avulla:

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

    Voit ymmärtää argumentit paremmin katsomalla tätä kuvakaappausta:

    Vaakasuora hakukaava - haku yhden rivin alueella

    Jos lähdetietosi ovat vaakasuorassa asettelussa, eli tiedot ovat riveillä eikä sarakkeissa, anna yhden rivin alue parametrissa lookup_vector ja result_vector argumentteja, kuten tämä:

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

    Tämän ohjeen toisessa osassa on vielä muutama Excel Lookup -esimerkki, joissa ratkaistaan monimutkaisempia tehtäviä. Muista sillä välin seuraavat yksinkertaiset asiat, jotka auttavat sinua ohittamaan mahdolliset sudenkuopat ja välttämään yleiset virheet.

    5 asiaa, jotka sinun pitäisi tietää Excel LOOKUPin vektorimuodosta

    1. Arvot vuonna lookup_vector olisi lajiteltava nouseva järjestys eli pienimmästä suurimpaan tai A:sta Z:hen, muuten Excelin hakukaava voi palauttaa virheen tai väärän tuloksen. Jos sinun on tehtävä hakuja seuraavilla alueilla lajittelemattomat tiedot ja käytä sitten joko INDEX MATCH- tai OFFSET MATCH -toimintoa.
    2. Lookup_vector ja result_vector on oltava yksirivinen tai yksisarakkeinen samankokoinen alue.
    3. Excelin LOOKUP-toiminto on case-insensitive , se ei erota isoja ja pieniä kirjaimia.
    4. Excel LOOKUP toimii seuraavien perusteella likimääräinen vastaavuus Tarkemmin sanottuna Lookup-kaava etsii ensin tarkkaa vastaavuutta. Jos se ei löydä tarkkaa hakuarvoa, se etsii seuraava pienin arvo , eli suurin arvo lookup_vector joka on pienempi tai yhtä suuri kuin lookup_value .

      Jos esimerkiksi hakuarvo on "5", kaava etsii sitä ensin. Jos "5" ei löydy, se etsii "4". Jos "4" ei löydy, se etsii "3" ja niin edelleen.

    5. Jos lookup_value on pienempi kuin pienin arvo lookup_vector , Excel LOOKUP palauttaa #N/A-virheen.

    Excel LOOKUP-funktio - array-muoto

    LOOKUP-funktion array-muoto hakee määritetyn arvon array:n ensimmäisestä sarakkeesta tai rivistä ja hakee arvon samasta kohdasta array:n viimeisestä sarakkeesta tai rivistä.

    Joukko Lookupilla on 2 argumenttia, jotka molemmat ovat pakollisia:

    LOOKUP(lookup_value, array)

    Missä:

    • Lookup_value - arvo, jota etsitään joukosta.
    • Array - solualue, josta haluat etsiä hakuarvoa. Joukon ensimmäisen sarakkeen tai rivin arvot (riippuen siitä, teetkö V-lookup- vai H-lookup-toiminnon) on lajiteltava nousevaan järjestykseen. Isot ja pienet kirjaimet katsotaan vastaaviksi.

    Kun esimerkiksi myyjien nimet ovat sarakkeen ensimmäisessä sarakkeessa (sarake A) ja tilauspäivämäärät sarakkeen viimeisessä sarakkeessa (sarake C), voit käyttää seuraavaa kaavaa etsiessäsi nimeä ja hakiessasi vastaavaa päivämäärää:

    =LOOKUP(B2,D2:F5)

    Huomautus: Excelin LOOKUP-funktion array-muotoa ei pidä sekoittaa Excelin array-kaavoihin. Vaikka LOOKUP-funktio toimii array-muodossa, se on silti tavallinen kaava, joka täytetään tavalliseen tapaan painamalla Enter-näppäintä.

    4 asiaa, jotka sinun pitäisi tietää Excel LOOKUPin array-muodosta

    1. Jos array on enemmän rivejä kuin sarakkeita tai sama määrä sarakkeita ja rivejä, hakukaava etsii ensimmäisestä sarakkeesta (vaakasuora haku).
    2. Jos array on enemmän sarakkeita kuin rivejä , Excel LOOKUP etsii ensimmäiseltä riviltä (pystysuora haku).
    3. Jos kaava ei löydä hakuarvoa, se käyttää arvoa suurin arvo joka on pienempi tai yhtä suuri kuin tai yhtä suuri kuin lookup_value .
    4. Jos hakuarvo on pienempi kuin pienin arvo sarakkeen ensimmäisessä sarakkeessa tai rivillä (riippuen sarakkeen dimensioista), Lookup-kaava palauttaa #N/A-virheen.

    Tärkeä huomautus! Excelin LOOKUP-määrityslomakkeen toiminnallisuus on rajallinen, emmekä suosittele sen käyttöä. Sen sijaan voit käyttää VLOOKUP- tai HLOOKUP-funktiota, jotka ovat parannettuja versioita pystysuoran ja vaakasuoran haun tekemiseen.

    LOOKUP-funktion käyttö Excelissä - kaavaesimerkkejä

    Vaikka Excelissä on olemassa tehokkaampia toimintoja, joiden avulla voi etsiä ja verrata Excelissä (mikä on seuraavan opetusohjelmamme aihe), LOOKUP on kätevä monissa tilanteissa, ja seuraavat esimerkit osoittavat pari ei-triviaalia käyttötarkoitusta. Huomaa, että kaikissa alla olevissa kaavoissa käytetään Excelin LOOKUPin vektorimuotoa.

    Etsi arvo sarakkeen viimeisestä ei-tyhjästä solusta.

    Jos sarakkeessa on dynaamisesti täytettyjä tietoja, haluat ehkä valita viimeisimmän lisätyn merkinnän, eli saada sarakkeen viimeisen tyhjän solun. Käytä tätä yleistä kaavaa:

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

    Yllä olevassa kaavassa kaikki argumentit sarakeviittausta lukuun ottamatta ovat vakioita. Jos siis haluat hakea tietyn sarakkeen viimeisen arvon, sinun tarvitsee vain antaa vastaava sarakeviittaus. Jos haluat esimerkiksi hakea sarakkeen A viimeisen ei-tyhjän solun arvon, käytä tätä kaavaa:

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

    Jos haluat saada viimeisen arvon muista sarakkeista, muuta sarakeviittauksia alla olevan kuvakaappauksen mukaisesti - ensimmäinen viittaus on sarake, joka tarkistetaan tyhjien tai ei-tyhjien solujen varalta, ja toinen viittaus on sarake, josta arvo palautetaan:

    Miten tämä kaava toimii

    Vuonna lookup_value argumentilla annat 2 tai minkä tahansa muun luvun, joka on suurempi kuin 1 (kohta ymmärrät miksi).

    Vuonna lookup_vector argumentti, laitat tämän lausekkeen: 1/(A:A""")

    • Ensin suoritetaan looginen operaatio A:A"", joka vertaa jokaista sarakkeen A solua tyhjään merkkijonoon ja palauttaa tyhjille soluille TRUE ja ei-tyhjille soluille FALSE. Yllä olevassa esimerkissä F2:n kaava palauttaa tämän sarjan: {TRUE;TRUE;TRUE;TRUE;TRUE;FALSE...}.
    • Sitten jaetaan luku 1 jokaisella edellä olevan joukon elementillä. Kun TRUE vastaa 1:tä ja FALSE vastaa 0:ta, saadaan uusi joukko, joka koostuu 1:stä ja #DIV/0! virheistä (jakamisen tulos 0:lla), ja tätä joukkoa käytetään seuraavasti lookup_vector Tässä esimerkissä se on {1;1;1;1;1;#DIV/0!...}.

    Miten on mahdollista, että kaava palauttaa sarakkeen viimeisen ei-tyhjän arvon, kun otetaan huomioon, että lookup_value ei vastaa mitään elementtiä lookup_vector Logiikan ymmärtämisen kannalta on tärkeää, että Excel LOOKUP etsii likimääräistä vastaavuutta, eli kun tarkkaa hakuarvoa ei löydy, se vastaa seuraavaksi suurinta arvoa. lookup_vector joka on pienempi kuin lookup_value . Meidän tapauksessamme, lookup_value on 2 ja suurin arvo lookup_vector on 1, joten LOOKUP vastaa viimeistä 1:tä sarjassa, joka on viimeinen ei-tyhjä solu!

    Vuonna result_vector argumentin avulla viittaat sarakkeeseen, josta haluat palauttaa arvon, ja Lookup-kaava hakee arvon samasta paikasta kuin lookup-arvo.

    Vihje. Jos haluat saada rivin numero jossa on viimeinen arvo, ja käytä sitten ROW-funktiota sen hakemiseen. Esimerkiksi: =LOOKUP(2,1/(A:A""),ROW(A:A)))

    Etsi arvo rivin viimeisestä ei-tyhjästä solusta.

    Jos lähdetietosi on sijoitettu sarakkeiden sijaan riveille, voit saada viimeisen ei-tyhjän solun arvon käyttämällä tätä kaavaa:

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

    Itse asiassa tämä kaava on vain pieni muutos edellisestä kaavasta, sillä erotuksella, että käytät riviviittausta sarakeviittauksen sijasta.

    Jos haluat esimerkiksi saada rivin 1 viimeisen ei-tyhjän solun arvon, käytä tätä kaavaa:

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

    Seuraavassa kuvakaappauksessa näkyy tulos:

    Hae rivin viimeiseen merkintään liittyvä arvo.

    Pienellä luovuudella yllä olevaa kaavaa voidaan helposti muokata muiden samankaltaisten tehtävien ratkaisemiseen. Sitä voidaan esimerkiksi käyttää tietyn arvon viimeiseen esiintymään rivillä liittyvän arvon saamiseksi. Tämä saattaa kuulostaa hieman epäselvältä, mutta seuraava esimerkki helpottaa asioiden ymmärtämistä.

    Oletetaan, että sinulla on yhteenvetotaulukko, jonka sarakkeessa A on myyjien nimet ja sen jälkeisissä sarakkeissa on jonkinlaista tietoa kustakin kuukaudesta. Tässä esimerkissä solu sisältää "kyllä", jos tietty myyjä on tehnyt vähintään yhden kaupan tietyn kuukauden aikana. Tavoitteenamme on saada kuukausi, joka liittyy rivin viimeiseen "kyllä"-merkintään.

    Tehtävä voidaan ratkaista käyttämällä seuraavaa LOOKUP-kaavaa:

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

    Kaavan logiikka on periaatteessa sama kuin ensimmäisessä esimerkissä, mutta erona on se, että käytät "yhtä suuri kuin" -operaattoria ("=") "ei yhtä suuri kuin" -operaattorin ("") sijasta ja operoit riveillä sarakkeiden sijasta.

    Seuraava kuvakaappaus havainnollistaa tulosta:

    Lookup vaihtoehtona sisäkkäisille IF:ille

    Kaikissa tähän mennessä käsittelemissämme Lookup-kaavoissa on käytetty lookup_vector ja result_vector Argumentit esitettiin alue-viittauksina. Excelin LOOKUP-funktion syntaksi mahdollistaa kuitenkin vektoreiden antamisen pystysuoran array-vakion muodossa, jolloin voit toistaa sisäkkäisen IF:n toiminnallisuuden tiiviimmällä ja helppolukuisemmalla kaavalla.

    Oletetaan, että sinulla on sarakkeessa A luettelo lyhenteistä ja haluat korvata ne täydellisillä nimillä, joissa "C" tarkoittaa "Completed" (valmistunut), "D" tarkoittaa "Development" (kehitys) ja "T" tarkoittaa "Testing" (testaus). Tehtävä voidaan suorittaa seuraavalla sisäkkäisellä IF-funktiolla:

    =IF(A2="c", "Valmistunut", IF(A2="d", "Kehitys", IF(A2="t", "Testaus", ""))))

    Tai käyttämällä tätä Lookup-kaavaa:

    =LOOKUP(A2, {"c"; "d"; "t"}, {"Valmistunut"; "Kehitys"; "Testaus"})

    Kuten alla olevasta kuvakaappauksesta näkyy, molemmat kaavat antavat identtiset tulokset:

    Huomautus: Jotta Excelin Lookup-kaava toimisi oikein, arvot kohdassa lookup_array olisi lajiteltava A:sta Z:hen tai pienimmästä suurimpaan.

    Jos vedät arvoja hakutaulukosta, voit upottaa Vlookup-funktion tiedostoon lookup_value argumentin avulla hakemaan vastaavuuden.

    Jos oletetaan, että hakuarvo on solussa E2, hakutaulukko on A2:C7 ja kiinnostava sarake ("Tila") on hakutaulukon kolmas sarake, seuraava kaava tekee työn:

    =LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c"; "d"; "t"}, {"Valmistunut"; "Kehitys"; "Testaus"})

    Kuten alla olevassa kuvakaappauksessa näkyy, kaava hakee projektin tilan hakutaulukosta ja korvaa lyhenteen vastaavalla sanalla:

    Vihje. Jos käytät Excel 2016:a osana Office 365 -tilausta, voit käyttää SWITCH-toimintoa vastaaviin tarkoituksiin.

    Toivottavasti nämä esimerkit ovat valaisseet hieman sitä, miten LOOKUP-funktio toimii. Jotta ymmärtäisit kaavoja paremmin, voit ladata nämä Excel Lookup -esimerkit. Seuraavassa opetusohjelmassa käsittelemme muutamia muita tapoja tehdä lookup Excelissä ja selitämme, mitä Lookup-kaavaa on parasta käyttää missäkin tilanteessa. Kiitän sinua lukemisesta ja toivon, että näemme sinut blogissamme ensi viikolla!

    Michael Brown on omistautunut teknologian harrastaja, jolla on intohimo yksinkertaistaa monimutkaisia ​​prosesseja ohjelmistotyökalujen avulla. Yli vuosikymmenen kokemuksella teknologia-alalta hän on hionut taitojaan Microsoft Excelissä ja Outlookissa sekä Google Sheetsissä ja Docsissa. Michaelin blogi on omistettu jakamaan tietojaan ja asiantuntemustaan ​​muiden kanssa, ja se tarjoaa helposti seurattavia vinkkejä ja opetusohjelmia tuottavuuden ja tehokkuuden parantamiseksi. Olitpa kokenut ammattilainen tai aloittelija, Michaelin blogi tarjoaa arvokkaita oivalluksia ja käytännön neuvoja, joiden avulla saat kaiken irti näistä tärkeistä ohjelmistotyökaluista.