Documentatie/Calc-functies/VERGELIJKEN

From The Document Foundation Wiki
Jump to navigation Jump to search
This page is a translated version of the page Documentation/Calc Functions/MATCH and the translation is 100% complete.
Other languages:
English • ‎Nederlands



Functienaam:

VERGELIJKEN

Categorie:

Werkblad

Samenvatting:

Bepaalt de positie van een zoekitem in een celbereik met één rij of één kolom.

Het vergelijkingsproces 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.

Syntaxis:

VERGELIJKEN(Zoekcriterium; Zoekmatrix[; Type])

Retourneert:

Retourneert een geheel getal variërend van 1 tot de grootte van de opgegeven zoekmatrix, waarmee de positie van het gezochte item in het opgegeven cellenbereik wordt aangegeven.

Argumenten:

Zoekcriterium is een tekenreeks (tussen aanhalingstekens), een getal, een Boolean of een verwijzing naar een cel die één van die typen bevat. Zoekcriterium wordt vergeleken met de inhoud van cellen in Zoekmatrix.

Zoekmatrix is het celbereik met één rij of één kolom waarin moet worden gezocht, meestal gedefinieerd door de celverwijzing voor de cel linksboven in te voeren, gevolgd door een dubbele punt (:) en vervolgens de celverwijzing voor de cel rechtsonder (bijvoorbeeld A1:E1 of B1:B7). Het kan ook worden opgegeven met de naam van een benoemd bereik of een databasebereik of het kan worden doorgegeven als een inline matrix.

