Aikojen vertailu Excelissä

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ä.
4615
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

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

Äänestä

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?

Äänestä

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

Äänestä
  • Kiitos Paljon,

    Nyt vain odotetaan laskenta tulosta....

    Äänestä

Kommentoi aloitusta


T:OMH kirjoitti:

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

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu