Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


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+unsubscribe@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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.