Excel formule kloppend maken

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • basjuuhhh
  • Registratie: Juli 2013
  • Laatst online: 19:16
Mijn vraag

Ik heb een urenstaat vanuit Excel templates gebruikt, echter krijg ik de formule die Microsoft zelf heeft gegeven niet werkend voor mijn situatie.

Het originele bestand gaat namelijk uit van in/uit klok tijden en berekend daar je normale uren op + eventuele overwerk uren (>8). Ik ga geen overuren maken, maar ik ga juist gebruik maken van mijn ouderschapsverlof. Dit betekend dus kortere dag af en toe.

Nu is het zo dat ik mijn Excel niet netjes krijg qua waardes die overal zijn ingevuld etc.

Relevante software en hardware die ik gebruik
Office 365- Excel

Wat ik al gevonden of geprobeerd heb

Formule aangepast op diverse manieren, op google gezocht.

Voor de duidelijkheid is hieronder een screenshot van het probleem en dit de bijbehordende code:

Normale uren: =ALS.FOUT(ALS((((D3-C3)+(F3-E3))*24)>8;8;((D3-C3)+(F3-E3))*24); "")
Ouderschapsuren: =ALS.FOUT(ALS(((D3-C3)+(F3-E3))*24<8;((D3-C3)+(F3-E3))*24-8;0); "")


Afbeeldingslocatie: https://tweakers.net/i/GfC-koCia9JcmtYbNybbIpNzqI8=/800x/filters:strip_exif()/f/image/LQkUWUST03Rcn8BlPzD2w2EQ.png?f=fotoalbum_large

Probleem nu is dus dat er in de cel ouderschapsuren -8 staat terwijl er nog niks is ingevuld in de rest van de kolommen.

Ik zou het liefst zien:

Ik vul de in-uit tijden in op de bepaalde dag en als dat lager is dan 8 vult hij het tekort in kolom ''ouderschapsuren'' in.

Wat doe ik verkeerd in de formules?

Alle reacties


Acties:
  • 0 Henk 'm!

  • Duke of Savage
  • Registratie: April 2023
  • Laatst online: 19-09 15:08
Lege cellen = 0
In je formule trek je 8 af.
Resultaat = -8
Klopt dus?

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

Waarom 2x bijna dezelfde formule ? je kan toch -8 van de normale uren doen

je contract is 32 uur per week stel je draait 28.8 normale uren = 32(contract uren)-28.8(gewerkte uren) = 3.2 (opgenomen ouderschaps verlofuren)

Tja vanalles


Acties:
  • 0 Henk 'm!

  • basjuuhhh
  • Registratie: Juli 2013
  • Laatst online: 19:16
Bedankt voor jullie antwoorden, ik ben niet zo thuis in Excel vandaar ook een template gedownload.

Ik snap de logica achter wat Duke zegt, echter krijg ik het niet opgelost zoals ik zou willen.

Ik zou natuurlijk ook gewoon in de kolom ouderschapsuren: =8-G4 kunnen neerzetten, maar dan blijft Excel met 8 komen totdat ik de tijden invul.

Ik wil niet op elke dag tijden invullen aangezien ik flexibel werk. Ook de ouderschapsuren zijn flexibel op een dag.

Ik wil eigenlijk pas dat hij de ouderschapsuren per dag berekend als ik de in-uit tijden heb ingevuld.

Acties:
  • 0 Henk 'm!

  • StarC
  • Registratie: Juni 2003
  • Laatst online: 20:06
Volgens mij kan je in plaats van ALS.FOUT ook ALS(ISLEEG) gebruiken; Dan laat je die checken of de kolom de cel in de 1e kolom 'in' leeg is. Als deze leeg is dan kan het vervolg van de ALS formule "" zijn, als deze niet leeg is kan je een formule die ziet op 8 - het aantal gewerkte uren.

Acties:
  • 0 Henk 'm!

  • loeberce
  • Registratie: Februari 2009
  • Laatst online: 20-09 14:07
basjuuhhh schreef op woensdag 13 december 2023 @ 13:36:
Bedankt voor jullie antwoorden, ik ben niet zo thuis in Excel vandaar ook een template gedownload.

Ik snap de logica achter wat Duke zegt, echter krijg ik het niet opgelost zoals ik zou willen.

Ik zou natuurlijk ook gewoon in de kolom ouderschapsuren: =8-G4 kunnen neerzetten, maar dan blijft Excel met 8 komen totdat ik de tijden invul.

Ik wil niet op elke dag tijden invullen aangezien ik flexibel werk. Ook de ouderschapsuren zijn flexibel op een dag.

Ik wil eigenlijk pas dat hij de ouderschapsuren per dag berekend als ik de in-uit tijden heb ingevuld.
Dan moet je een ALS formule toevoegen die eerst kijkt of de cell met de in-tijd leeg is. Indien niet leeg, dan checken met 8 uur in de normale uren kolom.

Acties:
  • 0 Henk 'm!

  • GWBoes
  • Registratie: Juni 2007
  • Laatst online: 16:22
waarschijnlijk niet de netste oplossing maar ik zet er in zo'n geval vaak:

=als(isleeg(A1);0;formule)

Bij A1 dan de cell invullen waar sowieso waardes komen en bij formule je huidige functie

Dan zet hij een 0 als uitkomst als er niks in de cell staat

Flickr - Strava


Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 17:57

g0tanks

Moderator CSA
code:
1
Ouderschapsuren: =ALS.FOUT(ALS(((D3-C3)+(F3-E3))*24<8;((D3-C3)+(F3-E3))*24-8;0); "")


In deze formule staat nu [gewerkte uren - 8], maar je wil toch [8 - gewerkte uren]? Dan moet je die 8 er voor zetten:

code:
1
Ouderschapsuren: =ALS.FOUT(ALS(((D3-C3)+(F3-E3))*24<8;8-((D3-C3)+(F3-E3))*24;0); "")


En voor de rest inderdaad een ALS() gebruiken zoals hierboven gesuggeerd. Je kan kijken of de In-tijd is ingevuld met ISLEEG(), of misschien nog handiger of de de normale uren groter zijn dan 0.

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • basjuuhhh
  • Registratie: Juli 2013
  • Laatst online: 19:16
Bedankt voor de input.

Ik heb hem nu wat herschreven naar iets eenvoudigers denk ik zelf:

Heb in de kolom ouderschapsuren nu: =ALS(G4>1;8-G4;0)

Dus de normale uren moeten boven 1 uitkomen wil de kolom ouderschapsuren werken.

Excel komt nog wel met een inconsistente formule, maar hij doet wel wat ik wil.
Pagina: 1