Download het voorbeeldwerkboek
Deze tutorial laat zien hoe je de Excel SEARCH-functie in Excel om de positie van tekst in een cel te lokaliseren.
Overzicht functie ZOEKEN
De SEARCH-functie Vindt een teken of tekstreeks en retourneert zijn positie in de cel. Niet hoofdlettergevoelig.
Om de Excel-werkbladfunctie ZOEKEN te gebruiken, selecteert u een cel en typt u:
(Let op hoe de formule-invoer verschijnt)
Zoekfunctie Syntaxis en invoer:
=ZOEK(vind_tekst,binnen_tekst,start_getal)
vind tekst - De reeks tekst die u wilt vinden.
binnen_tekst - De originele tekstreeks.
start_num - OPTIONEEL. Het tekennummer van waaruit de zoekopdracht moet worden gestart. Opmerking: dit verandert alleen het zoekbereik, het heeft geen invloed op het aantal dat wordt geretourneerd wanneer een overeenkomst wordt gevonden. Voorbeeld: zoeken naar "s" in string "suns" levert standaard 1 op, maar als start_num is ingesteld op 2, wordt 4 geretourneerd.
Wat is de ZOEK-functie?
De Excel SEARCH-functie "zoekt" naar een reeks tekst binnen een andere reeks. Als de tekst is gevonden, retourneert SEARCH de numerieke positie van de tekenreeks.
ZOEKEN is NIET hoofdlettergevoelig. Dit betekent dat "tekst" overeenkomt met "TEKST". Gebruik in plaats daarvan de FIND-functie <> om tekst met hoofdlettergevoeligheid te zoeken.
Hoe de ZOEK-functie te gebruiken
De Excel SEARCH-functie werkt op de volgende manier:
=ZOEKEN("e", "olifant")
Hier retourneert Excel 1, aangezien "e" het eerste teken is in "olifant".
Hieronder staan nog enkele voorbeelden.
Startnummer (start_num)
Optioneel kunt u een startnummer (start_num) definiëren. start_num vertelt de SEARCH-functie waar de zoekopdracht moet beginnen. Als u dit leeg laat, begint de zoekopdracht bij het eerste teken.
=ZOEKEN(B3,C3)
Laten we nu start_num instellen op 2, wat betekent dat SEARCH begint te zoeken vanaf het tweede teken.
=ZOEKEN(B3,C3,D3)
In dit geval geeft SEARCH als resultaat 3: de positie van de tweede "e".
Belangrijk: start_num heeft geen invloed op de retourwaarde, SEARCH begint altijd te tellen met het eerste teken.
Startnummer (start_num) fouten
Als je wel een startnummer gebruikt, zorg er dan voor dat het een geheel, positief getal is dat kleiner is dan de lengte van de string die je wilt doorzoeken, anders krijg je een foutmelding. U krijgt ook een foutmelding als u een lege cel doorgeeft als uw startnummer:
=ZOEKEN(B3,C3,D3)
Mislukte zoekopdrachten Retourneren een #VALUE! Fout
Als SEARCH de zoekwaarde niet kan vinden, retourneert Excel een #VALUE! fout.
Hoofdletterongevoelig zoeken
Het onderstaande voorbeeld laat zien dat de functie ZOEKEN niet hoofdlettergevoelig is. We zochten naar "abc", maar ZOEKEN leverde 1 op, omdat het overeenkwam met "ABC".
Zoeken met jokertekens
U kunt jokertekens gebruiken met SEARCH, waarmee u naar niet-gespecificeerde tekens kunt zoeken.
Een vraagteken in uw zoektekst betekent "elk teken". Dus "?000" in het onderstaande voorbeeld betekent "Zoeken naar een willekeurig teken gevolgd door drie nullen."
Een asterisk betekent "een willekeurig aantal onbekende tekens". Hier zoeken we naar "1*C", en ZOEKEN retourneert 2 omdat het overeenkomt met "1-ABC".
In het volgende voorbeeld zoeken we naar '000?' - dat wil zeggen, "000" gevolgd door een willekeurig teken. We hebben "000", maar het staat aan het einde van de tekenreeks en wordt daarom niet gevolgd door tekens, dus we krijgen een foutmelding
Als we echter een asterisk gebruiken in plaats van een vraagteken - dus "000*" in plaats van "000?", krijgen we een overeenkomst. Dit komt omdat de asterisk "een willekeurig aantal tekens" betekent - inclusief geen tekens.
Hoe voor- en achternaam van een cel te splitsen met SEARCH
Als je voor- en achternaam in dezelfde cel hebt, en je wilt ze elk een cel geven, kun je daarvoor ZOEKEN gebruiken - maar je zult ook een paar andere functies moeten gebruiken.
De voornaam krijgen
De LEFT Excel-functie retourneert een bepaald aantal tekens uit een tekenreeks, beginnend vanaf de linkerkant.
Als we ZOEKEN gebruiken om de positie van de spatie tussen de voor- en achternaam terug te geven, trek daar 1 van af, dan weten we hoe lang de voornaam is. Dan kunnen we dat gewoon doorgeven aan LINKS.
De formule voor de voornaam is:
=LINKS(B3,ZOEKEN(“ “,B3)-1)
De achternaam krijgen
De RECHTS Excel-functie retourneert een bepaald aantal tekens vanaf de rechterkant van een tekenreeks.
Om een aantal tekens te krijgen dat gelijk is aan de lengte van de achternaam, gebruiken we SEARCH om ons de positie van de spatie te vertellen, en trekken dat getal vervolgens af van de totale lengte van de string - wat we kunnen krijgen met LEN.
De achternaam formule is:
=RECHTS(B3,LENGTE(B3)-ZOEKEN(“ “,B3))
Merk op dat als uw naamgegevens middelste namen bevatten, de middelste naam wordt opgesplitst in de cel "Achternaam".
SEARCH gebruiken om het n-de teken in een string te retourneren
Zoals hierboven vermeld, retourneert ZOEKEN de positie van de eerste gevonden overeenkomst. Maar door het te combineren met CHAR en SUBSTITUTE, kunnen we het gebruiken om latere exemplaren van een teken te lokaliseren, zoals de tweede of derde instantie.
Hier is de formule:
=ZOEKEN(CHAR(134),VERVANG(D3,C3,CHAR(134),B3))
Het ziet er in het begin misschien een beetje ingewikkeld uit, dus laten we het opsplitsen:
- We gebruiken SEARCH en de tekenreeks waarnaar we zoeken is "CHAR (134)". CHAR retourneert een teken op basis van de ASCII-code. CHAR(134) is een dolksymbool - je kunt hier alles gebruiken zolang het niet in je eigenlijke string voorkomt.
- SUBSTITUTE gaat door een string en vervangt het ene teken of substring door een ander. Hier vervangen we de string die we willen vinden (in C3) door CHAR (134). De reden dat dit werkt, is dat de vierde parameter van SUBSTITUTE het instantienummer is, dat we hebben opgeslagen in B3.
- Dus SUBSTITUTE verwisselt het n-de teken in de tekenreeks voor het dolksymbool, en dan geeft SEARCH de positie ervan terug.
Hier is hoe het eruit ziet:
Het middelste gedeelte van een string vinden
Stel je voor dat je veel serienummers hebt met het volgende formaat:
AB1XCDC-1BB/BB99
Er is je gevraagd om het middelste gedeelte van elk eruit te trekken. In plaats van dit handmatig te doen, kunt u SEARCH combineren met MID om deze taak te automatiseren.
De MID Excel-functie retourneert een deel van een tekenreeks. De invoer is een tekenreeks, een startpunt en een aantal tekens.
Aangezien het gewenste startpunt het teken na het koppelteken is, kunnen we SEARCH gebruiken om de positie van het koppelteken te krijgen en er 1 aan toe te voegen. Als het serienummer in B3 was, zouden we gebruiken:
=ZOEKEN("-",B3)+1
Om het aantal tekens te krijgen dat we hier willen verwijderen, kunnen we zoeken gebruiken om de positie van de schuine streep te krijgen, de positie van het koppelteken aftrekken en vervolgens 1 aftrekken, dus zorg ervoor dat we de schuine streep zelf niet teruggeven:
=ZOEKEN("/",B3)-ZOEKEN("-",B3)-1
Vervolgens pluggen we deze twee formules eenvoudig in MID:
ZOEKEN versus VINDEN
ZOEKEN en VINDEN zijn vergelijkbare functies. Ze retourneren allebei de positie van een bepaald teken of subtekenreeks binnen een andere tekenreeks. Er zijn echter twee belangrijke verschillen:
- FIND is hoofdlettergevoelig, maar SEARCH niet
- FIND staat geen jokertekens toe, maar SEARCH wel
Hieronder ziet u enkele voorbeelden van deze verschillen:
ZOEKEN in Google Spreadsheets
De SEARCH-functie werkt in Google Spreadsheets precies hetzelfde als in Excel:
extra notities
De SEARCH-functie is een niet-hoofdlettergevoelige versie van de FIND-functie. ZOEKEN ondersteunt ook jokertekens. Vinden niet.
ZOEKEN Voorbeelden in VBA
U kunt ook de SEARCH-functie in VBA gebruiken. Type:application.worksheetfunction.search(find_text,in_text,start_num)
Voor de functieargumenten (find_text, enz.), kunt u ze ofwel rechtstreeks in de functie invoeren, of variabelen definiëren om in plaats daarvan te gebruiken.
Keer terug naar de lijst met alle functies in Excel