Op 16-02-15 om 20:21 schreef VLB1:
Er zijn altijd situaties te bedenken dat met de geneste situatie
wenselijker is.
Ammehoela, die kende ik nog niet... :-) Voorbeeld?
Kijk eens naar deze code hieronder met een paar geneste ALS functies.
Heb ik lang geleden gemaakt voor een taxichauffeur die de nachturen
(00.00 tot 6.00u) met zijn spreadsheet wilde uitrekenen en er niet
uitkwam. De totale werktijd kon die wel zelf uitrekenen. Het werkt
alleen als de begintijd en eindtijd niet meer dan 48 uur uit elkaar liggen.
Niet om aan te zien, laat staan of iemand zich daar verder in wil
verdiepen.
A2 Begintijd
B2 Eindtijd
=ALS(EN(((A2-GEH.GET.(A2))>=0,25);((B2-GEH.GET.(B2))>=0,25));REST((AFRONDEN.NAAR.BOVEN(B2;0)-AFRONDEN.NAAR.BOVEN(A2;0));0,75);ALS(((A2-GEH.GET.(A2))>=0,25);REST((B2-AFRONDEN.NAAR.BOVEN(A2;0));0,75);ALS(((B2-GEH.GET.(B2))>=0,25);REST(((GEH.GET.(B2)+0,25)-A2);0,75);REST((B2-A2);0,75))))
En nu de zelfgemaakte functie NACHT() die de 48 uur beperking niet
heeft. Dat is toch veel overzichtelijker en wenselijker. :-)
REM ***** BASIC *****
Function Nacht(a as double, b as double)
Dim Minuten as integer
Dim I
Dim EenMinuut
Dim BeginTijd
Dim AchterKomma
Dim VoorKomma as integer
Dim NachtMinuten
Minuten=(b-a)*24*60
EenMinuut=0.000694444
BeginTijd=a
For I = 1 to Minuten
BeginTijd = BeginTijd + EenMinuut
AchterKomma = BeginTijd - int(BeginTijd)
If AchterKomma < 0.25 Then
NachtMinuten = NachtMinuten + 1
End If
Next I
Nacht=NachtMinuten
End Function
--
Antoon
Ubuntu Linux 3.13.0-24
LibreOffice Versie: 4.2.7.2
--
Unsubscribe instructions: E-mail to users+unsubscr...@nl.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/nl/users/
All messages sent to this list will be publicly archived and cannot be deleted