<
benj...@ticweb.nl> schreef in bericht
news:d654fd67-4630-4309...@googlegroups.com...
>Ik wil als ik een aantal woorden heb dat wanneer er bepaalde woorden erin
>voorkomen de waarde "1 geeft en anders een 0".
>Ik heb nu deze:
>=ALS(ISFOUT(VIND.SPEC("waar";A2;1));"1";"0")
>Als het woord "waar" erin voorkomt moet het een 1 geven, maar hij doet het
>precies andersom. Hoe kan dit?
Als in A2 het woord (de tekst) "waar" staat, dan wordt dat door
vind.spec(...) gevonden.
De functie vind.spec(...) gaat dus goed.
De functie isfout(...) geeft dus als resultaat onwaar, in de betekenis van
"er is geen fout gevonden".
De functie als(x;y;z) doet y als x waar is, en z als x onwaar is.
En aangezien x onwaar is, doet ie dus z, in jouw geval de "0"
Kort samengevat: woord gevonden geeft uiteindelijk met bovenstaande formule
een nul. Dat betekent dat de "0" en de "1"verwisseld moeten worden om het te
laten werken zoals jij wilt.
>Als ik de "isfout" weghaal en de waarde kan die niet vinden dan geeft die
>#waarde! terwijl er een 0 moet komen te staan.
Dat is inderdaad het standaardgedrag van excel.
>Daarnaast wil ik dat die één van de woorden: "waar" "hoe" en "wie" moet
>kunnen vinden. Hoe zet ik dit in de te "zoeken waarden"?
Bedoel je dat in A2 een woord staat, en dat je met een formule wilt testen?
Dan is wellicht de volgende een oplossing:
=ALS(ISFOUT(VIND.SPEC(A2;"waar, hoe, wie";1));"0";"1")
De functie vind.spec(...) kijkt namelijk of het eerste argument (A2) vookomt
in het tweede ("waar, hoe, wie").
En dat is andersom dan je bij een aantal functies ziet.
Als in A2 een hele zin kan staan, dan moet je voor "waar", "hoe" en "wie"
apart testen.
=ALS(ISFOUT(VIND.SPEC("...";A2));"0";"1")
Groet,
TR