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

Tijden vergelijken

Status
Niet open voor verdere reacties.

ErikBooy007

Terugkerende gebruiker
Lid geworden
24 mei 2007
Berichten
3.814
Goedemiddag dames en heren,

Recentelijk ben ik mijn logboek met vlieguren in een Excel-werkblad gaan bijhouden. Dat werkt op zich prima, ware het niet dat er zich een klein probleempje voordoet bij het vergelijken van tijden. In de bijlage een voorbeeld van één rij uit dit werkblad.

Een korte toelichting (alle kolomtitels en dergelijke heb ik hierin even weggelaten).

A: Datum
B: Vliegtuigtype
C: Vliegtuigregistratie
D: Pilot in Command
E: Vliegveld van vertrek
F: Tijd van vertrek (staat zonder dubbele punt genoteerd, is echter wel een time-value)
G: Vliegveld van aankomst
H: Tijd van aankomst
K: Aantal takeoff's
M: Aantal landingen
O: Tijd op een één-motorig vliegtuig
R: Totale vliegtijd
S: Mijn functie (PIC=Pilot in Command, SPIC=Student Pilot in Command, STU=Student)
T: Tijd gevlogen als PIC
V: Tijd gevlogen als instructie
Z: Lesnummer

Nu wat is het probleem? Ik wil dat kolom S automatisch ingevuld wordt. In grote lijnen werkt dat ook wel, maar er willen nog wel eens foutjes optreden.

Probleempje 1: Kolom R wordt automatisch berekend (H-F). V vul ik handmatig in (indien ik een deel van de vlucht instructie heb gevolgd). In T wordt dan automatisch het resterende deel ingevuld. Dat werkt in principe goed, alleen wordt soms in T 0:00 weergegeven terwijl daar niks moet komen te staan. Ik gebruik daarvoor de formule

Code:
=ALS(R1>V1;R1-V1;"")

Probleempje 2: Voor het invullen van kolom S gebruik is deze functie (wellicht heb ik dit niet handig gedaan)

Code:
=ALS(V1>0;ALS(R1>V1;"STU/SPIC";"STU");ALS(D1="E. Booij";"PIC";"SPIC"))

Wat is hier de bedoeling van...? Als kolom V (instructietijd) groter is dan 0, heb ik in ieder geval een deel als STU gevlogen, de vraag is dan of er ook nog een deel SPIC bij is (dat is als de totale vliegtuig groter is dan de instructietijd, R1>V1). Als er geen instructietijd is (V1 is niet ingevuld), dan heb ik de hele les als PIC of SPIC gevlogen. Als de Pilot in Command (kolom D) gelijk is aan "E. Booij", dan is het PIC, anders is het SPIC.

Wat is nu het frappante? Als je van tijd van aankomst (H) 12:00 maakt en van instructietijd (V) 1:00, dan werkt het wel naar behoren, eigenlijk altijd als de vluchtduur meer dan een uur is, werkt het en anders niet. Ik hoop dat jullie mij kunnen vertellen wat ik verkeerd doe. Mag ik soms niet zomaar tijden vergelijken / van elkaar aftrekken, etc?

Bij voorbaat dank voor de genomen tijd en moeite!
 

Bijlagen

  • test.xlsx
    8,4 KB · Weergaven: 22
Je probleem zit hem waarschijnlijk in kleine afrondingsverschillen, zie bijlage.
De formule vergelijkt 0:50 met 0:50, dus verwacht je dat deze waarden gelijk zijn. Kijk echter naar de laatste cijfers achter de komma, daar zie je een miniscuul verschil waardoor 0:50 <> 0:50
 

Bijlagen

  • formule.JPG
    formule.JPG
    57,5 KB · Weergaven: 44
Bedankt voor je reactie! Dat was al een beetje een vermoeden wat ik had... Het is een meer voorkomend probleem, ook in het programmeren met verschillende datatypen. Zou je me ook nog in de juiste richting kunnen wijzen, hoe ik mijn formules zo kan aanpassen dat het wel werkt zoals ik wil? :)
 
De waarden afronden op 8 à 10 getallen na de komma, via de functie "afronden"?
 
Dat valt te proberen, maar lijkt me eerlijk gezegd een omslachtige manier. Als iemand nog andere ideeën heeft blijven die welkom, WHER in ieder geval al bedankt voor de moeite!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan