Documentatie/Calc-functies/ZOEKEN

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



Functienaam:

ZOEKEN

Categorie:

Tekst

Samenvatting:

Lokaliseert de tekenpositie van het eerste voorkomen van een tekstreeks in een andere.

ZOEKEN kan worden gebruikt met jokertekens of reguliere expressies. Standaard is de zoekopdracht niet hoofdlettergevoelig, maar bij gebruik van een reguliere expressie kan een hoofdlettergevoelige overeenkomst worden uitgevoerd.

Syntaxis:

ZOEKEN(Tekst zoeken; Tekst[; Positie])

Retourneert:

Retourneert een positief geheel getal dat de positie is van het eerste teken van het eerste voorkomen van de tekenreeks die moet worden gevonden, binnen de tekenreeks die moet worden doorzocht. De geretourneerde waarde mag niet groter zijn dan de lengte van de tekenreeks die moet worden doorzocht.

Argumenten:

Tekst zoeken is een tekenreeks (tussen aanhalingstekens), een getal of een verwijzing naar een cel die één van die typen bevat, dat wil zeggen de tekenreeks die moet worden gevonden.

Tekst is een tekenreeks (tussen aanhalingstekens), een getal of een verwijzing naar een cel die één van die typen bevat, dat wil zeggen de tekenreeks die moet worden doorzocht.

Positie is een positief geheel getal of een verwijzing naar een cel die een positief geheel getal bevat, dat wil zeggen de tekenpositie van waaruit het zoeken begint. Als Positie wordt weggelaten, gebruikt ZOEKEN de waarde 1.

  • Als Positie een niet-gehele waarde is, dan kapt ZOEKEN deze af tot een geheel getal.
  • Als Positie kleiner is dan 1, dan retourneert ZOEKEN als fout Ongeldig argument (Fout:502).
  • Als, na afkapping, Positie groter is dan de lengte van de te doorzoeken string, dan retourneert ZOEKEN als fout #WAARDE!.
  • Als er geen overeenkomst wordt gevonden, meldt ZOEKEN als fout #WAARDE!. Dit is een foutconditie die moet worden afgehandeld als deze wordt gebruikt als argument voor een andere functie.

Aanvullende details:

Details specifiek voor de functie ZOEKEN

In Extra ▸ Opties ▸ LibreOffice Calc ▸ Berekenen (of LibreOffice ▸ Voorkeuren ▸ LibreOffice Calc ▸ Berekenen op macOS), heeft de instelling voor Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn geen effect op het gedrag van ZOEKEN.

Suggesties voor het omgaan met de fout #WAARDE! die wordt geretourneerd wanneer er geen overeenkomst wordt gevonden, zijn onder meer:

  • =ALS(ISFT(ZOEKEN("xyz"; "abcdef"; 1)); "FOUT: Ontbrekende subtekenreeks"; "Subtekenreeks aanwezig") geeft als resultaat "FOUT: Ontbrekende subtekenreeks" en wordt niet doorgegeven als fout van de functie ZOEKEN.
  • =ALS(ISGETAL(ZOEKEN("xyz"; "abcdef"; 1)); "Substring Present"; "FOUT: Ontbrekende Substring") geeft als resultaat "FOUT: Ontbrekende Substring" en wordt niet doorgegeven als fout van de functie ZOEKEN.



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

Houd er rekening mee dat deze ook niet overeenkomt met 'bg' , sinds "?" moet exact overeenkomen met één karakter. Het "?" 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 op hele cellen toepasbaar zijn' 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".


Voorbeelden:

Tenzij expliciet vermeld, zouden de volgende voorbeeldformules moeten werken zoals beschreven, ongeacht of jokertekens, reguliere expressies of geen van beide zijn ingeschakeld.

Formule Beschrijving Retourneert
=ZOEKEN("fifty"; "Fifty-fifty") Hier retourneert de functie 1 omdat de overeenkomst niet hoofdlettergevoelig is. 1
=ZOEKEN(76; 998877667654) Hier retourneert de functie 6 omdat het zoeken standaard begint bij het eerste teken van de string die moet worden doorzocht. 6
=ZOEKEN(76; 998877667654; 7) Hier retourneert de functie 9 omdat het matchen begint bij het zevende teken van de string die moet worden doorzocht. 9
=ZOEKEN(D1; D2; D3) waarbij de cellen D1 en D2 de tekenreeksen "Rook" en "Ridder" bevatten, terwijl cel D3 de waarde 1 bevat. Hier retourneert de functie de #WAARDE! fout omdat er geen overeenkomst is. #WAARDE!
=ZOEKEN("b??g"; "big bang theorie") Zorg er voor dit voorbeeld voor dat jokertekens zijn ingeschakeld. Hier retourneert de functie 5, overeenkomend met "bang" maar niet met "big". 5
=ZOEKEN("w*"; "Wat is de weersvoorspelling?") Zorg er voor dit voorbeeld voor dat jokertekens zijn ingeschakeld. Hier retourneert de functie 1, wat aantoont dat de overeenkomst met jokertekens niet hoofdlettergevoelig is. 1
=ZOEKEN("t.n"; "enten") Zorg er voor dit voorbeeld voor dat reguliere expressies zijn ingeschakeld. Hier retourneert de functie 3, overeenkomend met "ten" 3
=ZOEKEN("(?-i)fifty"; "Fifty-fifty") Zorg er voor dit voorbeeld voor dat reguliere expressies zijn ingeschakeld. Hier retourneert de functie 7 omdat de optie "(?-i)" binnen de reguliere expressie is gewijzigd in een hoofdlettergevoelige overeenkomst. Vergelijk dit met het eerste voorbeeld in deze tabel. 7

Gerelateerde LibreOffice-functies:

GELIJK

VINDEN

ZOEKENB

ODF standaard:

Section 6.20.20, part 2

Gelijkwaardige Excel-functies:

VIND.SPEC