Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Anders (software)

in Excel tyd optellen met notatie JJ:DDD:UU:MM:SS

Anoniem
Droopy
14 antwoorden
  • Bovenstaand is de vraag. ik heb al geprobeerd met tekst naar kolommen en optellen, maar het lukt me van geen kant.

    welk excel expert weet de oplossing?
  • Met maanden lukt mij ook niet. Gebruik: JJ:UU:MM:SS
    dan lukt hetmij wel op te tellen. De invoor moet je wel aanpassen. 12 sec is 0:0:12
  • Opmaak/Celeigenschappen: Kies Tijd of Datum of Aangepast. In alle drie gevallen kun je de passende notatie kiezen.
    Voorbeeld:
    Voor hele kolom a of een aantal cellen deze celeigenschap kiezen,
    in cel a1: [i:f5d6df5ef7]31-7-2003 9:30:45[/i:f5d6df5ef7]
    in cel a2: [i:f5d6df5ef7]9-3-1979 14:25:15[/i:f5d6df5ef7]
    in cel a3: [i:f5d6df5ef7]=a1-a2[/i:f5d6df5ef7]
    Resultaat weergegeven in a3: dagen-maanden-jaren uren:minuten. Seconden kunnen wel worden genoteerd, maar werden bij mij niet in de berekening weergegeven.

    Overigens is het me een raadsel wat je je voorstelt bij optellen van datums, zoals in de titel staat vermeld.

    Jan de Boer
  • Ontdek hier een heel raar verschijnsel:
    Bij het resultaat wordt één maand teveel opgegeven. bij aftrekken van twee geheel identieke notaties is nl. het resultaat 0-01-00 0:00.
    Merkwaardig, nooit eerder opgevallen!

    Jan de Boer
  • Bedankt voor je antwoord, maar deze notatie is iig niet standaard in excel
    zodat er een foefje moet zijn om het toch voor elkaar te krijgen.

    de bedoeling is dus:

    jj:ddd:uu:mm:ss……. jj:ddd:uu:mm:ss……. jj:ddd:uu:mm:ss
    00:255:15:05:59……. 00:001:48:50………… 00:255:16:54:49
    00:255:16:54:49……. 00:006:51:12………… 00:255:11:19:25


    etc…..
  • [quote:4b8748ad73="Droopy"]Bedankt voor je antwoord, maar deze notatie is iig niet standaard in excel
    zodat er een foefje moet zijn om het toch voor elkaar te krijgen.

    de bedoeling is dus:

    jj:ddd:uu:mm:ss……. jj:ddd:uu:mm:ss……. jj:ddd:uu:mm:ss
    00:255:15:05:59……. 00:001:48:50………… 00:255:16:54:49
    00:255:16:54:49……. 00:006:51:12………… 00:255:11:19:25


    etc…..[/quote:4b8748ad73]Ik moet toch opmerken dat je je vergist. Ik heb het uitgeprobeerd, en het werkte. Allereerst noem je in je voorbeeld jj:ddd:uu:mm:ss het dagnummer ddd. In mijn versie (1995) kan ik dat volgens mij niet doen, en moet ik echt dag-maand-jaar opgeven. Mogelijk dat dit in de nieuwere versies van Exel wel kan. De notatie die ik je gaf is iig. wel terdege een standaardnotatie. Het verschil is nl. de datum- en tijdnotatie:

    Datum: dd-mm-jjjj dus met liggende streepjes als scheidingsteken.
    Tijd: uu:mm:ss dus met een dubbele punt als scheidingsteken.
    Dus een volledige notatie wordt dd-mm-jjjj uu:mm:ss (datum en tijd enkel gescheiden door een spatie).

    Verder ging ik uit van de datuminstelling zoals die bij mezelf in Configuratiescherm/Landinstellinge/Datum is ingesteld. Als je daar kiest voor de notatie jjjj-mm-dd, moet die ook toegepast worden in Exel, en wordt dat de standaardnotatie. Daar kun je desgewenst ook voor datum en tijd hetzelfde scheidingsteken kiezen, dus daar hoeven we geen discussie over te voeren.
    Hoe dan ook, je standaardnotatie wordt weergegeven onder Opmaak/ Celeigenschappen. En in elk geval kun je zondermeer rekenen met correct ingevulde waarden, zoals weergegeven in die standaardnotatie.

    Alles wordt verder vrij duidelijk uitgelegd onder Help/Index: Datum.

    Wat je vervolgens precies wil met je voorbeeld
    jj:ddd:uu:mm:ss……. jj:ddd:uu:mm:ss……. jj:ddd:uu:mm:ss
    00:255:15:05:59……. 00:001:48:50………… 00:255:16:54:49
    00:255:16:54:49……. 00:006:51:12………… 00:255:11:19:25
    is me niet helemaal duidelijk. Ik neem aan dat die puntjes niets betekenen, en enkel dienen om de kolomscheiding aan te geven.

    Jan de Boer
  • Bedankt voor je antwoord jan.

    Maar ik kom er zo niet uit.
    Verder heb ik het idee dat of het niet kan of je het niet snapt dat ik juist de maand notatie hierin wil overslaan dus jaar dagen uren minuten seconden zou willen en dat dat zuiver als tijd en niet als datum notatie bedoelt is.

    Ik hoop dat je het nog wat wilt uitspitten voor me.


    Misschien dat ik dan toch iets moet doen met tekst naar kolommen, optelling en iets met als() >60. maar ik weet alleen niet hoe dat gaat.
  • Eén ding, met tekst in kolommen kun je geen rekenkundige bewerkingen doen. Exel herkent gewone getallen automatiesch als standaard, en bijzondere waarden zoals datum en tijd als aangepast, mits in een voor Exel geldende notatie.

    Je zult het dus met dd-mm-jjjj uu:mm moeten doen. dd-mm-jjjj uu:mm:ss, dus met seconden erbij, kan ook, maar deze worden niet meeberekend. Geef je de voorkeur aan het jaartal voorop, dan moet dit vantevoren worden geregeld in Landeninstelling in het configuratiescherm.

    Volgens mij behoort jjjj-ddd, dus dagnummer (b.v. 11 februari = 042) niet tot de beschikbare geldige notaties. Best mogelijk dat er een formule voor geschreven kan worden die een datum omrekent in een dagnummer. Maar dat moet dan gekoppeld worden aan de tijd, en ik vrees dat dat een flinke klus wordt. Misschien een uitdaging voor deze of gene.

    Jan de Boer
  • Dus voorlopig moet ik toch de maanden erbij doen?

    Ik hoop dat er nog een op dit forum is die een andere manier weet.

    Bedankt iig jan voor het meedenken.
  • [quote:40d8bbe55a="Droopy"]Dus voorlopig moet ik toch de maanden erbij doen?

    Ik hoop dat er nog een op dit forum is die een andere manier weet.

    Bedankt iig jan voor het meedenken.[/quote:40d8bbe55a]

    Ik zal e.e.a. nakijken voor je. Een ander forum waar misschien meer experts rondlopen is http://www.officeforum.nl

    Groet,
    Jacco
  • Bedankt, ik zal alvast eens op dat forum rondkijken.
  • Hallo Droopy,

    Hier is inderdaad geen standaard functie voor in Excel, zoals jij wilt zonder maanden. Je zou hem echter wel zelf kunnen maken! Om je een beetje op weg te helpen heb ik alvast een start voor je gemaakt. Heb je een klein beetje verstand van VBA??

    Klik in Excel op Extra, Macro, Visual Basic Editor

    Klik dan op invoegen, module

    Copieer onderstaande code:

    [code:1:48c1937426]

    Function TijdOptellen(Tijd As String, Tijd2 As String) As String
    Seconden = Val(Right(Tijd, 2))
    Minuten = Val(Mid(Tijd, 11, 2))
    Uren = Val(Mid(Tijd, 8, 2))
    Dagen = Val(Mid(Tijd, 4, 3))
    Jaren = Val(Left(Tijd, 2))

    Seconden2 = Val(Right(Tijd2, 2))
    Minuten2 = Val(Mid(Tijd2, 11, 2))
    Uren2 = Val(Mid(Tijd2, 8, 2))
    Dagen2 = Val(Mid(Tijd2, 4, 3))
    Jaren2 = Val(Left(Tijd2, 2))

    Seconden3 = Seconden + Seconden2
    Minuten3 = Minuten + Minuten2
    Uren3 = Uren + Uren2
    Dagen3 = Dagen + Dagen2
    Jaren3 = Jaren + Jaren2
    TijdOptellen = Format(Jaren3, "00") + ":" + Format(Dagen3, "000") + ":" + Format(Uren3, "00") + ":" + Format(Minuten3, "00") + ":" + Format(Seconden3, "00")
    End Function[/code:1:48c1937426]

    Nu heb je een eigen functie aangemaakt.
    Ga weer terug naar je excel werkblad en probeer het volgende eens:

    Typ in cel A1 bijv. 13:090:36:04:57
    In cel A2 bijv. 01:022:34:57:12
    en in cel A3 =Tijdoptellen(A1;A2)
    Nu zal er in A3 de som van A1 en A2 staan. (14:112:70:61:69)

    Dit is toch ongeveer wat je wilt als ik het begrijp?
    Deze functie is nog niet helemaal af! Zo kun je nu maar maximaal 2 tijden met elkaar optellen. Als je wilt kunnen dit er (oneindig) veel meer zijn. Ook wordt er nu geen rekening mee gehouden dat er maar 60 seconden in een minuut zijn en 60 minuten in een uur enz. Misschien kan je dat zelf maken of als je zegt dat je hiermee door wilt gaan en geen andere oplossing heb wil ik het wel voor je maken.

    Groeten, Wouter
  • Wouter, dit is idd wat ik bedoel, allen jammer dat die nog geen rekening houdt met de minuten en seconden.

    Ik ben nog maar een beginneling als het gaat om VBA, als je het wilt zou het fijn zijn als je het af zou willen maken.

    Ik zou het wel kunnen maken in dBase, maar het lijkt me wel handiger als het resultaat gelijk zicht baar wordt.
  • Ok, zoiets als dit dan. Mochten er nog fouten inzitten dan hoor ik het wel.

    [code:1:bcc5b46d93]'Je kan maximaal 100 tijden tegelijkertijd bij elkaar optellen.
    'Als je meer wilt moet je de (100) veranderen in een hoger getal!

    Dim Seconden As Double
    Dim Minuten As Double
    Dim Uren As Double
    Dim Dagen As Double
    Dim Jaren As Double
    Dim Tijden(100) As Variant
    Dim Jarens(100) As Double
    Dim Dagens(100) As Double
    Dim Urens(100) As Double
    Dim Minutens(100) As Double
    Dim Secondens(100) As Double

    Function TijdOptellen(Aantal As Integer, ParamArray Tijden()) As String
    'Creeert de functie TijdOptellen, eerste parameter geeft het aantal tijden weer dat moet worden opgeteld.
    'ParamArray zorgt ervoor dat er oneindig veel parameters meegegeven kunnen worden.
    Seconden = 0
    Minuten = 0
    Uren = 0
    Dagen = 0
    Jaren = 0
    'Stel eerst alles op 0
    For i = 0 To Aantal - 1
    'herhaalt de loop voor het aantal tijden dat moet worden opgeteld

    'Val zorgt ervoor dat de waarden die in Tijden staat een getal wordt. Met tekst kan immers niet gerekend worden!
    Secondens(i) = Val(Right(Tijden(i), 2))
    'jj:ddd:uu:mm:SS De laatste 2 cijfers van de tijd worden toegekend aan de variabele Secondens
    Minutens(i) = Val(Mid(Tijden(i), 11, 2))
    'jj:ddd:uu:MM:ss Het 11e en het 12e cijfer van de tijd worden toegekend aan de variabele Minutens
    Urens(i) = Val(Mid(Tijden(i), 8, 2))
    'jj:ddd:UU:mm:ss Het 8e en het 9e cijfer van de tijd worden toegekend aan de variabele Urens
    Dagens(i) = Val(Mid(Tijden(i), 4, 3))
    'jj:DDD:uu:mm:ss Het 4e, 5e en het 6e cijfer van de tijd worden toegekend aan de variabele Dagens
    Jarens(i) = Val(Left(Tijden(i), 2))
    'JJ:ddd:uu:mm:ss De eerste 2 cijfers van de tijd worden toegekend aan de variabele Jaren
    Seconden = Seconden + Secondens(i)
    'telt alle seconden bij elkaar op
    Minuten = Minuten + Minutens(i)
    'telt alle minuten bij elkaar op
    Uren = Uren + Urens(i)
    'telt alle uren bij elkaar op
    Dagen = Dagen + Dagens(i)
    'telt alle dagen bij elkaar op
    Jaren = Jaren + Jarens(i)
    'telt alle jaren bij elkaar op
    Next i
    Minuten = Minuten + Int(Seconden / 60)
    Seconden = (Seconden / 60 - Int(Seconden / 60)) * 60
    'zorgt ervoor dat er maximaal 60 seconden in een minuut zitten
    Uren = Uren + Int(Minuten / 60)
    Minuten = (Minuten / 60 - Int(Minuten / 60)) * 60
    'maximaal 60 minuten in een uur
    Dagen = Dagen + Int(Uren / 24)
    Uren = (Uren / 24 - Int(Uren / 24)) * 24
    'maximaal 24 uren in een dag
    Jaren = Jaren + Int(Dagen / 365)
    Dagen = (Dagen / 365 - Int(Dagen / 365)) * 365
    'maximaal 365 dagen in een jaar. Op schrikkeljaar wordt niet gecontroleerd!!
    TijdOptellen = Format(Jaren, "00") + ":" + Format(Dagen, "000") + ":" + Format(Uren, "00") + ":" + Format(Minuten, "00") + ":" + Format(Seconden, "00")
    'Zet alle berekende tijden weer achter elkaar in formaat: jj:ddd:uu:mm:ss


    'Je kan de functie als volgt gebruiken: Tijdoptellen(aantal;locatie1;locatie2;locatie3;enz)
    'Voorbeeld: Er moeten 3 tijden bij elkaar opgeteld worden. Deze bevinden zich in cellen A1, A2 en A3
    'Dit kan bereikt worden door:
    'TijdOptellen(3;A1;A2;A3) in de cel te typen waar het antwoord moet staan.
    End Function[/code:1:bcc5b46d93]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.