Just nu i M3-nätverket
Gå till innehåll
villeeinar

LÖST Hämta data från dagens datumblad

Rekommendera Poster

Hej!

Jag har i princip aldrig gått djupare i Excel (2013) än att räkna ut medelvärde eller dyl. Nu sitter jag med ett problem som jag tyvärr inte har kunskapen till.

 

Jag har en massa datablad som ska sammanställas efter varje dag till nya medelvärden. Nu undrar jag hur jag ska skriva för att Excel ska ta alla värden mellan tex 150706 och dagens datum.

 

Just nu ändrar jag dagens datum varje dag och det är inte megasmidigt att ändra två siffror på tolv ställen varje dag..

 

=AVERAGE('150706:150804'!D21)

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Du menar att du har data spritt över många blad i en bok?

 

Alltid det jobbigaste sättet att spara data på/sammanställa data från som frågas efter här..

 

Enklaste lösning är helt enkelt att skapa en tabell på ett blad dit du hämtar alla dagsvärden och utför dina beräkningar på denna tabell.

 

Det kan gå att ordna med formel men exempelvis indirekt hjälper dig inte i det här fallet.

 

Duger den föreslagna lösningen?

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Om vi struntar i att du har valt ett knöligt sätt att hantera data och du vill fortsätta.

 

1. Skapa en ny flik som du lägger sist i boken. Se till att D21 är tom

2. Kalla fliken slutblad (whatever)

3. Gör om din formel till

=AVERAGE('150706:slutblad'!D21)

4. högerklicka på fliken slutblad och dölj den.

 

Nu borde alla nya flikar hamna innan din dolda flik och ingå i medelberäkningarna.

Testa att slarva runt på olika sätt och se om "slutblad" alltid ligger sist när du högerklickar på valfri flik och tar fram den dolda

 

 

Men som sagt var, inte en optimal lösning. Om du trivs med olika flikar kan du se om du hittar något som passar bättre här :

 

https://support.office.com/sv-se/article/Konsolidera-data-från-flera-kalkylblad-i-ett-enskilt-kalkylblad-69c84929-5f67-48cf-b48e-e55b20cda2ef?ui=sv-SE&rs=sv-SE&ad=SE

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Postad (redigerade)

Datan är spridd över många blad och jag har ett sistablad där alla uträkningar sker.

 

MH-resurrected - bra och enkel lösning på halva problemet, tack!

 

Nu återstår problemet att jag vill ha en/några celler där medelvärdet jämförs med dagens värde. Så här ser den ut idag:

 

='150805'!M21

 

Jag har försökt med komandon där jag hämtar data från en dagens datumcell utan att få det att fungera..

 

='YEAR(C13);MONTH(C13);DAY(C13);'!M21

Redigerad av villeeinar

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Om du bara ska hämta från ett blad, använd formeln INDIRECT.

Skapa en sträng som ser ut precis som den referens du vill bygga upp och inidrekt fixar det hela.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Ursäkta om det blir lite långrandigt.

 

Du klistrar du inte ihop dina delar korrekt i formeln du gjorde Och i din formel kommer Månaden bara att bli en siffra (8 istället för 08)

Om vi antar att dagens datum, med datumformat står i C13 så kan du enklast får du ut fliknamnet med hjälp av den här formeln:

=TEXT(C13;"ÅÅÅÅMMDD")

Dvs du omvandlar datumet till en text enligt önskat format 

Så här om du alltid vill ha dagens datum

=TEXT(IDAG();"ÅÅÅÅMMDD")   helengelskt system någonting i stil med= TEXT(TODAY(),""YYYYMMDD"")

 

 

Så, för att få ut texten '150805'!M21 måste du klistra ihop alla enkelfnuttar, utropstecken, fliknamn och cellreferenser

=SAMMANFOGA("'";TEXT(IDAG();"ÅÅÅÅMMDD");"'!D21")

Om du inte gillar SAMMANFOGA() så kan du klistra med hjälp av & istället, Det blir kortare men kanske lite svårare att följa:  

="'"&TEXT(IDAG();"ÅÅÅÅMMDD")&"'!D21"

 

Ett alternativ är att använda ADRESS() istället, då klistrar den ihop saker snyggt och prydligt (rad 21, kolumn 4 osv)

=ADRESS(21;4;;;TEXT(IDAG();"ÅÅÅÅMMDD"))

 

 

 

Och till sist:

Om man skapar en adress genom att klippa och klistra med hjälp av formler måste man berätta för Excel att det är en adress. Annars blir Excel-stackaren förvirrad.

Då använder man INDIREKT() eller INDIRECT() i engelsk excel

=INDIREKT(ADRESS(21;4;;;TEXT(IDAG();"ÅÅÅÅMMDD")))

Eller så här om du skulle hämta datumet från C13 och använder engelsk excel

=INDIRECT(ADDRESS(21;4;;;TEXT(C13;""ÅÅÅÅMMDD"")))

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Wow, det fungerade! TACK!

Det blev väldigt smidigt och bra. Hade aldrig löst det utan er. Tack.

Det finns så många fallgropar i ett okänt programmeringsspråk.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...