Documentatie/Calc-functies/HORIZ.ZOEKEN

    From The Document Foundation Wiki
    This page is a translated version of the page Documentation/Calc Functions/HLOOKUP and the translation is 100% complete.
    Other languages:


    Functienaam:

    HORIZ.ZOEKEN

    Categorie:

    Werkblad

    Samenvatting:

    Voert een horizontale zoekopdracht uit op een opgegeven gegevenstabel. Vergelijkt een bepaalde zoekwaarde met de items in de eerste rij van de gegevenstabel en retourneert, wanneer een overeenkomst is gevonden, de inhoud van de cel die zich in dezelfde kolom bevindt als de overeenkomende waarde, maar in een andere rij.

    Het zoekproces kan gebruikmaken van jokertekens of reguliere expressies. Standaard is de overeenkomst niet hoofdlettergevoelig, maar een hoofdlettergevoelige overeenkomst kan worden uitgevoerd bij gebruik van een reguliere expressie.

    Als uw gegevens verticaal zijn opgesteld, met vergelijkingswaarden in de eerste kolom van de gegevenstabel, gebruikt u VERT.ZOEKEN in plaats van HORIZ.ZOEKEN.

    Syntaxis:

    HORIZ.ZOEKEN(Zoekcriterium; Matrix; Index[; Gesorteerd bereik zoeken])

    Retourneert:

    Retourneert de inhoud van de cel die zich in dezelfde kolom bevindt als de overeenkomende cel, maar in een andere rij. De geretourneerde gegevens kunnen numeriek of niet-numeriek zijn.

    Argumenten:

    Zoekcriterium is een tekenreeks (tussen aanhalingstekens), een getal of een verwijzing naar een cel die een van die typen bevat. Zoekcriterium wordt vergeleken met de inhoud van de cellen in de eerste rij van Matrix om de gewenste kolom te bepalen.

    Matrix specificeert het celbereik dat wordt ingenomen door de gegevenstabel. Dit bereik kan worden gedefinieerd door de celverwijzing voor de cel linksboven in te voeren, gevolgd door een dubbele punt (:) en vervolgens de celverwijzing rechtsonder (bijvoorbeeld A1:E10). Matrix kan ook worden gespecificeerd door de naam van een benoemd bereik of databasebereik door te geven. Het is ook mogelijk om een inline matrix door te geven als het Matrix argument.

    Index is een positief geheel getal of een verwijzing naar een cel die dat getal bevat, die de rij aangeeft met de gegevens die moeten worden geretourneerd. De eerste rij heeft het nummer 1. Index mag niet groter zijn dan het aantal rijen in Matrix.

    Gesorteerd bereik zoeken is een Booleaanse / logische waarde (WAAR of ONWAAR) of een verwijzing naar een cel die die waarde bevat, die aangeeft of gegevens in de eerste rij van Matrix waarvan wordt verwacht dat ze correct zijn gesorteerd (zoals beschreven in het gedeelte #Aanvullende details: hieronder).

    • Als Gesorteerd bereik zoeken is ingesteld op 0 of ONWAAR, dan wordt aangenomen dat de gegevens in de eerste rij van Matrix ongeordend zijn en zoekt HORIZ.ZOEKEN naar een exacte overeenkomst.
    • Als Gesorteerd bereik zoeken wordt weggelaten of ingesteld op WAAR of een andere waarde dan 0, dan wordt aangenomen dat de gegevens in de eerste rij van Matrix zijn geordend en kan HORIZ.ZOEKEN beide exacte en onnauwkeurige (best passende) overeenkomsten produceren.

    De volgende voorwaarden kunnen zich voordoen:

    • Als Index niet-numeriek is, dan retourneert HORIZ.ZOEKEN als fout #WAARDE!
    • Als Index een niet-gehele waarde is, dan kapt HORIZ.ZOEKEN deze af tot een geheel getal.
    • Als, na afkapping, Index kleiner is dan 1 of groter is dan het aantal rijen in Matrix, retourneert HORIZ.ZOEKEN als fout Ongeldig argument (Fout:502).
    • Als Gesorteerd bereik zoeken WAAR is, maar de cellen in de eerste rij van de gegevenstabel niet zijn geordend zoals verwacht, is het resultaat dat door HORIZ.ZOEKEN onvoorspelbaar wordt geretourneerd. In dergelijke gevallen is het mogelijk dat er geen fout wordt geretourneerd en is het misschien niet duidelijk dat het geretourneerde resultaat zinloos is.
    • Als Gesorteerd bereik zoeken ONWAAR is en er geen exacte overeenkomst met Zoekcriterium kan worden gevonden in de gegevenstabel, dan retourneert HORIZ.ZOEKEN als fout #N/B (waarde niet beschikbaar).
    • Als Gesorteerd bereik zoeken WAAR is en het argument Zoekcriterium zou voorafgaan aan de eerste cel in de eerste rij van de gegevenstabel, dan retourneert HORIZ.ZOEKEN als fout #N/B (waarde niet beschikbaar).

    Aanvullende details:

    Details specifiek voor de functie HORIZ.ZOEKEN

    • Als Gesorteerd bereik zoeken ONWAAR is en de eerste rij van de tabel meerdere cellen met dezelfde inhoud bevat, komt HORIZ.ZOEKEN alleen overeen met de eerste cel (van de eerste rij in Array) van degenen die gemeenschappelijke inhoud delen.
    • Als Gesorteerd bereik opzoeken WAAR, wordt verwacht dat de eerste rij van de gegevenstabel wordt gesorteerd met getallen in oplopende volgorde die in alfabetische volgorde vóór tekstwaarden worden weergegeven. Als de eerste rij van de gegevenstabel niet echt is gesorteerd zoals verwacht, is het resultaat onvoorspelbaar. HORIZ.ZOEKEN berekent waar in de eerste rij Zoekcriterium zou verschijnen in de (verwachte) gesorteerde volgorde.
      • Als er een exacte overeenkomst is tussen Zoekcriterium en één van de items in de eerste rij, wordt die kolom gebruikt om de retourwaarde te bepalen.
      • Als er geen exacte overeenkomst is tussen Zoekcriterium en één van de items in de eerste rij, wordt de kolom direct ervoor van waar Zoekcriterium zou verschijnen in de eerste rij gebruikt.
    • Als reguliere expressies in formules toestaan is ingeschakeld in het gedeelte Formules Jokertekens van het venster Extra ▸ Opties ▸ LibreOffice Calc ▸ Berekenen (of LibreOffice ▸ Voorkeuren ▸ LibreOffice Calc ▸ Berekenen op macOS), dan zal HORIZ.ZOEKEN exacte overeenkomsten vinden die Zoekcriterium als een reguliere expressie behandelen. Dit heeft alleen zin als Gesorteerd bereik zoeken ONWAAR is.
    • Als jokertekens in formules inschakelen is ingeschakeld in het gedeelte Formules-jokertekens van het venster Extra ▸ Opties ▸ LibreOffice Calc ▸ Berekenen (of LibreOffice ▸ Voorkeuren ▸ LibreOffice Calc ▸ Berekenen op macOS) , dan zal HORIZ.ZOEKEN exacte overeenkomsten vinden die Zoekcriterium als een jokertekenuitdrukking behandelen. Dit heeft alleen zin als Gesorteerd bereik zoeken ONWAAR is.
    • Als de optie Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn is aangevinkt in het gedeelte Algemene berekeningen van het venster Extra ▸ Opties ▸ LibreOffice Calc ▸ Berekenen (of LibreOffice ▸ Voorkeuren ▸ LibreOffice Calc ▸ Berekenen in macOS), dan moet Zoekcriterium overeenkomen met de hele tekst in een cel; zo niet, dan kan deze overeenkomen met slechts een deel van de tekst.
    • De optie Hoofdlettergevoelig in het gedeelte Algemene berekeningen van het venster Extra ▸ Opties ▸ LibreOffice Calc ▸ Berekenen (of LibreOffice ▸ Voorkeuren ▸ LibreOffice Calc ▸ Berekenen op macOS) heeft geen effect op de werking van HORIZ.ZOEKEN. Standaard is HORIZ.ZOEKEN niet hoofdlettergevoelig, tenzij een hoofdlettergevoelige zoekopdracht wordt opgelegd door een specifieke reguliere expressie.


    Algemene informatie over de reguliere expressies van Calc

    Note pin.svg

    NB:
    Voor het gemak wordt de informatie in dit subgedeelte herhaald op alle pagina's die functies beschrijven die reguliere expressies beschrijven.

    • Een reguliere expressie is een reeks tekens die een tekstpatroon definieert dat moet worden vergeleken. Meer gedetailleerde, algemene achtergrondinformatie is te vinden op Wikipedia's Reguliere expressies pagina.
    • Reguliere expressies worden veel gebruikt in veel domeinen en er zijn meerdere reguliere expressieprocessors beschikbaar. Calc gebruikt het open source Regular Expressions-pakket van de International Components for Unicode (ICU), zie hun Regular Expressions documentatie voor meer details, inclusief een volledige definitie van de syntaxis voor ICU Reguliere Expressies.
    • Bovendien biedt het LibreOffice Help-systeem een lijst met reguliere expressies op hoog niveau.
    • De reguliere expressie-engine van Calc ondersteunt genummerde capturegroepen, waarmee subbereiken binnen een overeenkomst kunnen worden geïdentificeerd en gebruikt in vervangende tekst. Haakjes worden gebruikt om componenten van een reguliere expressie te groeperen en een genummerde capture-groep te maken. Om een capture-groep in een vervangende tekst in te voegen, gebruikt u het formulier "$n", waarbij n het nummer van de capture-groep is.

    Algemene informatie over de jokertekens van Calc

    Jokertekens zijn speciale tekens die kunnen worden gebruikt in zoekreeksen die als argumenten aan sommige Calc-functies worden doorgegeven; ze kunnen ook worden gebruikt om zoekcriteria te definiëren in het dialoogvenster Zoeken en vervangen. Het gebruik van jokertekens maakt het mogelijk om meer geavanceerde zoekparameters te definiëren met een enkele zoekreeks.

    Calc ondersteunt ofwel jokertekens of reguliere expressies als argumenten, afhankelijk van de huidige toepassingsinstellingen. Standaard worden jokertekens ondersteund in plaats van reguliere expressies.

    Om er zeker van te zijn dat jokertekens worden ondersteund, gaat u naar Extra ▸ Opties ▸ LibreOffice Calc ▸ Berekenen en controleert u of de optie Jokertekens in formules inschakelen is geselecteerd. Merk op dat u dit dialoogvenster kunt gebruiken om over te schakelen naar reguliere expressies door Reguliere expressies in formules inschakelen te kiezen of ervoor te kiezen om geen jokertekens of reguliere expressies te ondersteunen.

    De volgende tabel identificeert de jokertekens die Calc ondersteunt.

    Calc wildcards
    Jokerteken Beschrijving
    ? (vraagteken) Komt overeen met elk afzonderlijk teken. De zoekreeks "b?g" komt bijvoorbeeld overeen met "bag" en "beg" maar komt niet overeen met "boog" of "mug".

    Houd er rekening mee dat deze ook niet overeenkomt met "bg", sinds "?" moet exact overeenkomen met één karakter. De "?" jokerteken komt niet overeen met een nul-tekenovereenkomst.
    * (sterretje) Komt overeen met elke reeks tekens, inclusief een lege tekenreeks. De zoekreeks "*cast" komt bijvoorbeeld overeen met "cast", "forecast" en "outcast", maar komt niet overeen met "forecaster" met de standaardinstellingen van Calc.

    Als de optie Zoekcriteria = en <> moeten van toepassing zijn op hele cellen is uitgeschakeld in Extra > Opties > LibreOffice Calc > Berekenen, dan zal "forecaster" een overeenkomst zijn met de zoekreeks "*cast".
    ~ (tilde) Ontvangt de speciale betekenis van een vraagteken, asterisk of tilde-teken dat direct volgt op het tilde-teken.

    Bijvoorbeeld de zoekreeks "why~?" komt overeen met "why?" maar komt niet overeen met "whys" of "why~s".

    Vergelijkingen met jokertekens zijn niet hoofdlettergevoelig, vandaar komt "A?" overeen met zowel "A1" als "a1".

    Deze jokertekens worden ondersteund in zowel Calc als Microsoft Excel. Kies daarom, als interoperabiliteit tussen de twee toepassingen nodig is, om met jokertekens te werken in plaats van reguliere expressies. Omgekeerd, als interoperabiliteit niet nodig is, overweeg dan om reguliere expressies te gebruiken voor krachtigere zoekmogelijkheden.

    Voorbeelden:

    De volgende tabel is een realistisch voorbeeld van een ongesorteerde tabel, met gegevens uit het periodiek systeem van de chemische elementen.

    A B C D E F G H I J K
    1 Element Waterstof Helium Lithium Beryllium Borium Koolstof Stikstof Zuurstof Fluor Neon
    2 Symbool H He Li Be B C N O F Ne
    3 Atoomgetal 1 2 3 4 5 6 7 8 9 10
    4 Relatieve atoommassa 1,008 4,003 6,94 9,012 10,81 12,011 14,007 15,999 18,998 20,18

    De volgende voorbeelden gebruiken de bovenstaande gegevenstabel. In de meeste gevallen is het argument Gesorteerd bereik zoeken ingesteld op 0 (ONWAAR), zodat HORIZ.ZOEKEN naar een exacte overeenkomst zoekt in de ongesorteerde tabel.

    Formule Beschrijving Retourneert
    =HORIZ.ZOEKEN("Helium"; $B$1:$K$4; 2; 0)

    De functie komt overeen met de tekenreeks "Helium" in de eerste rij van de gegevenstabel (cel C1) en retourneert de gegevens van de cel op de kruising van deze kolom en de tweede rij van de tabel (cel C2). Het symbool voor helium wordt geretourneerd.

    He
    =HORIZ.ZOEKEN("KOOLSTOF"; $B$1:$K$4; 3; 0)

    De functie komt overeen met de tekenreeks "Koolstof" in de eerste rij van de gegevenstabel (cel G1) en retourneert de gegevens van de cel op de kruising van deze kolom en de derde rij van de tabel (cel G3). Het atoomgetal voor koolstof wordt teruggegeven.

    6
    =HORIZ.ZOEKEN("zuurstof"; $B$1:$K$4; 4,6; 0)

    De functie komt overeen met de tekenreeks "Zuurstof" in de eerste rij van de gegevenstabel (cel I1) en retourneert de gegevens van de cel op de kruising van deze kolom en de vierde rij van de tabel (cel I4) - de Index waarde van 4,6 wordt afgekapt tot 4. De relatieve atomaire massa van zuurstof wordt teruggegeven.

    15,999
    =HORIZ.ZOEKEN("Neon"; $B$1:$K$4; 2; WAAR())

    Dit voorbeeld toont de verwarring die kan ontstaan als het argument Gesorteerd bereik zoeken is ingesteld of standaard is ingesteld op WAAR, wanneer de gegevenstabel niet in de verwachte volgorde is gesorteerd. Deze formule retourneert de (onvoorspelbare) tekst "C", terwijl "Ne" zou worden verwacht.

    C
    

    =HORIZ.ZOEKEN("^bo.*"; $B$1:$K$4; 4; 0)
    met reguliere expressies ingeschakeld.

    De functie komt overeen met de reguliere expressie "^bo.*" in de eerste rij van de gegevenstabel (cel F1) en retourneert de gegevens van de cel op het snijpunt van deze kolom en de vierde rij van de tabel (cel F4). De relatieve atoommassa van borium wordt teruggegeven.

    10,81

    =HORIZ.ZOEKEN("sti*"; $B$1:$K$4; 4; 0)
    met jokertekens ingeschakeld.

    De functie komt overeen met de jokertekenuitdrukking "sti*" in de eerste rij van de gegevenstabel (cel H1) en retourneert de gegevens van de cel op het snijpunt van deze kolom en de vierde rij van de tabel (cel H4). De relatieve atoommassa van stikstof wordt teruggegeven.

    14,007

    De volgende tabel toont verkoopgegevens voor een klein bedrijf. Vier kolommen (1 tm 4) tonen de totale omzet in elk kwartaal van het jaar en de naam van de best presterende verkoper in dat kwartaal. Vier kolommen (E_reg, N_reg, S_reg en W_reg) tonen de totale verkoop in elke regio voor het jaar en de naam van de best presterende verkoper in die regio in dat jaar. De gegevens in de eerste rij zijn in de voorgeschreven volgorde gesorteerd en daarom specificeren de volgende voorbeelden geen waarde voor het argument Gesorteerd bereik zoeken, waarbij HORIZ.ZOEKEN de standaardwaarde WAARtoepast.

    A B C D E F G H I
    1 Categorie 1 2 3 4 E_reg N_reg S_reg W_reg
    2 Totaal verkopen $27.094 $96.516 $82.485 $48.487 $99.908 $83.535 $46.553 $24.586
    3 Topverkoper Samuel Aaron Pippa Ollie Lillian George Zara Kristina
    Formule Beschrijving Retourneert
    =HORIZ.ZOEKEN(0; $B$1:$I$3; 2)

    De functie probeert het getal 0 in de eerste rij van de gegevenstabel te matchen, maar aangezien 0 kleiner is dan het eerste getal (1) in de rij, rapporteert de formule de fout #N/B.

    #N/B
    =HORIZ.ZOEKEN(2,5; $B$1:$I$3; 2)

    De functie probeert het getal 2,5 in de eerste rij van de gegevenstabel te matchen. Aangezien 2,5 groter is dan 2 en kleiner dan 3, gebruikt HORIZ.ZOEKEN de waarde 2 (kolom C). De formule retourneert de gegevens van de cel op het snijpunt van deze kolom en de tweede rij van de tabel (cel C2). De totale omzet voor het tweede kwartaal wordt teruggegeven.

    96516
    =HORIZ.ZOEKEN(3; $B$1:$I$3; 2)

    De functie komt overeen met het getal 3 in de eerste rij van de gegevenstabel (cel D1) en retourneert de gegevens van de cel op het snijpunt van deze kolom en de tweede rij van de tabel (cel D2). De totale omzet voor het derde kwartaal wordt teruggegeven. Merk op dat de formule =HORIZ.ZOEKEN("3"; $B$1:$I$3; 2) de fout #N/B retourneert.

    82485
    =HORIZ.ZOEKEN(123; $B$1:$I$3; 2)

    De functie probeert het getal 123 in de eerste rij van de gegevenstabel te vinden. Aangezien 123 groter is dan de (andere) aanwezige getallen, gebruikt HORIZ.ZOEKEN kolom E. De formule retourneert de gegevens van de cel op het snijpunt van deze kolom en de tweede rij van de tabel (cel E2). De totale omzet voor het vierde kwartaal wordt teruggegeven.

    48487
    =HORIZ.ZOEKEN("C_reg"; $B$1:$I$3; 3)

    De functie probeert de tekenreeks "C_reg" in de eerste rij van de gegevenstabel te matchen, maar aangezien "C_reg" alfabetisch voor de eerste tekst ("E_reg") in de rij staat, retourneert de formule de fout #N/B.

    #N/B
    =HORIZ.ZOEKEN("F_reg"; $B$1:$I$3; 3)

    De functie probeert de tekenreeks "F_reg" in de eerste rij van de gegevenstabel te matchen. Aangezien "F_reg" alfabetisch achter "E_reg" staat maar vóór "N_reg", gebruikt HORIZ.ZOEKEN de vorige (kolom F). De formule retourneert de gegevens van de cel op het snijpunt van deze kolom en de derde rij van de tabel (cel F3). De beste verkoper voor de regio "E_reg" is geretourneerd.

    Lillian
    =HORIZ.ZOEKEN("S_reg"; $B$1:$I$3; 3)

    De functie komt overeen met de tekenreeks "S_reg" in de eerste rij van de gegevenstabel (cel H1) en retourneert de gegevens van de cel op het snijpunt van deze kolom en de derde rij van de tabel (cel H3). De topverkoper voor de regio "S_reg" wordt geretourneerd.

    Zara
    =HORIZ.ZOEKEN("Zundert"; $B$1:$I$3; 3)

    De functie probeert de string "Zundert" in de eerste rij van de gegevenstabel te matchen. Aangezien "Zundert" alfabetisch achter de andere aanwezige strings staat, gebruikt HORIZ.ZOEKEN de waarde die zich het laatst in de lijst bevindt (kolom I). De formule retourneert de gegevens van de cel op het snijpunt van deze kolom en de derde rij van de tabel (cel I3). De topverkoper voor de regio "W_reg" wordt geretourneerd.

    Kristina

    Het laatste voorbeeld is opgenomen om aan te tonen dat het argument Matrix de vorm kan aannemen van een inline matrix. In dit geval wordt een punt gebruikt als het matrix-kolomscheidingsteken, terwijl een puntkomma wordt gebruikt als het array-rijscheidingsteken. Deze matrix-scheidingstekens kunnen worden gewijzigd via het gedeelte Scheidingstekens in het venster Extra ▸ Opties ▸ LibreOffice Calc ▸ Formule (of LibreOffice ▸ Voorkeuren ▸ LibreOffice Calc ▸ Formule op macOS ).

    Formule Beschrijving Retourneert
    =HORIZ.ZOEKEN(5, {1, 2, 3, 4, 5, 6, 7; "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"}; 2)

    De functie komt overeen met het getal 5 in de eerste rij van de matrix en retourneert de gegevens van de cel op de kruising van deze kolom en de tweede rij van de matrix.

    Vrijdag

    Gerelateerde LibreOffice-functies:

    KIEZEN

    INDEX

    ZOEKEN

    VERGELIJKEN

    VERSCHUIVING

    VERT.ZOEKEN

    ODF standaard:

    Section 6.14.5, part 2

    Gerelateerde (of gelijkwaardige) Excel-functies:

    HLOOKUP