Excel LOOKUP-functie met formulevoorbeelden

  • Deel Dit
Michael Brown

De zelfstudie geeft uitleg over de vector- en matrixvormen van de Excel LOOKUP-functie en demonstreert typische en niet-triviale toepassingen van LOOKUP in Excel met formulevoorbeelden.

Een van de meest voorkomende vragen die elke Excel-gebruiker wel eens stelt is deze: " Hoe zoek ik een waarde op in een blad en haal ik een overeenkomstige waarde naar een ander blad? "Natuurlijk kunnen er vele variaties zijn op het basisscenario: misschien zoekt u naar de dichtstbijzijnde overeenkomst in plaats van de exacte overeenkomst, misschien wilt u verticaal in een kolom of horizontaal in een rij zoeken, één of meerdere criteria evalueren, enzovoort.

Microsoft Excel biedt een handvol verschillende manieren om lookup te doen. Laten we om te beginnen een functie leren die is ontworpen om de eenvoudigste gevallen van verticale en horizontale lookup te behandelen. Zoals u gemakkelijk kunt raden, heb ik het over de LOOKUP-functie.

    Excel LOOKUP functie - syntaxis en gebruik

    Op het meest basale niveau zoekt de LOOKUP-functie in Excel een waarde in een kolom of rij en retourneert een overeenkomende waarde op dezelfde positie in een andere kolom of rij.

    Er zijn twee vormen van LOOKUP in Excel: Vector en Array Elk formulier wordt hieronder afzonderlijk toegelicht.

    Excel LOOKUP functie - vector vorm

    In dit verband is een vector verwijst naar een bereik van één kolom of één rij. Bijgevolg gebruikt u de vectorvorm van LOOKUP om één rij of één kolom van gegevens te doorzoeken voor een gespecificeerde waarde, en een waarde op te halen uit dezelfde positie in een andere rij of kolom.

    De syntaxis van de vector Lookup is als volgt:

    LOOKUP(lookup_value, lookup_vector, [result_vector])

    Waar:

    • Lookup_value (vereist) - een waarde waarnaar moet worden gezocht. Het kan een getal, tekst, logische waarde TRUE of FALSE, of een verwijzing naar een cel met de opzoekwaarde zijn.
    • Lookup_vector (verplicht) - één rij of één kolom bereik dat moet worden doorzocht. Het moet worden gesorteerd in oplopende volgorde .
    • Resultaat_vector (optioneel) - één rij of één kolom bereik waarvan u het resultaat wilt teruggeven - een waarde op dezelfde positie als de lookup-waarde. Resultaat_vector moet de dezelfde grootte als lookup_range Indien weggelaten, wordt het resultaat teruggestuurd van lookup_vector .

    De volgende voorbeelden tonen twee eenvoudige Lookup formules in actie.

    Verticale opzoekformule - zoeken in één-kolomsbereik

    Stel, u hebt een lijst van verkopers in kolom D (D2:D5) en de producten die zij verkochten in kolom E (E2:E5). U maakt een dashboard waarbij uw gebruikers de naam van de verkoper invoeren in B2 en u hebt een formule nodig die het overeenkomstige product in B3 ophaalt. De taak kan gemakkelijk worden uitgevoerd met deze formule:

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

    Om de argumenten beter te begrijpen, zie dit screenshot:

    Horizontale opzoekformule - zoeken in éénrijig bereik

    Als uw brongegevens een horizontale lay-out hebben, d.w.z. dat de items in rijen staan in plaats van in kolommen, geef dan een één-rij bereik in de lookup_vector en resultaat_vector argumenten, zoals deze:

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

    In het tweede deel van deze handleiding vindt u nog enkele Excel Lookup voorbeelden die complexere taken oplossen. Onthoud in de tussentijd de volgende eenvoudige feiten die u zullen helpen mogelijke valkuilen te omzeilen en veel voorkomende fouten te voorkomen.

    5 dingen die u moet weten over de vectorvorm van Excel LOOKUP

    1. Waarden in lookup_vector moeten worden gesorteerd in oplopende volgorde d.w.z. van kleinst naar grootst of van A naar Z, anders kan uw Excel Lookup formule een fout of onjuist resultaat opleveren. Indien u een lookup moet doen op ongesorteerde gegevens gebruik dan ofwel INDEX MATCH of OFFSET MATCH.
    2. Lookup_vector en resultaat_vector moet een eenrijig of één-kolom reeks van dezelfde grootte.
    3. De LOOKUP-functie in Excel is hoofdletterongevoelig Het maakt geen onderscheid tussen hoofdletters en kleine letters.
    4. Excel LOOKUP werkt op basis van benaderende match Meer precies, een Lookup formule zoekt eerst naar een exacte overeenkomst. Als het de lookup waarde niet exact kan vinden, zoekt het de volgende kleinste waarde d.w.z. de grootste waarde in lookup_vector die minder is dan of gelijk aan lookup_waarde .

      Bijvoorbeeld, als uw lookup-waarde "5" is, zal de formule die eerst zoeken. Als "5" niet wordt gevonden, wordt "4" gezocht. Als "4" niet wordt gevonden, wordt "3" gezocht, enzovoort.

    5. Als lookup_waarde is kleiner dan de kleinste waarde in lookup_vector Excel LOOKUP geeft de #N/A foutmelding.

    Excel LOOKUP-functie - matrixvorm

    De matrixvorm van de LOOKUP-functie zoekt de opgegeven waarde in de eerste kolom of rij van de matrix en haalt een waarde op van dezelfde positie in de laatste kolom of rij van de matrix.

    De array Lookup heeft 2 argumenten, die beide vereist zijn:

    LOOKUP(lookup_value, array)

    Waar:

    • Lookup_value - een waarde om te zoeken in een array.
    • Array - een bereik van cellen waarin u de lookup-waarde wilt zoeken. De waarden in de eerste kolom of rij van de matrix (afhankelijk van of u V-lookup of H-lookup doet) moeten in oplopende volgorde worden gesorteerd. Hoofdletters en kleine letters worden als gelijkwaardig beschouwd.

    Bijvoorbeeld, met de verkopersnamen in de eerste kolom van de matrix (kolom A) en de besteldata in de laatste kolom van de matrix (kolom C), kunt u de volgende formule gebruiken om de naam te zoeken en de overeenkomstige datum op te halen:

    =LOOKUP(B2,D2:F5)

    Opmerking: De matrixvorm van de Excel LOOKUP-functie moet niet worden verward met Excel-matrixformules. Hoewel deze op matrices werkt, is LOOKUP nog steeds een gewone formule, die op de gebruikelijke manier wordt voltooid door op de Enter-toets te drukken.

    4 dingen die u moet weten over de matrixvorm van Excel LOOKUP

    1. Als array heeft meer rijen dan kolommen of hetzelfde aantal kolommen en rijen, zoekt een Lookup-formule in de eerste kolom (horizontale lookup).
    2. Als array heeft meer kolommen dan rijen Excel LOOKUP zoekt in de eerste rij (verticale lookup).
    3. Als een formule de opzoekwaarde niet kan vinden, gebruikt het de grootste waarde in de matrix die kleiner of gelijk is aan lookup_waarde .
    4. Als de lookup waarde is kleiner dan de kleinste waarde in de eerste kolom of rij van de matrix (afhankelijk van de matrixafmetingen), geeft een Opzoekformule de foutmelding #N/A.

    Belangrijke opmerking! De functionaliteit van de Excel LOOKUP array vorm is beperkt en wij raden het gebruik ervan af. In plaats daarvan kunt u de VLOOKUP of HLOOKUP functie gebruiken, de verbeterde versies om respectievelijk verticaal en horizontaal op te zoeken.

    Hoe de LOOKUP-functie gebruiken in Excel - formulevoorbeelden

    Hoewel er krachtigere functies bestaan om in Excel op te zoeken en te matchen (dat is het onderwerp van onze volgende tutorial), komt LOOKUP in veel situaties van pas, en de volgende voorbeelden demonstreren een paar niet-triviale toepassingen. Let wel, alle onderstaande formules gebruiken de vectorvorm van Excel LOOKUP.

    Een waarde opzoeken in de laatste niet lege cel van een kolom

    Als u een kolom met dynamisch gevulde gegevens hebt, wilt u misschien de laatst toegevoegde invoer kiezen, d.w.z. de laatste niet-lege cel in een kolom krijgen. Gebruik daarvoor deze generieke formule:

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

    In de bovenstaande formule zijn alle argumenten behalve de kolomverwijzing constanten. Om de laatste waarde in een specifieke kolom op te halen, hoeft u dus alleen de bijbehorende kolomverwijzing op te geven. Om bijvoorbeeld de waarde van de laatste niet lege cel in kolom A op te halen, gebruikt u deze formule:

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

    Om de laatste waarde uit andere kolommen te halen, wijzigt u de kolomverwijzingen zoals in onderstaande schermafbeelding - de eerste verwijzing is de kolom die moet worden gecontroleerd op lege/niet lege cellen, en de tweede verwijzing is de kolom waarvan de waarde moet worden teruggegeven:

    Hoe deze formule werkt

    In de lookup_waarde argument geeft u 2 of een ander getal groter dan 1 (straks begrijpt u waarom).

    In de lookup_vector argument, zet je deze uitdrukking: 1/(A:A"")

    • Eerst voert u de logische bewerking A:A"" uit die elke cel in kolom A vergelijkt met een lege tekenreeks en TRUE teruggeeft voor lege cellen en FALSE voor niet-lege cellen. In het bovenstaande voorbeeld geeft de formule in F2 deze matrix terug: {TRUE;TRUE;TRUE;TRUE;FALSE...}
    • Vervolgens deelt u het getal 1 door elk element van de bovenstaande matrix. Met TRUE gelijk aan 1 en FALSE gelijk aan 0, krijgt u een nieuwe matrix bestaande uit 1's en #DIV/0! fouten (het resultaat van het delen door 0), en deze matrix wordt gebruikt als lookup_vector In dit voorbeeld is het {1;1;1;1;#DIV/0!...}

    Hoe komt het dat de formule de laatste niet-lege waarde in een kolom teruggeeft, gegeven dat lookup_waarde komt niet overeen met een element van lookup_vector De sleutel om de logica te begrijpen is dat Excel LOOKUP zoekt met approximate match, d.w.z. wanneer de exacte lookup-waarde niet wordt gevonden, zoekt het met de volgende grootste waarde in lookup_vector die kleiner is dan lookup_waarde In ons geval, lookup_waarde is 2 en de grootste waarde in lookup_vector is 1, dus LOOKUP komt overeen met de laatste 1 in de array, wat de laatste niet-lege cel is!

    In de resultaat_vector argument, verwijst u naar de kolom waarvan u een waarde wilt teruggeven, en uw Lookup formule haalt de waarde op in dezelfde positie als de lookup waarde.

    Tip. Als u de nummer van de rij die de laatste waarde vasthoudt, gebruik dan de ROW-functie om die op te halen. Bijvoorbeeld: =LOOKUP(2,1/(A:A""),RIJ(A:A))

    Een waarde opzoeken in de laatste niet lege cel van een rij

    Als uw brongegevens niet in kolommen, maar in rijen zijn ingedeeld, kunt u de waarde van de laatste niet-lege cel krijgen met deze formule:

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

    In feite is deze formule niets anders dan een lichte wijziging van de vorige formule, met als enige verschil dat u de rijverwijzing gebruikt in plaats van de kolomverwijzing.

    Om bijvoorbeeld de waarde van de laatste niet-lege cel in rij 1 te krijgen, gebruikt u deze formule:

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

    Het volgende screenshot toont het resultaat:

    Krijg een waarde die hoort bij de laatste invoer in een rij

    Met een beetje creativiteit kan de bovenstaande formule gemakkelijk worden aangepast voor het oplossen van andere soortgelijke taken. Zo kan zij bijvoorbeeld worden gebruikt om een waarde te krijgen die hoort bij het laatste geval van een specifieke waarde in een rij. Dit klinkt misschien een beetje obscuur, maar het volgende voorbeeld maakt de dingen gemakkelijker te begrijpen.

    Ervan uitgaande dat u een overzichtstabel hebt waarin kolom A de namen van de verkopers bevat en de daaropvolgende kolommen voor elke maand een of andere soort gegevens bevatten. In dit voorbeeld bevat een cel "ja" als een bepaalde verkoper in een bepaalde maand ten minste één transactie heeft gesloten. Ons doel is een maand te koppelen aan de laatste "ja"-vermelding in een rij.

    De opgave kan worden opgelost met de volgende LOOKUP-formule:

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

    De logica van de formule is in wezen dezelfde als in het eerste voorbeeld. Het verschil is dat u de "gelijk aan"-operator ("=") gebruikt in plaats van "niet gelijk aan" ("") en dat u op rijen werkt in plaats van op kolommen.

    De volgende schermafbeelding toont een resultaat:

    Lookup als alternatief voor geneste IF's

    In alle Lookup formules die we tot nu toe besproken hebben, is de lookup_vector en resultaat_vector De syntaxis van de Excel LOOKUP-functie maakt het echter mogelijk de vectoren te leveren in de vorm van een verticale matrixconstante, waardoor u de functionaliteit van geneste IF kunt repliceren met een compactere en beter leesbare formule.

    Stel, u hebt een lijst met afkortingen in kolom A en u wilt die vervangen door volledige namen, waarbij "C" staat voor "Completed", "D" voor "Development", en "T" voor "Testing". Dat kan met de volgende geneste IF-functie:

    =IF(A2="c", "Voltooid", IF(A2="d", "Ontwikkeling", IF(A2="t", "Testen", ""))

    Of door deze Lookup formule te gebruiken:

    =LOOKUP(A2, {"c";"d";"t"}, {"Voltooid";"Ontwikkeling";"Test"})

    Zoals in onderstaande schermafbeelding te zien is, leveren beide formules identieke resultaten op:

    Opmerking: Om een Excel Lookup formule correct te laten werken, moeten de waarden in lookup_array moeten worden gesorteerd van A tot Z of van kleinst naar grootst.

    Als u waarden uit een opzoektabel haalt, kunt u een Vlookup-functie opnemen in de lookup_waarde argument om een overeenkomst op te halen.

    Ervan uitgaande dat de opzoekwaarde in cel E2 staat, de opzoektabel A2:C7 is, en de kolom van belang ("Status") de derde kolom in de opzoektabel is, doet de volgende formule het werk:

    =LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c";"d";"t"}, {"Completed";"Development";"Testing"})

    Zoals de onderstaande schermafbeelding laat zien, haalt de formule de projectstatus op uit de opzoektabel en vervangt een afkorting door het overeenkomstige woord:

    Tip. Als u Excel 2016 gebruikt als onderdeel van een Office 365-abonnement, kunt u de functie SWITCH gebruiken voor soortgelijke doeleinden.

    Ik hoop dat deze voorbeelden enig licht hebben geworpen op hoe de LOOKUP functie werkt. Om de formules beter te begrijpen, kunt u deze Excel Lookup voorbeelden downloaden. In de volgende tutorial zullen we een paar andere manieren bespreken om lookup te doen in Excel en uitleggen welke Lookup formule het beste gebruikt kan worden in welke situatie. Ik dank u voor het lezen en hoop u volgende week op onze blog te zien!

    Michael Brown is een toegewijde technologieliefhebber met een passie voor het vereenvoudigen van complexe processen met behulp van softwaretools. Met meer dan tien jaar ervaring in de technische industrie heeft hij zijn vaardigheden in Microsoft Excel en Outlook, evenals Google Spreadsheets en Documenten aangescherpt. Michael's blog is gewijd aan het delen van zijn kennis en expertise met anderen, met eenvoudig te volgen tips en tutorials voor het verbeteren van de productiviteit en efficiëntie. Of je nu een doorgewinterde professional of een beginner bent, Michaels blog biedt waardevolle inzichten en praktisch advies om het meeste uit deze essentiële softwaretools te halen.