Type is een geheel getal of een verwijzing naar een cel die een geheel getal bevat, dat aangeeft hoe de gegevens in Zoekmatrix zijn georganiseerd. De beoogde waarden voor Type zijn als volgt:

  • Type = 1. In dit geval wordt aangenomen dat Zoekmatrix in oplopende volgorde is geordend (zie het gedeelte #Aanvullende details: hieronder voor een beschrijving van de sorteervolgorde). VERGELIJKEN geeft de positie van de grootste waarde in Zoekmatrix die kleiner is dan of gelijk is aan Zoekcriterium. Dit is de standaardwaarde die wordt toegepast wanneer het Type wordt weggelaten.
  • Type = 0. In dit geval wordt aangenomen dat Zoekmatrix niet geordend is. VERGELIJKEN retourneert de positie van de eerste exacte overeenkomst. Zoekcriterium kan gebruikmaken van reguliere expressies of jokertekens als deze zijn ingeschakeld.
  • Type = -1. In dit geval wordt aangenomen dat Lookup array in aflopende volgorde is geordend. VERGELIJKEN geeft de positie van de kleinste waarde in Zoekmatrix die groter is dan of gelijk is aan Zoekcriterium.

De volgende voorwaarden kunnen zich voordoen:

  • Als Lookup array een multidimensionaal celbereik is, retourneert VERGELIJKEN fout in de lijst met parameters (Fout:504).
  • Als Type niet-numeriek is, dan retourneert VERGELIJKEN als fout #WAARDE!.
  • Als Type een positief getal is, dan gaat VERGELIJKEN ervan uit dat Lookup array in oplopende volgorde is gesorteerd.
  • Als Type een negatief getal is, dan gaat MATCH ervan uit dat Zoekmatrix in aflopende volgorde is geordend.
  • Als Type niet nul is, maar de cellen in Zoekmatrix zijn niet geordend zoals verwacht, dan is het resultaat dat door VERGELIJKEN wordt geretourneerd, onvoorspelbaar. In dergelijke gevallen is het mogelijk dat er geen fout wordt gerapporteerd en is het misschien niet duidelijk dat het geretourneerde resultaat zinloos is.
  • Als Type niet nul is en Zoekcriterium een reguliere expressie of wildcard-expressie gebruikt, retourneert VERGELIJKEN niet routinematig een fout. Het is echter misschien niet duidelijk wanneer het geretourneerde resultaat zinloos is.
  • Als Type nul is en er geen exacte overeenkomst met Zoekcriterium kan worden gevonden in Zoekmatrix, dan retourneert VERGELIJKEN als fout #N/B (waarde niet beschikbaar).
  • Als Type niet nul is en Zoekcriterium voorafgaat aan de eerste cel in Zoekmatrix voor de opgegeven sorteervolgorde, dan rapporteert VERGELIJKEN als fout #N/B ( waarde niet beschikbaar).

Aanvullende details:

Details specifiek voor de functie VERGELIJKEN

  • Als Type nul is en Zoekmatrix meerdere cellen met dezelfde inhoud bevat, zal VERGELIJKEN alleen overeenkomen met één van de cellen die gemeenschappelijke inhoud delen en dit kan voor verwarring zorgen.
  • Als Type groter is dan nul, moet Zoekmatrix worden geordend met getallen in oplopende volgorde die vóór tekstwaarden in alfabetische volgorde verschijnen. Booleaanse waarden ONWAAR en WAAR worden behandeld als respectievelijk de getallen 0 en 1. VERGELLIJKEN berekent waar in de Zoekmatrix de waarde van Zoekcriterium in de geordende volgorde zal verschijnen.
  • Als Type kleiner is dan nul, moet Zoekmatrix worden gesorteerd met tekstwaarden in aflopende alfabetische volgorde vóór getallen in aflopende volgorde. Booleaanse waarden ONWAAR en WAAR worden behandeld als respectievelijk de getallen 0 en 1. VERGELIJKEN berekent waar in de Zoekmatrix de waarde van Zoekcriterium in de geordende volgorde zal verschijnen.
  • Als Reguliere expressies in formules toestaan is ingeschakeld in het gedeelte Formule-jokertekens in het venster Extra ▸ Opties ▸ LibreOffice Calc ▸ Berekenen (of LibreOffice ▸ Voorkeuren ▸ LibreOffice Calc ▸ Berekenen op macOS), dan zal VERGELIJKEN exacte overeenkomsten vinden die Zoekcriterium behandelen als een reguliere expressie.
  • Als Jokertekens in formules inschakelen is ingeschakeld in het gedeelte Formule-jokertekens van het venster Extra ▸ Opties ▸ LibreOffice Calc ▸ Berekenen (of LibreOffice ▸ Voorkeuren ▸ LibreOffice Calc ▸ Berekenen op macOS) , dan zal ZOEKEN exacte overeenkomsten vinden die Zoekcriterium als een jokertekenuitdrukking behandelen.
  • 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 VERT.ZOEKEN.


Algemene informatie over de reguliere expressies van Calc

Note pin.svg

Note:
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.
  • 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:

In de eerste reeks voorbeelden wordt aangenomen dat cellen A1:M1 de volgende getallen en tekenreeksen bevatten: 7, "Heer", 3, 2, 8, 5, "Aas", 6, "Boer", 10, 4, 9, "Vrouw" (die de 13 kaarten in één reeks van een pak speelkaarten voorstelt, in willekeurige volgorde geschud). De tekenreeksen worden zonder aanhalingstekens in hun cellen ingevoerd.

Formule Beschrijving Retourneert
=VERGELIJKEN(2;ZoekenIn; 0) waarbij Opzoeken een benoemd bereik (of databasebereik) is dat het celbereik A1:M1 dekt. Hier zoekt de functie de ongeordende waarden in het opgegeven celbereik en vindt de waarde 2 in de vierde invoer. 4
=VERGELIJKEN(3,6; A1:M1; 0) Hier retourneert de functie de fout #N/B omdat er geen exacte overeenkomst is voor de waarde 3,6. #N/B
=VERGELIJKEN(A3; A1:M1; A4) waarbij de cellen A3 en A4 respectievelijk de tekenreeks "boer" (ingevoerd zonder aanhalingstekens) en nummer 0 bevatten. Hier zoekt de functie de ongeordende waarden in het opgegeven celbereik en vindt de tekenreeks "Boer" in de negende invoer. 9
=Vergelijken("^V.*"; A1:M1; 0) met reguliere expressies ingeschakeld. Hier zoekt de functie de ongeordende waarden in het opgegeven celbereik en komt overeen met de tekenreeks "Vrouw" in de dertiende invoer. 13
=VERGELIJKEN("H*"; A1:M1; 0) met jokertekens ingeschakeld. Hier zoekt de functie de ongeordende waarden in het opgegeven celbereik en komt overeen met de tekenreeks "Heer" in het tweede item. 2

In de tweede reeks voorbeelden wordt aangenomen dat cellen A1:A13 de volgende getallen en tekenreeksen bevatten: 2, 3, 4, 5, 6, 7, 8, 9, 10, "Aas", "Boer", "Heer", "Vrouw" (die de 13 kaarten in één reeks van een pak speelkaarten vertegenwoordigt, geplaatst in de oplopende volgorde die vereist is voor de functies VERGELIJKEN). De tekenreeksen worden zonder aanhalingstekens in hun cellen ingevoerd.

Formule Beschrijving Retourneert
=VERGELIJKEN(1; A1:A13) Aangezien het argument Type wordt weggelaten, wordt de standaardwaarde 1 aangenomen. Hier retourneert de functie de fout #N/B omdat het argument Zoekcriterium kleiner is dan de beginwaarde in de lijst. #N/B
=VERGELIJKEN(2,9; A1:A13; 1) Hier retourneert de functie de positie van de grootste waarde in Zoekmatrix die kleiner is dan of gelijk is aan 2,9. 1
=VERGELIJKEN(23,5; A1:A13; 1) Hier retourneert de functie de positie van de grootste waarde in Zoekmatrix die kleiner is dan of gelijk is aan 23,5. 9
=VERGELIJKEN("Aardappel"; A1:A13; 1) Hier retourneert de functie de fout #N/B omdat het argument Zoekcriterium alfabetisch voor de eerste tekenreeks in de lijst staat. #N/B
=VERGELIJKEN("Heer"; A1:A13; 1) Hier retourneert de functie de positie van "Heer" in Zoekmatrix. 12
=VERGELIJKEN("West"; A1:A13; 1) Hier retourneert de functie de positie van de waarde in Zoekmatrix die direct ligt voor waar "West" zou verschijnen. 13

In de derde reeks voorbeelden wordt aangenomen dat cellen A1:A13 de volgende getallen en tekenreeksen bevatten: "Vrouw", "Heer", "Boer", "Aas", 10, 9, 8, 7, 6, 5, 4, 3, 2 (die de 13 kaarten in één reeks van een pak speelkaarten vertegenwoordigen, geplaatst in de aflopende volgorde die vereist is voor de functies VERGELIJKEN). De tekenreeksen worden zonder aanhalingstekens in hun cellen ingevoerd.

Formule Beschrijving Retourneert
=VERGELIJKEN("West"; A1:A13; -1) Hier retourneert de functie de fout #N/B omdat het argument Zoekcriterium vóór de beginwaarde in de lijst ligt. #N/B
=VERGELIJKEN("Heer"; A1:A13; -1) Hier retourneert de functie de positie van "Heer" in de Zoekmatrix. 2
=VERGELIJKEN("Aardappel"; A1:A13; -1) Hier retourneert de functie de positie van de waarde in Zoekmatrix waar "Aardappel" zou verschijnen. 4
=VERGELIJKEN(23,5; A1:A13; -1) Hier retourneert de functie de fout #N/B omdat het argument Zoekcriterium groter is dan de beginwaarde in de lijst. #N/B
=VERGELIJKEN(2,9; A1:A13; -1) Hier retourneert de functie de positie van de kleinste waarde in Zoekmatrix die groter is dan of gelijk is aan 2,9. 12
=VERGELIJKEN(1; A1:A13; -1) Hier retourneert de functie de positie van de kleinste waarde in Zoekmatrix die groter is dan of gelijk is aan 1 13

Gerelateerde LibreOffice-functies:

HORIZ.ZOEKEN

ZOEKEN

VERSCHUIVING

VERT.ZOEKEN

ODF standaard:

Section 6.14.9, part 2

Gelijkwaardige Excel-functies:

VERGELIJKEN