• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Deel van een tekst tekst vinden

Status
Niet open voor verdere reacties.

Numan61

Gebruiker
Lid geworden
7 aug 2016
Berichten
9
Hoi,

Ik heb een formule nodig die ik kan gebruiken bij het zoeken naar een bepaald tekst in een cel. Als die tekst of een deel er van wordt gevonden dan moet er een bepaalde waarde er bij gezocht worden. Even een voorbeld

Kolom A Kolom B Kolom C D

Peter 01 Peter is jarig Formule
Karel 02 Wim en KAREL zijn aan het spelen
Hans 03 Ziek is Hans


Stel dat dus 'Peter' voorkomt in kolom 'C' dan moet de waarde uit kolom 'B' weergegeven worden in kolom 'D'. Formule moet zowel voor hoofd- als kleine letters gelden. Als er geen waarde gevonden kan worden mag de waarde 'nul' zijn in kolom D.

Ik hoop dat iemand mij kan helpen.

Alvast dank.
Numan
 
Welkom op het forum

In excel2007nl in cel D1
Code:
=ALS(ISFOUT(VIND.SPEC(A1;C1;1));0;B1)

P.S. bij wat moeilijkere vragen is een klein anoniem voorbeeldbestandje makkelijker, helpers houden er niet van complete bestanden na te bouwen.
 
Laatst bewerkt:
Dank voor de snelle reactie alphamax.

Ik heb de vraag denk ik niet helemaal goed gedefinieerd. Als ik de omschrijving (kolom c) aanpas dan verandert mijn resultaat niet. Ik heb in de bijlage een voorbeeldbestand opgenomen om mijn vraag te illustreren. Zou je daar even naar willen kijken.

Dank
Numan
 

Bijlagen

Probeer eens:
Code:
=ALS(ISGETAL(VIND.SPEC($A$2;$C2;1));$B$2;ALS(ISGETAL(VIND.SPEC($A$3;$C2;1));$B$3;ALS(ISGETAL(VIND.SPEC($A$4;$C2;1));$B$4;"")))
 
Hoi Rob,

Top, dit is inderdaad de formule die ik moest hebben.

Dank je wel.

Groet,
Numan
 
Numan,

Graag gedaan. Weet dat je zo beperkt bent tot zeven opties, maar als dat voldoende is, wil je dan de vraag op opgelost zetten?
 
Hoi Rob,

7 is minder goed nieuws :-) Ik heb ongeveer 25 omschrijvingen/codes waaruit gezocht moet worden. Ik dacht ik kopieer de formule maar dat gaat dus niet na 7 codes/omschrijvingen. Heb jij hier een oplossing voor?

Numan
 
Numan61 zei:
Stel dat ik nu in cel C3 het volgende intyp: 'Peter is ziek' dan verandert D3 niet.
Bedoeling is dat dit meeverandert omdat Peter voorkomt in kolom A.
Wat moet er in dat geval in D3 komen te staan?
En wat moet er in D3 komen te staan als de tekst in C3 geen naam uit kolom A bevat?
 
Laatst bewerkt:
De vraag is als volgt:

Als een naam in kolom A voorkomt in een omschrijving in kolom C dan moet gezocht worden naar de code van de naam in kolom B, en deze waarde/code moet weergegeven worden in kolom D.


Kortom, Wat moet er in dat geval in D3 komen te staan? ==> Peter


En wat moet er in D3 komen te staan als de tekst in C3 geen naam uit kolom A bevat?==> nul
 
Top, dit is inderdaad de formule die ik moest hebben.
Dat is dan wel in strijd met wat je in bericht #9 schrijft.
De formule van robdgr kijkt alleen of een naam die in een bepaalde rij in kolom A voorkomt in dezelfde rij in kolom C voorkomt.
Uit je laatste bericht blijkt dat als een naam in kolom C voorkomt en die komt in om het even welke rij in kolom A voor, dat dat ook als een positief resultaat moet worden beschouwd. Dat laatste (controleren of een naam die in een willekeurige tekst van een willekeurige rij inkolom C voorkomt, ook in kolom A voorkomt, dat kun je moeilijk in 1 formule vangen als niet bekend is op welke naam moet worden gecontroleerd. En dat is hier het geval, als ik je tenminste goed heb begrepen.
Dat is al een onduidelijkheid en ook niet duidelijk ben je waar je enerzijds schrijft dat in kolom D de code van kolom B moet komen, en anderzijds dat er in kolom D een naam (in jouw voorbeeld "Peter") moet komen. Dus het blijft gissen.

Als je louter het resultaat wil weten dat de formule van robdgr geeft, dan hoef je geen 25 x 'als' te herhalen (wat zoals robdgr terecht zegt moeilijk zal gaan). Dat kan dat ook met deze formule in D2 (en die naar beneden kopiëren):
Code:
=ALS.FOUT(ALS(VIND.SPEC(A$2:A$100;C$2:C$100);B2);0)
 
Laatst bewerkt:
Hoi Zapatr,

In de bijlage heb ik een voorbeeldbestand opgenomen waarbij ik de formules heb vergeleken. Daarmee bedoel ik de formule van Rob en jouw formule (laatste formule) met wat voorbeeldinfo. De formule van Rob geeft het gewenste resultaat. Nadeel is dat dit formule omslachtig is en dat ik handmatig de formule moet uitbreiden (ik heb dit tot 15 waardes getest en gaat goed). Maar misschien kan de formule 'herschreven' worden zodat alleen doortrekken voldoende is.

Numan
 

Bijlagen

Ik zou deze matrixformule gebruiken:

PHP:
=SUM(NOT(ISERR(SEARCH(A$3:A$5;C3)))*B$3:B$5)
 
Dank voor de formule nog een vraag en dan ben ik er. Als er geen waarde wordt gevonden wil ik dat de cel 9999 aangeeft. Ik heb de reguliere als en als.fout er voor gezet maar hij blijft '0' geven.
 
Mij lijkt 0 even duidelijk/onderscheidend als 9999
 
niet helemaal :-) het (grootboek)schema bestaat uit 4 karakters en 9999 is de 'laatste' rekening.
 
Deze geeft 9999:
Code:
=ALS(OF(ISFOUT(SOM(NIET(ISFOUT(VIND.SPEC(A$3:A$5;C3)))*B$3:B$5));SOM(NIET(ISFOUT(VIND.SPEC(A$3:A$5;C3)))*B$3:B$5)=0);9999;SOM(NIET(ISFOUT(VIND.SPEC(A$3:A$5;C3)))*B$3:B$5))
 
PHP:
=if(sum(not(iserr(search(a$3:a$5;c6)))*b$3:b$5)=0;9999;sum(not(iserr(search(a$3:a$5;c6)))*b$3:b$5))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan