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

Een '0' of een '1''...

Status
Niet open voor verdere reacties.

fun_surfer

Gebruiker
Lid geworden
25 aug 2001
Berichten
621
Beste allemaal, ik ben mijn urenlijst aan het automatiseren maar hierbij stuit ik op een onmogelijkheid voor mij. Ik wil in kolom 'E' een '0' hebben staan als ik in kolom 'A' een datum invul. Als ik echter in kolom 'B' ook een tijd invul wil ik dat die '0' in kolom 'E' veranderd in een '1'. Hoe doe ik dit? Ik denk dat het met '=ALS' moet gedaan worden maar zelf kom ik er niet uit :confused:

EDIT:
Kan het hier wat mee te maken hebben?
 
Laatst bewerkt:
Moet de kolom E ook leeg zijn als je geen datum of tijd ingevuld hebt. Als dat niet zo is kun je in kolom E de volgende Functie invoegen:

=ALS(B3;1;0)

Moet de kolom leeg zijn dan zijn er vollop manieren om dit te doen in 1 formule, maar het is vaak makkelijker om met hulpkolommen te werken. Op die manier blijft het nog een beetje overzichtelijk, want een formule van 80 tekens wijzig je niet 1,2,3.

Mocht je er zo niet uitkomen dan moet je maar een voorbeeldje van het spreedsheetje erop zetten, dan maak ik het wel in orde voor je.
 
gebruik de functie EN in de functie ALS

ALS(EN(A2<>"";B2<>"");"0";ALS(EN(A2<>"";B2="");"E";""))

Hiermee gebeurt het volgende:
als A2 en B2 gevuld zijn dan wordt in de cel een 0 gezet
Is alleen A2 gevuld, dan wordt er een E in de cel gezet
en zijn geen van deze 2 condities waar, dan wordt er niets in de cel gezet.

Groetjes,
Olav
 
Laatst bewerkt:
Volgens mij doet hij dan niet helemaal wat hij vraagt.
Als er in kolom A een datum ingevuld wordt, moet in kolom E een 0 komen en als er daarnaast in kolom B ook nog een tijd wordt ingevuld, dan moet de 0 in kolom E veranderen in een 1.

Dit zeg ik toch goed...?
 
Geplaatst door grafiservice
Volgens mij doet hij dan niet helemaal wat hij vraagt.
Als er in kolom A een datum ingevuld wordt, moet in kolom E een 0 komen en als er daarnaast in kolom B ook nog een tijd wordt ingevuld, dan moet de 0 in kolom E veranderen in een 1.

Dit zeg ik toch goed...?
Oeps iets te snel gelezen denk ik
Ik zal het nog eens aandachtig lezen en aanpassen.

Ok, dit moet het zijn:
IF(AND(A2<>"";B2<>"");"1";IF(AND(A2<>"";B2="");"0";""))

Als in kolom A EN in kolom B iets staat dan wordt er een 1 gezet.
Als in kolom A iets staat en in kolom B niets staat, wordt er een 0 gezet.
Staat er in beide kolommen niets, dan wordt er ook niets in de cell gezet.

Olav
 
Laatst bewerkt:
Met een kleine aanpassing werkt het wel;
ALS(EN(A1<>"";B1<>"");1;ALS(EN(A1<>"";B1="");0;""))
 
Je was me net voor:


=ALS(EN(A4<>"";B4<>"");"1";ALS(EN(A4<>"";B4="");"0";""))
 
oeps betrapt... Ja ik heb de engelse versie LOL :o
 
Die van mij ziet er nog iets anders uit. bij jouw wordt de 0 en 1 als tekst gezien, en bij mij als een getal. Het is een kleinigheid maar als fun surfer met die getallen wil gaan rekenen dan kan dat niet als het getal er als tekst staat.
 
Geplaatst door Olav

ALS(EN(A2<>"";B2<>"");"1";ALS(EN(A2<>"";B2="");"0";""))
Deze werkt perfect, maar wat doet hij nu precies? Waarom moet hij zo worden opgesteld als deze nu? Wat doen bijv. die '<>' en wat is de werking van 'EN'? Met andere woorden, kun je deze formule zo uitleggen dat ik hem in het vervolg ook kan bedenken ipv blind natypen? Ik zou bijv. ook in kolom 'D' en 'F' iets hebben dat er of een formule wordt uitgewerkt of als de formule die berekend moet worden niet uitvoerbaar is dat de cel dan leeg blijft. Ik heb mijn werklijst in ZIP-vorm als bijlage. Graag commentaar of verbeteringen, het is nog allemaal nieuw voor me (ben er pas 2 weken mee bezig) en leer graag!
 
Laatst bewerkt:
Aangezien de tijd alleen zal worden ingevuld als ook de datum is ingevuld, kun je volstaan met:
=als(b1<>"";1;als(a1<>"";0;""))

Opm: Zowel de opl. van huijb als die van mij kijken alleen of er in de a- en b-kolom iets is ingevuld, niet of er in die kolommen een datum of tijd is ingevuld.
Als je daarop wil controleren is een uitgebreidere oplossing nodig.
 
Geplaatst door fra
Aangezien de tijd alleen zal worden ingevuld als ook de datum is ingevuld, kun je volstaan met:
=als(b1<>"";1;als(a1<>"";0;""))

Opm: Zowel de opl. van huijb als die van mij kijken alleen of er in de a- en b-kolom iets is ingevuld, niet of er in die kolommen een datum of tijd is ingevuld.
Als je daarop wil controleren is een uitgebreidere oplossing nodig.

Als je het perfectionistisch wilt doen heb je gelijk, alleen in het geval van een uren sheet, lijkt het me dat er altijd een datum bij een tijd staat.

Olav
 
Met die formule doe je eigenlijk 3 zaken:

Door de formule te splitsen en even apart in kolommen te zetten kun je hem wat makkelijker begrijpen.

Een ALS functie doet niet meer dan kijken of iets waar is of niet, vervolgens koppelt hij daar een aktie aanvast of een waarde die weergegeven moet worden.

In dit geval bestaat de vergelijkingswaarde ook weer uit een functie. In dit geval een EN functie met daarin weer een ALS functie.

Op deze manier kun je dus in tegenstelling tot een normale ALS functie, niet twee maar meerdere waarden in een cel laten plaatsen.
In dit geval dus:
Bij Kolom A en B leeg, niets
Bij Kolom A vol, B leeg, een 0
Bij kolom A vol EN B vol, een 1


Slimste en eenvoudigste manier om een ingewikkelde functie te bouwen is dit in stapjes te doen in verschillende kolommen en hem dan later samenvoegen met knippen en plakken. Suc7
 
Geplaatst door fun_surfer

ALS(EN(A2<>"";B2<>"");"1";ALS(EN(A2<>"";B2="");"0";""))

Deze werkt perfect, maar wat doet hij nu precies? Waarom moet hij zo worden opgesteld als deze nu? Wat doen bijv. die '<>' en wat is de werking van 'EN'? Met andere woorden, kun je deze formule zo uitleggen dat ik hem in het vervolg ook kan bedenken ipv blind natypen? Ik zou bijv. ook in kolom 'D' en 'F' iets hebben dat er of een formule wordt uitgewerkt of als de formule die berekend moet worden niet uitvoerbaar is dat de cel dan leeg blijft. Ik heb mijn werklijst in ZIP-vorm als bijlage. Graag commentaar of verbeteringen, het is nog allemaal nieuw voor me (ben er pas 2 weken mee bezig) en leer graag!

De functie EN doet eigenlijk wat hij zegt. Met een normale ALS vergelijking vergelijkt hij maar slechts 1 conditie, met de EN er tussen worden meerdere condities gecontroleerd. Dus of cel A1 EN B1 een bepaalde waarde heeft. Er mogen met de functie EN maximaal 30 condities worden gecheckt.

<> is een zogenaamde operator. Deze (<>) houdt in niet geljk aan.
Zo heb je de volgende operators:
= is gelijk aan
> is groter dan
< is kleiner dan
>= is groter of gelijk aan
<= is kleiner of gelijk aan
<> is niet gelijk aan.

doordat er aan het einde van de formule ;"" staat (dit is de "als het niet waar is" in de ALS formule) wordt er niets geplaatst in de cel in het geval geen van 2 gecontroleerde situaties overeen komt. Dus in dit geval als alleen de tijd is ingevuld in kolom B en niets in kolom A of als in kolom A en B niets is ingevuld. Zou je dat niet toevoegen, dan krijg je de melding FALSE in je cell.

Olav
 
Laatst bewerkt:
Met die formule doe je eigenlijk 3 zaken:

Door de formule te splitsen en even apart in kolommen te zetten kun je hem wat makkelijker begrijpen.

Een ALS functie doet niet meer dan kijken of iets waar is of niet, vervolgens koppelt hij daar een aktie aanvast of een waarde die weergegeven moet worden.

In dit geval bestaat de vergelijkingswaarde ook weer uit een functie. In dit geval een EN functie met daarin weer een ALS functie.

Op deze manier kun je dus in tegenstelling tot een normale ALS functie, niet twee maar meerdere waarden in een cel laten plaatsen.
In dit geval dus:
Bij Kolom A en B leeg, niets
Bij Kolom A vol, B leeg, een 0
Bij kolom A vol EN B vol, een 1


Slimste en eenvoudigste manier om een ingewikkelde functie te bouwen is dit in stapjes te doen in verschillende kolommen en hem dan later samenvoegen met knippen en plakken. Suc7
 
fun_surfer, uit je werkblad maak ik op dat je alleen data en tijden wil invullen als die afwijken van het normale werkpatroon, anders zou je in de F-kolom het aantal uren niet op 8 zetten als de overeenkomstige waarde in de D-kolom 0 is. Ik zou dat zelf zo niet doen, maar dat is uiteraard jouw keuze. Als je dat zo wil handhaven, dan kun je de formule in F6 (en onderliggende cellen) ook korter maken, aldus (voor F6):
als (d6=0;8;d6-e6)
 
nog even een schematisch tekeningetje van de functie code:

excel_IF.jpg
 
Helemaal begrepen zo, bedankt voor jullie duidelijke uitleg! Fra, zoals gezegd ben ik nog maar een week of 2 à 3 met Excel bezig en die kennis had ik inderdaad toen nog niet. Ik heb nu een andere formule ingebouwd, afgeleid van jullie antwoorden. Nu heb ik echter nog 1 probleem, mijn overwerk (B55)en mijn totaal aantal uren (F53) moet ik nog zo zien te krijgen dat hij niet op '-200' moet kunnen komen. Dit moet waarschijnlijk met 'ALS' maar de formule was al bijzonder uitgebreid en ik moet waarschijnlijk die formule combineren maar ik moet nog even uitvogelen hoe ik dit moet doen. Tips zijn altijd welkom natuurlijk!!!

Bijlage: gewijzigde versie van maandlijst.xls, jullie antwoorden zijn hierin verwerkt. ;)
 
Laatst bewerkt:
Typ in B55:
=SOM(ALS(F13>40;F13-40);ALS(F22>40;F22-40);ALS(F31>40;F31-40);ALS(F40>40;F40-40);ALS(F49>40;F49-40))
Loop al je andere formules nog eens na, want die in A53 bv. klopt niet.
 
Klopt, je hebt gelijk! Vroeger was het E6:E50, ik weet eigenlijk niet eens waarom ik dit heb veranderd...
Hoe moet ik de functie 'EN' correct gebruiken? Ik heb een formule in F6 '=ALS(D6<>"";D6-E6;"")'. Als ik nu een datum invul komt er bij mijn schaft een '0' te staan. Hoe combineer ik nu bovenstaande formule met een formule die een '8' in F neerzet als er een '0' in E staat en als er geen datum staat dat er niets wordt ingevuld? Ik kom niet helemaal uit het 'EN'-gebeuren... Ik heb zelf al een formule bedacht, maar als er geen datum staat in A komt er een foutmelding 'WAARDE' te staan :(
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan