Aikojen vertailu Excelissä

T:OMH

Moi
Seuraavan lainen ongelma nousi esille raportti dataa käsitellessäni...
Miten saisi laskettua päivämäärä erotuksen ja erojen kappalemäärän.
Pieni esimerkki joka toivottavasti selkiyttää enemmän.
Sarakkeessa G on pyydetty aloitus aika ja sarakkeessa J on toteutunut aloitus aika [ J-G = ohi menneet päivät] . Erotuksena pitäisi olla kpl ohimenneetpäivät ja ettei homma olisi liian helppo pitäisi vielä saada nuo työpäivät listattua "alueittain" ero : Mennyt ohi -1päivää ; 1-2 päivää ; 2-3 Päivää ja 4-> päivää ohi menneet...
Ja taulukossa on rivejä "vasta" reilu 32000kpl joten en viitsisi kauhean montaa copy / paste juttua tehdä joka riville... vaan hakusessa olisi VBA scripti/Makro tms hässäkkä.

4

578

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • tarkoititko todella , että ohi 1pv , 1-2 pv, 2-3 pv ja yli 4 pv?
      vaiko 1,2,3 yli 4 pv?

      no mai pen rai tossa sulle molemmat versiot
      eli tulostukset soluihin N1:N4

      moduuliin...
      Sub Aikaerot()
      Dim vika As Long
      Dim solu As Range
      Dim Aikaero As Long
      On Error Resume Next
      Range("N1:N4") = ""
      vika = Range("G65536").End(xlUp).Row
      For Each solu In Range("G1:G" & vika)
      Aikaero = CDbl(solu.Offset(0, 3)) - CDbl(solu)
      Select Case Aikaero
      Case 1
      Range("N1") = Range("N1") 1
      Case 2
      Range("N2") = Range("N2") 1
      Case 3
      Range("N3") = Range("N3") 1
      Case Is > 3
      Range("N4") = Range("N4") 1
      End Select
      Next
      End Sub

      Sub Aikaerot2()
      Dim vika As Long
      Dim solu As Range
      Dim Aikaero As Long
      On Error Resume Next
      Range("N1:N4") = ""
      vika = Range("G65536").End(xlUp).Row
      For Each solu In Range("G1:G" & vika)
      Aikaero = CDbl(solu.Offset(0, 3)) - CDbl(solu)
      Select Case Aikaero
      Case 1
      Range("N1") = Range("N1") 1
      Case 2
      Range("N1") = Range("N1") 1
      Range("N2") = Range("N2") 1
      Case 3
      Range("N2") = Range("N2") 1
      Range("N3") = Range("N3") 1
      Case Is > 3
      Range("N4") = Range("N4") 1
      End Select
      Next
      End Sub

      Keep EXCELing
      @Kunde

    • T:OMH

      Kiitos. Nopeasta vastauksesta.

      Ja ruokahaluhan kasvaa syödessä... Jos haluan lukea usealta välilehdeltä (Sheet 1, Sheet 2...Sheet n) ja palauttaa tuloksen vaikka Sheet OHI välilehdelle...

      Silloin lienee ainoa vaihtoehto lukea ensin välilehtien nimet ja sijoitta ne "yksitellen tuon rivin Vika=Range arvoksi?

    • toivottavasti ei tuu ähkyolo ;-)

      Sub Aikaerot()
      Dim vika As Long
      Dim solu As Range
      Dim Aikaero As Long
      Dim taulukot
      Dim i As Long
      On Error Resume Next
      Sheets("Ohi").Range("N1:N4") = ""
      taulukot = Array("Taul1", "Taul2", "Taul3")
      For i = LBound(taulukot) To UBound(taulukot)
      vika = Sheets(taulukot(i)).Range("G65536").End(xlUp).Row
      For Each solu In Sheets(taulukot(i)).Range("G1:G" & vika)
      Aikaero = CDbl(solu.Offset(0, 3)) - CDbl(solu)
      Select Case Aikaero
      Case 1
      Range("N1") = Sheets("Ohi").Range("N1") 1
      Case 2
      Range("N2") = Sheets("Ohi").Range("N2") 1
      Case 3
      Range("N3") = Sheets("Ohi").Range("N3") 1
      Case Is > 3
      Range("N4") = Sheets("Ohi").Range("N4") 1
      End Select
      Next
      Next
      End Sub
      Keep EXCELing
      @Kunde

      • T:OMH

        Kiitos Paljon,

        Nyt vain odotetaan laskenta tulosta....


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Perintovero 100 prosenttiin, työeläkkeet ja maataloustuet pois

      Noilla eväillä lähden tasapainottamaan valtiontaloutta ja korjaamaan työntekijöiden palkkakuoppaa nostamatta työnantajie
      Maailman menoa
      324
      6319
    2. Riikka runnoo: polttoöljyn hinta nousi maaliskuussa 40 prosenttia

      Onko irvistelijällä sakset hävinneet, vai miksei osaa leikata polttoaineiden hintaa kansalaisten kukkarolle sopivalle ta
      Maailman menoa
      67
      4164
    3. Purra ryöväsi Marinin Itä.-Suomelle neuvottelemat EU-rahat

      Perust vihaavat suomalaisia, mutta eritoten itäsuomalaisia. "Osa kaksikäyttörahoista on alun perin Itä- ja Pohjois-Suom
      Maailman menoa
      41
      3515
    4. Miksi persut hyökkäävät jatkuvasti henkilöitä päin?

      Miksei persut yritä lainkaan korjata asioita, vaan koko ajan haukkuvat henkilöitä? Ei tuollaisilla turvanpieksäjillä ole
      Maailman menoa
      83
      3424
    5. Seida Sohrabi: Suomi ei ole rasistinen maa

      Seidalta taas täyttä asiaa. Miksi punavihreät naiset eivät pysty samaan - no se ideologia estää. "Meillä on valitettava
      Maailman menoa
      101
      3373
    6. Demariskandaali! Eveliina Heinäluoma (sdp) kahmii kaikki Hitas asunnot itselleen!

      Heinäluoma on ostanut useita yhteiskunnan tukemia, hintasäännösteltyjä asuntoja itselleen! Ei ihme, että Hitas on ollut
      Maailman menoa
      215
      3313
    7. Dannysta tulee isä 83-vuotiaana

      Huh huh sentään sellaista naista, joka laitattaa itsensä paksuksi ikälopulle papalle ! Ajatellaanko lapsen oikeuksia oll
      Maailman menoa
      69
      2737
    8. Demarien sanoin kuvaamaton ahneus - Eveliina Heinäluoma vain yksi esimerkki

      Mutta näin se on demari-eliitissä aina ollut, käytännössä siis nämä eliittiin kuuluvat ovat puhtaasti porvareita - Marin
      Maailman menoa
      102
      2698
    9. Abdullah iski Citycenterin vessassa

      Miksi näitä juttuja pitää lukea lähes päivittäin? https://www.hs.fi/helsinki/art-2000011913632.html
      Maailman menoa
      214
      2399
    10. Ranskan vasemmistojohtaja tunnustaa, että väestö on vaihtumassa

      ja se on vaan hyvä asia hänen mielestään. Kyseessä siis Ranskan vasemmistojohtaja Jean-Luc Mélenchon jonka puheet järkyt
      Maailman menoa
      78
      2113
    Aihe