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

rekenen met tijden

Status
Niet open voor verdere reacties.

Rik Blok

Gebruiker
Lid geworden
23 mei 2003
Berichten
29
Probleem: 1
Voor een insuline calculator heb ik de dag verdeeld in tijd fasen
Tijd
8:00 10:30 13:00 15:30 18:00 20:30 24:00
Cel namen
B3 B1 C3 C1 D3 D1 E3
De tijden op regel 3 worden ingegeven door de gebruiker.
De tijden op regel 1 worden berekend.
Afhankelijk van het dagdeel wordt de insuline toediening anders uitgerekend.

Inhoud cel F23
Code:
=ALS(EN($A1>=$B3;$A1<=$B1);"ontbijt";ALS(EN($A1>=$B1;$A1<=C3);"Bijspuiten";ALS(EN($A1>=$C3;$A1<=$C1);"lunch";ALS(EN($A1>=$C1;$A1<=$D3);"Bijspuiten";ALS(EN($A1>=$C1;$A1<=$D1);"diner";ALS(EN($A1>=$C3;$A1<=$E3);"Bijspuiten"))))))
IN A1 staat: de tijd getypt .
Cel eigenschap: tijd 13:30

Inhoud cel B22:is gelijk aan inhoud van cel F23, alleen A1 is vervangen door B19
In B19 staat: =nu()
Cel eigenschap: tijd 13:30

Cel F23 werkt prima, maar Cel B22 niet > uitkomst altijd ONWAAR

Waarom werkt het NU commando niet?
Iets met serieel getal?

Probleem 2
Hoe test ik de nacht?
Code:
Als(en($A1>=$E3;$A1<=B3);”bijspuiten”) geeft ONWAAR

Vast bedankt voor de moeite
 
Laatst bewerkt door een moderator:
Dag Rik

Kan je je mooi voorbeeld niet in een excel bestand plaatsen,dat is duidelijker voor alle die je willen helpen aan een oplossing.
 
ipv dat allemaal te typen had je beter het bestand -met dummygegevens - gepost.
Zo hoeven wij dat niet allemaal over te typen.

NU() levert 23/08/2012 11:04
en jij hebt enkel 11:04 nodig,
dus als je nu() vergelijkt met 11:04 zal het nooit kloppen.
 
Laatst bewerkt:
ipv dat allemaal te typen had je beter het bestand -met dummygegevens - gepost.
Zo hoeven wij dat niet allemaal over te typen.

NU() levert 23/08/2012 11:04
en jij hebt enkel 11:04 nodig,
dus als je nu() vergelijkt met 11:04 zal het nooit kloppen.

Beste Cobbe
Nee hoor, want ik heb met opmaak de juiste weergave in de cel.
Er wordt door excel opgeslagen als seriel getal, maar dat zie je niet.
Ik denk dat die serilele opslag het probleem is.

rik
rik
 
Ja dat kan kloppen maar de opmaak bepaalt niet de waarde van de cel:

23/08/2012 11:04 wordt opgelsagen als 41144,46111

23/08/2012 = 41144
11:04 = 0,46111

Dus moet je vergelijken met 0.46111 om resultaat te hebben.
 
Laatst bewerkt:
testen in de nacht

Vraag 2 testen in de nacht heb ik zelf al opgelost
 
Kun je de oplossing in #7 die je hebt gebruikt ook even plaatsen.

Dan kunnen medeforumleden daar ook van leren.
 
Beste Oeldere

Mijn vraag 2 was bedoeld om excel te laten bepalen op basis van de tijd van de dag, dat er vanaf 23:00 uur tot de volgende morgen 8:00 uur in het veld moest komen "bijspuiten"
de oplossing is om achter die lange formule te zetten ";"bijspuiten".
Immers als aan geen van de voorwaarden voldaan is, dan is het "bijspuiten.

groetjes

rik
 
Na enig zoeken en proberen heb ik de volgende oplossing gevonden, waarbij geen gebruik wordt gemaakt van VB

Rekenen met uren in Excel

Als je uren opgeeft in een cel met als opmaak tijd 13:30, zie je ook inderdaad 13:30 staan, maar het wordt opgeslagen als een decimaal getal.

Wil je deze uren vergelijken met de tijd van vandaag, dan kan je de NU() functie gebruiken.
Je ziet dan inderdaad de tijd, maar hij wordt opgeslagen als een groot getal met decimalen, waarbij de cijfers voor de komma de datum van vandaag zijn.
Je kunt dus niet rekenen met opgegeven uren en die vergelijken met NU().

Als je een tussenveld maakt (opmaak tijd uren 13:30) waarin vandaag() afgetrokken wordt van NU(), zie je als resultaat 0,00, maar het wordt opgeslagen als een getal met alleen decimalen.

Voorbeeld:
NU() = 15483,123456789

VANDAAG() = 15483

NU () min VANDAAG() = 0,123456789 en dat wordt weergeven als een tijd in uren.

Nu kan je dus rekenen en vergelijken met ingegeven uurvelden, want die hebben vergelijkbare getal waarden.
 
En wat is nu het verschil met post #6 ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan