Documentatie/Calc-functies/VERGELIJKEN
TDF LibreOffice Document Liberation Project Blogs gemeenschap Weblate Nextcloud Redmine Ask LibreOffice Doneren
Functienaam:
VERGELIJKEN
Categorie:
Werkblad
Samenvatting:
Identificeert de relatieve positie van een zoekitem in een celbereik met één rij of eenkolom, afhankelijk van de argumenten.
Het matchingproces kan ook gebruik maken van jokertekens of reguliere uitdrukkingen. Standaard is de matching niet case-gevoelig, maar een case-gevoelige match kan worden uitgevoerd bij het 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) of 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. 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 waarop wordt gezocht in Zoekmatrix zijn gesorteerd. De beoogde waarden voor Type zijn als volgt:
- Type =
1
. (standaard) 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. - Type =
0
. 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
. Wordt aangenomen dat Zoekmatrix 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 Zoekmatrix 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! error.
- Als Type een positief getal is, dan gaat VERGELIJKEN ervan uit dat Zoekmatrix in oplopende volgorde is gesorteerd.
- Als Type een negatief getal is, dan gaat VERGELIJKEN 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 en onbetrouwbaar. 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.
- 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.
Aanvullende details:
Details specifiek voor de functie VERGELIJKEN
- Booleaanse waarden ONWAAR en WAAR worden behandeld als respectievelijk de nummers 0 en 1.
- 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. VERGELIJKEN 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. 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 ▸ ▸ ▸ (of ▸ ▸ ▸ 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 ▸ ▸ ▸ (of ▸ ▸ ▸ op macOS), dan zal VERGELIJKEN 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 ▸ ▸ ▸ (of ▸ ▸ ▸ in macOS), dan moet Zoekcriterium overeenkomen met de hele tekst in een cel. Anders, dan kan deze overeenkomen met slechts een deel van de tekst. - De optie Hoofdlettergevoelig in het gedeelte Algemene berekeningen van het venster ▸ ▸ ▸ (of ▸ ▸ ▸ op macOS) heeft geen effect op de werking van VERGELIJKEN.
Algemene informatie over de reguliere expressies van Calc
- 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
▸ ▸ ▸ 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.
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;Opzoeken; 0)
waarbij Opzoeken een benoemd bereik (of databasebereik) is dat het celbereik A1:M1 dekt. |
Zoek exact naar de waarde 2 in de gespecificeerde celbereik, gelokaliseerd op de vierde positie. |
4 |
=VERGELIJKEN(3,6; A1:M1; 0) | Er is geen exacte overeenkomst 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. |
Zoek exact naar de waarde "Boer" (zonder de aanhalingstekens, niet hoofdlettergevoelig) in het opgegeven celbereik en vindt de tekenreeks op de negende positie. | 9 |
=VERGELIJKEN(A3; A1:M1; A4)
waarbij de cellen A3 en A4 respectievelijk de tekenreeks "boer"(ingevoerd zonder aanhalingstekens) en nummer 0 bevatten. |
Zoekt in het opgegeven celbereik en vindt de tekenreeks "boer", niet hoofdletterafhankelijk. | 9 |
=VERGELIJKEN("H*"; A1:M1; 0)
met jokertekens ingeschakeld. |
Zoekt in het opgegeven celbereik naar exact de expressie, het vindt de tekenreeks "Heer" in het tweede item. | 2 |
=VERGELIJKEN("^V.*"; A1:M1; 0)
met reguliere expressies ingeschakeld. |
Zoekt in het opgegeven celbereik de expressie "^V.* ", het vindt tekenreeks "Vrouw" op de dertiende plek.
|
13 |
=VERGELIJKEN("(?-i)^[V]{1}[a-z]*$"; A1:M1; 0 )
met reguliere expressies ingeschakeld. |
1="(?-i)^[V]{1}[a-z]*$ "} } in het opgegeven celbereik, waarbij in dit geval hoofdlettergevoeligheid vereist is, waarbij de tekenreeks "Vrouw" wordt gevonden op de dertiende plek.
|
13 |
=VERGELIJKEN("(?-i)^[v]{1}[a-z]*$"; A1:M1; 0 )
met reguliere expressies ingeschakeld. |
1="(?-i)^[v]{1}[a-z]*$ "} } in het opgegeven celbereik, in dit geval hoofdlettergevoeligheid vereist, geen overeenkomst gevonden.
|
#N/B |
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.
Vergelijk de resultaten met de derde reeks voorbeelden.
A | |
---|---|
1 | 2 |
2 | 3 |
3 | 4 |
4 | 5 |
5 | 6 |
6 | 7 |
7 | 8 |
8 | 9 |
9 | 10 |
10 | Aas |
11 | Boer |
12 | Heer |
13 | Vrouw |
Formule | Beschrijving | Retourneert |
---|---|---|
=VERGELIJKEN(1; A1:A13) |
Aangezien het argument Type wordt weggelaten, wordt de standaardwaarde |
#N/B |
=VERGELIJKEN(2,9; A1:A13; 1) | Zoekt naar 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) | De positie overeenkomend van de grootste waarde in Zoekmatrix die kleiner is dan of gelijk is aan 23,5. | 9 |
=VERGELIJKEN("Aardvarken"; A1:A13; 1) | Hier argument Zoekcriterium zit alfabetisch voor de eerste tekenreeks in de lijst. | #N/B |
=VERGELIJKEN("Heer"; A1:A13; 1) | Zoekt naar de positie van "Heer" in Zoekmatrix. | 12 |
=VERGELIJKEN("Zulu"; A1:A13; 1) |
"Zulu" is niet gevonden in de Zoekmatrix. Hier retourneert de functie de positie van de waarde in Zoekmatrix die direct ligt voor waar "Zulu" 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 functie VERGELIJKEN in de volgende voorbeelden).
De tekenreeksen worden zonder aanhalingstekens in hun cellen ingevoerd.
Vergelijk de resultaten met de vorige set voorbneelden.
A | |
---|---|
1 | Vrouw |
2 | Heer |
3 | Boer |
4 | Aas |
5 | 10 |
6 | 9 |
7 | 8 |
8 | 7 |
9 | 6 |
10 | 5 |
11 | 4 |
12 | 3 |
13 | 2 |
Formule | Beschrijving | Retourneert |
---|---|---|
=VERGELIJKEN("Zulu"; A1:A13; -1) | Het argument Zoekcriterium ligt vóór de beginwaarde in de lijst. | #N/B |
=VERGELIJKEN("Heer"; A1:A13; -1) | Zoek naar de positie van "Heer" in de Zoekmatrix. | 2 |
=VERGELIJKEN("Aardvarken"; A1:A13; -1) |
"Aardvarken" is niet gevonden in de Zoekmatrix. Zoekt de positie van de waarde in Zoekmatrix waar "Aardvarken" zou verschijnen. |
4 |
=VERGELIJKEN(23,5; A1:A13; -1) | Het argument Zoekcriterium groter is dan de beginwaarde in de lijst. | #N/B |
=VERGELIJKEN(2,9; A1:A13; -1) | De positie van de kleinste waarde in Zoekmatrix die groter is dan of gelijk is aan 2,9. | 12 |
=VERGELIJKEN(1; A1:A13; -1) | De positie van de kleinste waarde in Zoekmatrix die groter is dan of gelijk is aan 1 | 13 |
Gerelateerde LibreOffice-functies:
ODF standaard:
Gerelateerde (of gelijkwaardige) Excel-functies:
MATCH