iuet Skrevet 8. februar Del Skrevet 8. februar Hei, Jeg sliter med å finne en formel eller makro i Excel som summerer verdien per time. Den skal hoppe ned til neste time og gjøre det samme en gang til osv. Hvert kvarter kommer en ny verdi. Jeg ønsker å summere en sum per time. For 11.01.2024 ønsker jeg automatisere summen av time 00 til 01 = sum 50 + 100 + 10 +90. osv for de andre timene 11.01.2024 og så for alle timene i 12.01.2024 Forslag på å løse dette mottas med takk.:-) 11.01.2024 00:00 11.01.2024 00:15 50 Estimert 11.01.2024 00:15 11.01.2024 00:30 100 Estimert 11.01.2024 00:30 11.01.2024 00:45 10 Estimert 11.01.2024 00:45 11.01.2024 01:00 90 Estimert 11.01.2024 01:00 11.01.2024 01:15 10 Estimert 11.01.2024 01:15 11.01.2024 01:30 50 Estimert 11.01.2024 01:30 11.01.2024 01:45 100 Estimert 11.01.2024 01:45 11.01.2024 02:00 150 Estimert 11.01.2024 02:00 11.01.2024 02:15 500 Estimert 11.01.2024 02:15 11.01.2024 02:30 100 Estimert 11.01.2024 02:30 11.01.2024 02:45 150 Estimert 11.01.2024 02:45 11.01.2024 03:00 250 Estimert 11.01.2024 03:00 11.01.2024 03:15 300 Estimert 11.01.2024 03:15 11.01.2024 03:30 350 Estimert 11.01.2024 03:30 11.01.2024 03:45 400 Estimert 11.01.2024 03:45 11.01.2024 04:00 150 Estimert mvh ts Lenke til kommentar
ilpostino Skrevet 8. februar Del Skrevet 8. februar Jeg tror det er flere formler du kan bruke. Sjekk blant annet SUMMER.HVIS.SETT(). Kan lete litt etter andre formler som kan brukes. Lenke til kommentar
iuet Skrevet 8. februar Forfatter Del Skrevet 8. februar thxs. skal se på den. mvh ts Lenke til kommentar
iuet Skrevet 8. februar Forfatter Del Skrevet 8. februar Jeg er ikke så god på slike formler. Har du et forslag på hvordan jeg kan skrive formelen? ts Lenke til kommentar
Svein M Skrevet 8. februar Del Skrevet 8. februar Om tallene står på fast plass så kan en summere først de 4 første linjene for den første timen, de neste 4 linjene for den andre timen, osv. 1 Lenke til kommentar
geir__hk Skrevet 8. februar Del Skrevet 8. februar Dette kan enkelt løses ved å bruke Pivot-tabell Riktignok har jeg brukt Libre Office, men prinsippet er det samme. iuet_regnearkproblem.ods 1 Lenke til kommentar
toiota Skrevet 15. mars Del Skrevet 15. mars (endret) Hei iuet, En løsning er å omforme datasettet ditt fra langt format til bredt format. Det gjør det mye enklere å regne ut timesummen i regnearket. Jeg kan ikke pivot-tabeller, så jeg har implementert en løsning i R. R kan lastes ned her: https://www.r-project.org/ RStudio IDE/RStudio Desktop (Open Source Edition) er en gratis men det er ikke nødvendig for mitt løsningsforslag. (27. des. 2023 postet jeg et tilsvarende løsningsforslag her) Spør om det noe i koden du lurer på! # #### START R KILDEKODEN ############ # NOTE: R kildekoden kan lagres i en R skriptfil, f.eks. `my_script.R`. # Åpne skiptet i R og kjør hele skriptet på en gang eller kjør linje for linje. # Programvare: R version 4.3.3 (2024-02-29 ucrt) -- "Angel Food Cake" install.packages("tidyverse") library(tidyverse) # Jeg har tatt utgangspunkt i ditt datasett med 6 kolonner: # DatoStart | TimeMinuttStart | DatoSlutt | TimeMinuttSlutt | Verdi | VerdiType # ----------------------------------------------------------------------------- # 11.01.2024 00:00 11.01.2024 00:15 50 Estimert # 11.01.2024 00:15 11.01.2024 00:30 100 Estimert # 11.01.2024 00:30 11.01.2024 00:45 10 Estimert # 11.01.2024 00:45 11.01.2024 01:00 90 Estimert # 11.01.2024 01:00 11.01.2024 01:15 10 Estimert # 11.01.2024 01:15 11.01.2024 01:30 50 Estimert # 11.01.2024 01:30 11.01.2024 01:45 100 Estimert # 11.01.2024 01:45 11.01.2024 02:00 150 Estimert # 11.01.2024 02:00 11.01.2024 02:15 500 Estimert # 11.01.2024 02:15 11.01.2024 02:30 100 Estimert # 11.01.2024 02:30 11.01.2024 02:45 150 Estimert # 11.01.2024 02:45 11.01.2024 03:00 250 Estimert # 11.01.2024 03:00 11.01.2024 03:15 300 Estimert # 11.01.2024 03:15 11.01.2024 03:30 350 Estimert # 11.01.2024 03:30 11.01.2024 03:45 400 Estimert # 11.01.2024 03:45 11.01.2024 04:00 150 Estimert # Jeg har forenklet ditt eksempel ved å slette kolonnene: "DatoSlutt", "TimeMinuttSlutt", # "VerdiType". # Din kolonne "TimeMinuttStart" har jeg delt opp i to nye kolonner: "TIME" og "MINUTT". # Opprett ei csv-fil med følgende data, ikke ta med `# ` i starten av linjene: # Gi fila navnet "data-long.csv", så lagrer du den i "C:/temp/". # DATO,TIME,MINUTT,VERDI # "11.01.2024",0,0,50 # "11.01.2024",0,15,100 # "11.01.2024",0,30,10 # "11.01.2024",0,45,90 # "11.01.2024",1,0,10 # "11.01.2024",1,15,50 # "11.01.2024",1,30,100 # "11.01.2024",1,45,150 # "11.01.2024",2,0,500 # "11.01.2024",2,15,100 # "11.01.2024",2,30,150 # "11.01.2024",2,45,250 # "11.01.2024",3,0,300 # "11.01.2024",3,15,350 # "11.01.2024",3,30,400 # "11.01.2024",3,45,150 setwd("C:/temp") # arbeidsmappe hvor csv-fila er. getwd() # sjekk sti # Åpne datafila data_long <- readr::read_csv(file="data_long.csv") data_long #> # A tibble: 16 × 4 #> DATO TIME MINUTT VERDI #> <chr> <dbl> <dbl> <dbl> #> 1 11.01.2024 0 0 50 #> 2 11.01.2024 0 15 100 #> 3 11.01.2024 0 30 10 #> 4 11.01.2024 0 45 90 #> 5 11.01.2024 1 0 10 #> 6 11.01.2024 1 15 50 #> 7 11.01.2024 1 30 100 #> 8 11.01.2024 1 45 150 #> 9 11.01.2024 2 0 500 #> 10 11.01.2024 2 15 100 #> 11 11.01.2024 2 30 150 #> 12 11.01.2024 2 45 250 #> 13 11.01.2024 3 0 300 #> 14 11.01.2024 3 15 350 #> 15 11.01.2024 3 30 400 #> 16 11.01.2024 3 45 150 # Så omformer datasettet til bredt format, dette formatet gjør det enklere # å beregne timesummen når du senere åpner csv-fila i regnearket. data_wide <- data_long |> tidyr::pivot_wider( names_from = "MINUTT", values_from = "VERDI" ) data_wide #> # A tibble: 4 × 6 #> DATO TIME `0` `15` `30` `45` #> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 11.01.2024 0 50 100 10 90 #> 2 11.01.2024 1 10 50 100 150 #> 3 11.01.2024 2 500 100 150 250 #> 4 11.01.2024 3 300 350 400 150 # Lagre `data_wide` som en csv-fil, som kan åpnes i regnearket. # NB! Fjern `# ` i neste linje for å kunne lagre filen. # readr::write_excel_csv(data_wide, "data_wide.csv") # Nå kan du åpne `data_wide.csv` i regnearket å beregne timesummen. # #### SLUTT PÅ MITT LØSNINGSFORSLAG ############ # Litt ekstra info: # For å gå fra bredt format til langt format bruker du funksjonen `pivot_longer()`: new_long <- data_wide |> tidyr::pivot_longer( cols = c(`0`, `15`, `30`, `45`), names_to = "MINUTT", values_to = "VERDI" ) new_long # NB! Fjern `# ` i neste linje for å kunne lagre filen. # readr::write_excel_csv(new_long, "new_long_data.csv") # #### SLUTT R KILDEKODE ######## new_long_data.csv data_wide.csv my_script.R data_long.csv Endret 21. mars av toiota (2) Jeg regnet først snittet, skulle ha vært summen, (1) Formatering Lenke til kommentar
Hogstad Rådgivning Skrevet 21. mars Del Skrevet 21. mars Morsom utfordring. Scan med litt tillegg er en mulighet her. Litt lang forklaring. Så jeg laget en video på hvordan jeg ville løst det: Lenke til kommentar
Hogstad Rådgivning Skrevet 22. mars Del Skrevet 22. mars Hogstad Rådgivning skrev (19 timer siden): Morsom utfordring. Scan med litt tillegg er en mulighet her. Litt lang forklaring. Så jeg laget en video på hvordan jeg ville løst det: Når du har timen, kan du også gjøre det på den enkle måten. Spol frem til ca 5.30. Bytt ut Maks.Hvis.Sett med Summer.Hvis.Sett. Så er du i mål. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå