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

Snelheidsberekening met variabelen.

Status
Niet open voor verdere reacties.

Paosk Inauke

Gebruiker
Lid geworden
14 jan 2007
Berichten
5
Ik ben niet helemaal duidelijk geweest dus ik herformuleer mijn vraag even:
Wat is een handige manier om de bestanden te importeren en snelheden te berekenen?
(zie bestandje)

Ik ben namelijk al anderhalve maand met de hand aan het sorteren en ik kan geen hulp vinden hoe het gemakkelijker gaat. Het bleek maandag ook nog dat ik het allemaal verkeerd had gedaan: het moet opnieuw. Dus ik ben een beetje desperaat.
Ik heb zo'n donkerbruin vermoeden dat het vrij gemakkelijk kan, alleen ben ik niet handig genoeg het zelf uit te zoeken, dus misschien kan iemand mij dit leren? Dan weet ik ook voor de toekomst hoe ik soortgelijke problemen moet oplossen.

Zo, dat is een stukje uitgebreider dan ik dacht..
Bij voorbaat dank!







____________

Beste Helpmij-ers,
Voor mijn onderzoekstage moet ik loopsnelheden berekenen van pissebedden (Tsja, ik doe Biologie :love:). Met het programma EthoLog 2.5. heb ik gegevens verzameld, bv: op welk tijdstip passeert de pissebed 10cm; staat hij stil; loopt-ie verder; draait om, enzovoorts. Het resultaat zijn rep en logbestandjes. De logbestandjes importeer ik dan in Excel om te bewerken.
Het weglaten van de pauzes of ander gedrag dan lopen in de eindtijd lukt me niet. Ik neem aan dat ik een SOM.ALS oid moet gebruiken.. Maar omdat ik met seconden werk ipv tijdstippen begrijp ik niet hoe ik de formule moet toepassen.

Zou iemand mijn voorbeeld bestandje willen bekijken en uitleggen hoe ik dat moet aanpakken?
Alvast bedankt!
Nina (aka Paøsk Inaüke)
 

Bijlagen

Laatst bewerkt:
misschien ben ik wel iets te snel maar volgens mij kan je de staat stil tijd aftrekken van de loop tijd zodat je de stilstaan periode weet. Deze trek je weer van het totaal af en je hebt je totale looptijd. aangezien je met tienden en hondersten van seconden werkt kan je deze gewoon aftrekken. het wordt pas lastig als je in minuten gaat rekenen.

Code:
=I35-(I33-I32)
 
Laatst bewerkt:
Oja dat klopt natuurlijk, Demeter. Maar ik zie nu dat mijn voorbeeld niet goed was.
Soms stoppen ze vaker dan één keer. Omdat ik 35 individuen heb (veel werk), wilde ik graag een formule maken waarbij Excel steeds zelf de tijd tussen 'staat stil' en 'loopt weer' aftrekt van de gelopen tijd. Hoe vul ik de formule dan in, en is die door te trekken? Ik heb het idee dat ik dan de log bestandjes anders moet ordenen.
 
Dacht al dat het te makkelijk zou zijn mijn antwoord :o

Zal ernog wat breinbrekers aan wagen maar mijn formule kennis is niet groot wanneer we gaan vergelijken met enkelen hier op het forum.
 
Dacht al dat het te makkelijk zou zijn mijn antwoord :o

Zal ernog wat breinbrekers aan wagen maar mijn formule kennis is niet groot wanneer we gaan vergelijken met enkelen hier op het forum.

Toch bedankt hoor :) Ik realiseer me nu ook dat mijn vraag niet duidelijk gesteld was.
Maar bij nader inzien heb ik meer een tutorial nodig, dus ik denk dat ik maar vraag opgelost aanvink, ik denk niet dat deze vraag hier thuishoort :(
 
Deze vraag behoort hier wel degelijk thuis.
Je moet alleen meer geduld hebben met het beantwoord krijgen van je vraag.

Als je hem weer op geopent plaatst denk ik dat je morgen wel zeker een antwoord hebt.
Het lijkt mij juist een uitdagende vraag voor de mensen hier op het forum.
Denk alleen niet dat jer er met som.als uit gaat komen.

misschien kan je ook je post titel aanpassen aan alleen: snelheid berekening met variabelen oid.

ps.
Vragen staat vrij en op een ongestelde vraag zal nooit een antwoord komen ;).
 
Laatst bewerkt:
Deze vraag behoort hier wel degelijk thuis.
Je moet alleen meer geduld hebben met het beantwoord krijgen van je vraag.
ps.
Vragen staat vrij en op een ongestelde vraag zal nooit een antwoord komen ;).

Wat een wijsheden :D Thnx Demeter!
Ik hoop dat mensen dit inderdaad een leuke uitdaging vinden.
Dan ga ik ondertussen vrolijk verder op mijn oude en omslachtige manier, en hoop ik binnenkort op tips, zodat ik meer (anderen na mij) uit EthoLog+Excel kan halen.
xNina
 
Ik denk ook niet dat een Som.Als uitkomst zal bieden omdat er meerdere individuen verschillend aantal keren blijven stilstaan en lopen.
Mij lijkt het het beste om een UDF (User Defined Function) te schrijven die berekent hoeveel tijd er in totaal gelopen is.
Excel heeft een aantal standaard functies (som, som.als, max, min, ...).
Een UDF is een functie die door de (ervaren) gebruiker wordt geschreven omdat de standaard functies niet hetgene bieden dat de gebruiker wilt.

Met wat duidelijke data (ik heb nog niet gekeken naar je voorbeeld) is dit wel te schrijven.

Met vriendelijke groet,


Roncancio
 
Dit zou hem wel moeten zijn

Code:
Function tijdlopen(looptijd As integer, zoekcellen As Range)
Dim c As Range
Dim stoptijd As Integer

'laat de functie doorrekenen na invullen
Application.Volatile
    
    For Each c In zoekcellen
        If c = "stop" Then
            stoptijd = c.Offset(1, 1).Value - c.Offset(0, 1).Value
            looptijd = looptijd - stoptijd
        End If
    Next c
    
    tijdlopen = looptijd
    
End Function

Uitleg.
Zet deze code in een module achte je Excel blad
- alt+f11
- rechtermuisknop op een tabblad aan de linker kant
- kies invoegen module
- in het rechter witte scherm plak je nu deze code.

als dit gelukt is kan je deze nieuwe forumle voor Excel gebruiken.
kies een cel waar je de uitkomst wil hebben
toets:
Code:
=tijdlopen(cel waarin je eindtijd staat ; kies het bereik met je afstanden erin)

Deze werkt alleen als je zoekbereik bestaat uit de afstand notatie en eventueel een regel stop en weer lopen.

Met dank aan Roncancio voor het duwen trichting UDF zo heb ik mijn eerste formule gemaakt. Whoehoe.
 

Bijlagen

Laatst bewerkt:
Gefeliciteerd!:thumb::thumb::thumb:
Mijn complimenten.:cool:

1 kritische noot::o

In je code heb je de kolom hardgecodeerd.
Je schreef:
Code:
            stoptijd = Range("F" & c.Row + 1).Value - Range("F" & .Row).Value
Dat betekent dat de tabel altijd in de F-kolom zou moeten staan.:p

Code:
            stoptijd = c.Offset(1, 1).Value - c.Offset(0, 1).Value
Met bovenstaande code wordt de ernaast gelegen kolom gepakt.
Dan maakt het dus niet uit waar de tabel staat.

Met vriendelijke groet,


Roncancio
 
@ Roncancio.

Zie het nu pas dat de F kolom er "hard" in staat. :o
Heb hem nu aangepast in mijn vorige post.

Bedankt voor het afmaken.

nu maar wachten of de poster het VB-editor verhaaltje snapt.
 
Wauw bedankt beiden! Ben helaas wezen berekenen zonder op dit forum te kijken, ik dacht dat ik email notificatie zou krijgen op de posts. Ach, ik zie het nu ^^ (omdat het topic twee weken oud is).

Ik geloof dat ik het principe begrijp, en heb het net uitgeprobeerd op mijn data.
Leuk om te zien dat je eigen formules kan schrijven in Excel. Dat ga ik nog even oefenen.
Over het onderzoek: volgende week mijn resultaten presenteren, spannend!
xNina
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan