zoek met vindspec de eerste letter

Anoniem
2016-04-13T15:05:11+00:00

Ik zou graag willen weten of het mogelijk is om met bv vind.spec de eerste letter te zoeken

voorbeelden zijn:

veld waarin gezocht moet worden resultaat
65025D.19 6
65026234PVOO 9

Hoe doe ik dit??

groetjes Joyce

Microsoft 365 en Office | Excel | Voor thuisgebruik | Windows

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. Je kunt met een stem aangeven of de inhoud nuttig is, maar je kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen.

0 opmerkingen Geen opmerkingen
{count} stemmen
Antwoord geaccepteerd door vraagauteur
  1. Anoniem
    2016-04-14T18:21:22+00:00

    Joyce,

    Nog een mogelijkheid:

    =LENGTE(AGGREGAAT(14;7;(1*DEEL(A2;1;RIJ(A1:A200)));1))+1

    zoekt de plaats van het eerste niet-numerieke teken in A2.

    Dat is dus niet per definitie de eerste letter.

    Om een foutmelding te voorkomen als het eerste teken al niet-numeriek is kun je de formule zo aanpassen:

    =ALS.FOUT(LENGTE(AGGREGAAT(14;7;(1*DEEL(A2;1;RIJ(A1:A200)));1))+1;1)

    En de oplossing van J.P. (met dank voor het attenderen op de AGGREGAAT functie) kan ook compacter geschreven:

    =AGGREGAAT(15;6;VIND.SPEC(TEKEN(RIJ(A65:A90));A2);1)

    (al deze functies gaan nog in de fout als de waarde in A2 numeriek is en dus geen niet-numerieke tekens bevatten)

    Jan

    1 persoon vond dit antwoord nuttig.
    0 opmerkingen Geen opmerkingen
Antwoord geaccepteerd door vraagauteur
  1. Anoniem
    2016-04-19T17:46:15+00:00

    Joyce,

    Een poging tot uitleg van de formule.

    =RIJ($A$1:$A$200)

    In een matrixformule (en dat is de Aggregaat-functie) levert dit een reeks (matrix) opvolgende rijnummers op en dus de getallen: 1, 2, 3, 4 enz.

    Als je de formule =RIJ($A$1:$A$200)  in een cel zet en de cursor in de formulebalk zet en dan op F9 drukt, zie je een matrix met de getallen 1 t/m 200.

    (je kunt het ook zien door de formule naar beneden door te voeren en dan, terwijl alle doorgevoerde cellen nog zijn geselecteerd op Ctrl+Shift+Enter te klikken)

    Het gedeelte DEEL($A$2;1;RIJ($A$1:$A$200)) geeft een deel van de tekens van A2, te beginnen bij het eerste (1) teken en, steeds een teken meer (1, 2, 3 enz. veroorzaakt door de RIJ-functie) (ook weer in een matrix).

    [hier had ook dit kunnen staan: LINKS($A$2;RIJ($A$1:$A$200)) ]

    (dit wordt met F9 niet goed getoond, wel op de manier met het doorvoeren)

    Dan zie je ook dat vanaf het eerste niet-numerieke teken dit deel van de formule een fout (#WAARDE!) oplevert.

    In A2: 65025D.19

    Levert op: 6,65,650,6502,65025,#WAARDE!,#WAARDE!,#WAARDE!, enz.

    De Aggregaat-functie met de argumenten 14 en 7 levert de GROOTSTE waarde van de net genoemde matrix waarbij alle foutwaarden worden genegeerd.

    Dat komt dus neer op het getal dat voor het eerste niet-numerieke teken staat: 65025

    Als je daarvan de lengte bepaalt en er 1 bij optelt, heb je de positie van het eerste niet-numerieke teken in A2.

    Hopelijk is het iets duidelijker zo.

    Jan

    0 opmerkingen Geen opmerkingen

5 extra antwoorden

Sorteren op: Meest nuttig
  1. Anoniem
    2016-04-13T16:55:35+00:00

    Hallo Joyce,

    Je kan dit proberen:

    =AGGREGATE(15;6;SEARCH({"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z"};A2);1)

    Nederlandse versie:

    =AGGREGAAT(15;6;VIND.SPEC({"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z"};A2);1)

    AAGREGAAT(15;6 is hetzelfde als KLEINSTE met fout handeling.

    VIND.SPEC({"a";"b";"c";"d";"e" geeft fout, fout,fout,fout,fout,6 ....

    en aangezien we geen rekening willen houden met fouten blijft alleen 6 over.

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2016-04-14T09:58:14+00:00

    ook een mogelijkheid: 

    =MIN(ALS(ISFOUT(GETAL(MIDDEN(A3;RIJ(INDIRECT("1:"&LENGTE(A3);1));1)));RIJ(INDIRECT("1:"&LENGTE(A3);1));999999))

    Dit is een arrayformule. invoeren met control shift enter.

    0 opmerkingen Geen opmerkingen
  3. Anoniem
    2016-04-15T16:30:32+00:00

    Jan,

    Bedankt voor de mooie aanpassing, was die dag volop bezig geweest met het zoeken van meerdere strings met vinden.spec. Maar inderdaad, als je maar 1 letter zoekt kan je die beter berekenen.

    0 opmerkingen Geen opmerkingen