• 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.

Complexe if then else met lege cellen

Status
Niet open voor verdere reacties.

zipke1988

Gebruiker
Lid geworden
9 jan 2015
Berichten
34
Allen,

Ik heb jullie hulp nodig i.v.m. een complexe if then else in combinatie met lege cellen.

Ik heb een tabel met een hele roop rijen en 3 kolommen. Ik wil controleren of de waarden uit de kolommen overeenkomen, ZONDER de lege cellen in beschouwing te nemen.
Eenvoudig zou dit zijn: IF(A1=B1=C1;"ok";"nok"). Echter zitten er een hele reeks lege cellen in waardoor elke formule uitkomt op "nok" gezien een lege cel niet gelijk is aan een cel met een waarde in. Hoe kan ik met een complexe formule(?) deze lege cellen negeren en tot een controle komen?

Bestandje onderstaand. Is dit mogelijk zonder VBA - ik ken niets van VBA dus in principe moet het zonder VBA...

Bekijk bijlage Book1.xlsx

Alvast bedankt!
 

Bijlagen

  • excel.JPG
    excel.JPG
    26,1 KB · Weergaven: 72
Laatst bewerkt:
Mooi plaatje voor een photoshop forum. Plaats een excel bestand s.v.p.
 
Laatst bewerkt:
Forumetiquette: Niet QUOTEN s.v.p. Gebruik knop reageer op bericht of tekstvak "snel reageren" onderaan.

On-topic:
Code:
E2: =ALS(SOMPRODUCT(($B2:$D2<>"")/AANTAL.ALS($B2:$D2;$B2:$D2&""))=1;"OK";"NOK")
 
Volgens mij werkt dit ook, of zit ik helemaal verkeerd Alexcel

=ALS(EN(B2=C2;B2=D2);"Ok";"Nok")
 
Volgens je voorbeeld is het weer anders

ALS(OF(B2=C2;B2=D2;C2=D2);"Ok";"Nok")
 
AlexCEL, bedankt voor je reactie, dit werkt inderdaad voor het bestandje in bijlage.
Ik had het vereenvoudigd om te uploaden, maar mijn eigenlijke tabel ziet er iets anders uit (de kolommen staan niet naast elkaar).

Zie hier voor het bestandje.Bekijk bijlage Book2 - Copy.xlsx

De kolommen CODE moeten volledige genegeerd worden, en hebben niets te maken met de controle die ik wil uitvoeren. Enkel LAND moet in beschouwing worden genomen.

Bedankt!


wbvalk, ik test het even :)
 
Ik heb je 2 formules gemaakt
omdat ik niet zeker ben, als enkel bijvoorbeeld Spanje is ingevuld, dat dit dan geldt als "ok"

groeten,
 

Bijlagen

  • kopij100.xlsx
    9 KB · Weergaven: 32
de formule blijft gelijk enkel de kolomnaam veranderen

Code:
=ALS(OF(B2=D2;B2=F2;D2=F2);"Ok";"Nok")

als er OF staat mag er een lege cel bijzijn
Als er EN staat moeten ze alle 3 dezelfde waarde hebben.
 
Laatst bewerkt:
Deze geeft volgens mij de gewenste resultaten:
Code:
=ALS(SOMPRODUCT(IS.EVEN(KOLOM($B2:$G2))*($B2:$G2<>"")/AANTAL.ALS($B2:$G2;$B2:$G2&""))=1;"OK";"NOK")

Formule in post #10 gaat niet goed als er bijvoorbeeld Engeland-Engeland-Spanje staat. Volgens mij moet de uitkomst dan NOK zijn...
 
AlexCEL,

Inderdaad, de post #10 geeft mij OK bij Engeland-Engeland-Spanje, terwijl dit NOK moet zijn.
Jouw formule uit #11 werkt perfect! Bedankt! Kan je mij uitleggen wat de formule precies wil zeggen? Wat berekent de IS.EVEN?


Bedankt ook aan de rest!
 
Laatst bewerkt:
1. Je kunt het aantal unieke waarden in het bereik B2:G2 tellen met:
Code:
=SOMPRODUCT(1/AANTAL.ALS($B2:$G2;$B2:$G2[COLOR="#FF0000"]&""[/COLOR]))
Het rode deel zit erin om lege cellen (nulwaarden) om te zetten in tekst, waardoor deze geen foutmeldingen geven (delen door 0). De SOMPRODUCT zorgt ervoor dat deze functie als matrixfunctie wordt berekend door excel, oftewel dat de functie berekend wordt voor achtereenvolgens B2,C2,D2 etc. en de resultaten worden opgeteld. Ga ik verder niet op in...

2. We willen niet alle unieke waarden tellen, maar alleen die uit de EVEN kolommen (B, D, F) en alleen als die cel niet leeg is. Elk kolom heeft een nummer (op te vragen via functie KOLOM, A=1, B=2 etc.), de functie IS.EVEN controleert of we met een EVEN of ONEVEN kolomnummer te maken hebben. De waarden meenemen uit niet-lege cellen daar zorgt het gedeelte B2:G2<>"" voor. Deze 2 voorwaarden komen nu als volgt gecombineerd in plaats van de 1 in vorige formule:
Code:
=SOMPRODUCT([COLOR="#0000FF"]IS.EVEN(KOLOM($B2:$G2))*($B2:$G2<>"")[/COLOR]/AANTAL.ALS($B2:$G2;$B2:$G2&"")

3. De ALS functie zorgt ervoor dat als bovenstaande gelijk is aan 1 (oftewel in de niet-lege cellen in kolom B, D en F komt slechts 1 unieke waarde voor), dat dan de waarde OK getoond wordt en anders NOK.

Hopelijk voldoende uitleg zo.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan