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

Tijd omzetten in getal

  • Onderwerp starter Onderwerp starter Dtox
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Dtox

Gebruiker
Lid geworden
23 apr 2019
Berichten
14
Goedenavond,

Ik heb een vraag hoe ik tijden om moet zetten in getallen, ik denk zelf dat het helaas niet gaat lukken, maar misschien dat iemand van jullie mij kan helpen.

Ik speel een online (text based) spel en moet hierin afstanden afleggen naar andere spelers.
De tijden naar de spelers toe worden als volgt weergegeven, vb: 1d 2h 3m 30s of 8h 3m 12s of 14m 45s. Hoe verder de speler hoe langer het lopen is.
Nu zet ik deze tijd om door de secondes te delen door 60 + de minuten en dat ook weer delen door 60 etc. dan komt er een getal uit.
vb: 1d 2h 3m 30s (30/60 = 0,5+3 = 3,5/60 =0,0583+2 = 2,0583/24 = 0,0857+1 =1,0857)

Ik doe dit handmatig, maar is er een manier in Excel die die tijd "leest" en deze zo omzet in een getal?

Ik hoop dat ik het een beetje duidelijk heb kunnen uitleggen.
 
excel zal dat ook netjes op dezelfde manier doen als jij.
Alleen hoe krijg je die tijd in excel, is dat een tekst "1d 2h 3m 30s" of iets anders ?
 
Dtox, kun je een Excel bestand plaatsen met daarin enkele tijden in de notatie zoals je die nu hebt?
 
Laatst bewerkt:
PHP:
=IFERROR(VALUE(SUBSTITUTE(LEFT(A1;3);"d";""));0) + TIMEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(RIGHT(A1;LEN(A1)-FIND("h";A1)+2);"h";":");"m";":");"s";""))
 
@Haije,
Zie bijlage.
Ik plak vanuit het spel de tijden in D1 t/m D10 en daarnaast (C1 t/mC10) de tijden gezien als cijfer.

@snb,
Als ik deze formule gebruikt komt er #NAAM? te staan.
 

Bijlagen

Als je een Nederlandstalige Excelversie gebruikt, wat moet je dan doen met ENGELStalige formules denk je?
 
Laatst bewerkt:
Super! Ik kom al een stuk verder, maar op een aantal punten werkt hij niet goed.
Bijvoorbeeld als er een aantal gegevens niet in staan. Zoals 9H 39s, maar dit zal wel lastig zijn denk ik? Want dat moet de formule een soort zelf nadenken dat hij die 39s deelt door 60 en de uitkomst dan nog eens deelt door 60 (aantal minuten). Ik doe hier handmatige 39/60 = 0,65/60 = 0,011+9 = 9,011/24 =0,375. De stap 0,65/60 moet wel gedaan worden want dat is het deel van een minuut.
 
Mijn gevoel zegt dat het te complex wordt als je steeds andere notaties hebt.
 
Gevoel is correct. De totale formule is lang geworden... misschien is het handiger te verwijzen naar de optelling naast de hulpkolommen. De celeigenschappen wel op "tijd" en "37:30:55" zetten..
 

Bijlagen

Laatst bewerkt:
Hier een opzetje met hulpkolommen.

Edit: Voor oudere versies dan office 365 is er ook in verwerkt
 

Bijlagen

Laatst bewerkt:
@Enigma.

Het is niet voor de hand liggend in VBA Excelfunkties te gebruiken in plaats van VBA methoden zoals 'replace'.

Kan als UDF ook zo:

Code:
Function F_snb(c00)
  ReDim sp(3)
  sn = Split(c00)

  For j = 0 To UBound(sn)
    sp(InStr("dhms", Right(LCase(sn(j)), 1)) - 1) = Val(sn(j))
  Next

  F_snb = sp(0) + TimeSerial(sp(1), sp(2), sp(3))
End Function
 
Laatst bewerkt:
Super!!!
Hartstikke bedankt voor alle snelle reacties! Ik heb het nu precies zoals ik het wou hebben, dit scheelt een hoop tijd!
Nogmaals bedankt! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan