Documentatie/Calc-functies/ZOEKEN

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


    Functienaam:

    VIND.SPEC

    Categorie:

    Tekst

    Samenvatting:

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

    VIND.SPEC 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:

    VIND.SPEC(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 VIND.SPEC de waarde 1.

    • Als Positie een niet-gehele waarde is, dan kapt VIND.SPEC deze af tot een geheel getal.
    • Als Positie kleiner is dan 1, dan retourneert VIND.SPEC als fout Ongeldig argument (Fout:502).
    • Als, na afkapping, Positie groter is dan de lengte van de te doorzoeken string, dan retourneert VIND.SPEC als fout #WAARDE!
    • Als er geen overeenkomst wordt gevonden, meldt VIND.SPEC 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 VIND.SPEC

    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 VIND.SPEC.

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

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


    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 de 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", omdat "?" exact moet overeenkomen met één karakter. Het jokerteken "?" komt niet overeen met een nul-teken.
    * (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:

    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
    =VIND.SPEC("fifty"; "Fifty-fifty") Hier retourneert de functie 1 omdat de overeenkomst niet hoofdlettergevoelig is. 1
    =VIND.SPEC(76; 998.877.667.654) Hier retourneert de functie 6 omdat het zoeken standaard begint bij het eerste teken van de string die moet worden doorzocht. 6
    =VIND.SPEC(76; 998.877.667.654; 7) Hier retourneert de functie 9 omdat het matchen begint bij het zevende teken van de string die moet worden doorzocht. 9
    =VIND.SPEC(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 fout #WAARDE! omdat er geen overeenkomst is. #WAARDE!
    =VIND.SPEC("b??g"; "big bang theory") Zorg er voor dit voorbeeld voor dat jokertekens zijn ingeschakeld. Hier retourneert de functie 5, overeenkomend met "bang" maar niet met "big". 5
    =VIND.SPEC("w*"; "What is the weather forecast?") 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
    =VIND.SPEC("t.n"; "often") Zorg er voor dit voorbeeld voor dat reguliere expressies zijn ingeschakeld. Hier retourneert de functie 3, overeenkomend met "ten" 3
    =VIND.SPEC("(?-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

    VIND.ALLES

    VIND.SPEC.B

    ODF standaard:

    Section 6.20.20, part 2

    Gerelateerde (of gelijkwaardige) Excel-functies:

    SEARCH