In dit artikel worden de syntaxis van de formule en het gebruik van de functie ZOEKEN in Microsoft Excel beschreven.
Beschrijving
De functie ZOEKEN zoekt één tekenreeks in een tweede tekenreeks en retourneert het nummer van de beginpositie van de eerste tekenreeks van het eerste teken van de tweede tekenreeks. Als u bijvoorbeeld de positie van de letter 'n' in het woord 'printer' wilt zoeken, kunt u de volgende functie gebruiken:
=VIND.SPEC("n";"printer")
Het resultaat van deze functie is 4 omdat 'n het vierde teken in het woord 'printer' is.
U kunt ook zoeken naar woorden in andere woorden. Zo is het resultaat van de functie
=VIND.SPEC("base";"database")
5, omdat het woord 'base' begint op de plaats van het vijfde teken van het woord 'database'. U kunt de ZOEKFUNCTIE gebruiken om de locatie van een teken of tekenreeks in een andere tekenreeks te bepalen en vervolgens de MID te gebruiken om de tekst te retourneren of vervangen gebruiken om de tekst te wijzigen. Deze functies worden gedemonstreerd in voorbeeld 1 in dit artikel.
Syntaxis
VIND.SPEC(zoeken_tekst;in_tekst;[begin_getal])
De functie ZOEKEN heeft de volgende argumenten:
-
find_text Vereist. De tekst die u zoekt.
-
in_tekst Vereist. De tekst waarin u wilt zoeken naar de waarde van het argument zoeken_tekst.
-
begin_getal Optioneel. De positie van het teken in het argument in_tekst waar u het zoeken wilt starten.
Opmerking
-
De functie SEARCH is niet hoofdlettergevoelig. Als u een hoofdlettergevoelige zoekopdracht wilt uitvoeren, kunt u FIND gebruiken.
-
U kunt een vraagteken (?) of een sterretje(* ) als jokertekens gebruiken in het argument zoeken_tekst. Een vraagteken vervangt een willekeurig teken, een sterretje vervangt een willekeurige tekenreeks. Als u echt een vraagteken of een sterretje wilt zoeken, moet u een tilde (~) voor dat teken typen.
-
Als de waarde van zoeken_tekst niet wordt gevonden, wordt de foutwaarde #WAARDE! als resultaat gegeven.
-
Als u het argument begin_getal weglaat, wordt uitgegaan van de waarde 1.
-
Als begin_getal niet groter is dan 0 (nul) of groter is dan de lengte van het argument in_tekst, wordt de foutwaarde #WAARDE! als resultaat gegeven.
-
Gebruik begin_getal om een bepaald aantal tekens over te slaan. Stel dat u voor de functie VIND.SPEC werkt met de tekenreeks 'AJF0093.JongeMode'. Als u de positie van de eerste 'J' in het beschrijvende gedeelte van de tekenreeks wilt vinden, geeft u voor het argument begin_getal het getal 8 op, zodat niet in het serienummer in de tekenreeks wordt gezocht (in dit geval 'AJF0093'). De functie VIND.ALLES begint bij het 8e teken, vindt het teken dat in het argument zoeken_tekst is opgegeven bij het volgende teken en de resulterende waarde is 9. De functie VIND.SPEC resulteert altijd in het aantal tekens vanaf het begin van in_tekst, inclusief de tekens die u overslaat als het argument begin_getal groter is dan 1.
Voorbeelden
Kopieer de voorbeeldgegevens uit de volgende tabel en plak deze in cel A1 van een nieuw Excel-werkblad. Om resultaten van formules weer te geven, selecteert u deze, drukt u op F2 en drukt u vervolgens op Enter. Indien nodig kunt u de kolombreedten aanpassen als u alle gegevens wilt zien.
Gegevens |
||
---|---|---|
Instructies |
||
Winstmarge |
||
marge |
||
De "baas" is hier. |
||
Formule |
Beschrijving |
Resultaat |
=VIND.SPEC("i";A2;6) |
De positie van de eerste 'i' in de tekenreeks in cel A2, vanaf het zesde teken |
7 |
=VIND.SPEC(A4;A3) |
De positie van 'marge' (de tekenreeks waarnaar wordt gezocht is cel A4) in 'Winstmarge' (de cel waarin wordt gezocht is A3). |
8 |
=VERVANGEN(A3;VIND.SPEC(A4;A3);5;"aandeel") |
Hiermee wordt 'marge' vervangen door 'aandeel' door eerst te zoeken naar de positie van 'marge' in cel A3 en vervolgens dat teken en de volgende vier tekens te vervangen door de tekenreeks 'aandeel'. |
Winstaandeel |
=DEEL(A3;VIND.SPEC("t";A3)+1;4) |
Hiermee worden de eerste vier tekens die volgen na de letter 't' in 'Winstmarge' (cel A3) als resultaat gegeven. |
marg |
=VIND.SPEC("""";A5) |
De positie van het eerste dubbele aanhalingsteken (") in cel A5. |
5 |
=DEEL(A5;VIND.SPEC("""";A5)+1;VIND.SPEC("""";A5;VIND.SPEC("""";A5)+1)-VIND.SPEC("""";A5)-1) |
Hiermee wordt alleen de tekst tussen de dubbele aanhalingstekens in cel A5 als resultaat gegeven. |
baas |
Belangrijk:
-
De functie VIND.SPEC.B is afgeschaft.
-
In werkmappen die zijn ingesteld op compatibiliteitsversie 2, heeft SEARCH het gedrag verbeterd met surrogaatparen, waarbij ze worden geteld als één teken in plaats van twee. Variatiekiezers (vaak gebruikt met emoji's) worden nog steeds geteld als afzonderlijke tekens. Lees hier meer: De Unicode-standaard