PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelReferera till celler i stängda filerReferera till celler i stängda filer
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2013-01-09 09:11
 

Hej!

Jag har ett problem på jobbet. Vi tidrapporterar i excel för att se på vilka projekt vi lägger tiden. Jag har fått förfrågan från min chef att göra en fil som sammanställer och redovisar alla projekttider.Vi har Excel 2010 på jobbet.

Det är upplagt som så att varje fastanställd/konsult har varsin excelfil. Den innehåller blad 1-52 (årets veckor) som var och ett ser identiska ut vad gäller layout. Projekten har varsin rad på respektive blad. Så långt tror jag inte det skall vara några konstigheter.

Min chef har däremot kommit med förfrågan att han skulle vilja kunna välja vilka veckor han vill se (vilka blad som data skall hämtas från). En början till att lösa detta är att jag gjort två celler i det sammanfattande dokumentet som jag kallar "Fr.o.m. vecka" och "T.o.m. vecka" som man då fyller i med veckonummer. I mitt fall är dessa celler I4 respektive I5.

Just nu ser min summeringsformel ut enligt följande:

=SUMMA('G:\01 Departments\03 Technical\01 Common\Time Report\2013\[Arbetstider AK 2013.xls]1:52'!$B$5;'G:\01 Departments\03 Technical\01 Common\Time Report\2013\[Arbetstider BS 2013.xls]1:52'!$B$5)

Exemplet innehåller bara två filer men i själva verket är det betydligt fler då vi är fler anställda än så. Formel summerar bara ett projekt. Så formeln på nästa rad avslutas istället med I$B$B6 och så vidare.

Mitt problem är alltså att jag i formeln ovan vill byta ut delen "1:52" till något i stil med "$I$4:$I$5". Jag har provat med:

=SUMMA(INDIREKT("G:\01 Departments\03 Technical\01 Common\Time Report\2013\Arbetstider AK 2013.xls"&$I$4:$I$5&"!$B$5");INDIREKT("G:\01 Departments\03 Technical\01 Common\Time Report\2013\Arbetstider BS 2013.xls"&$I$4:$I$5&"!$B$5)).

Som jag förstår så fungerar inte INDIREKT-funktionen med filer som är stängda. Som sagt, jag vill kunna hämta data i den sammanfattande filen från var och en av de individuella listorna utan att behöva öppna dem var för sig.

 Är det någon som har något bra/enkelt förslag på hur man skulle kunna lösa mitt problem?

 Uppskattar verkligen hjälpen! Snabbt svar uppskattas också!

 Tack på förhand!

Nytt inlägg
 2013-01-11 15:40
 

Skulle du inte kunna skapa ett ark i arbetsboken som hämtar rubbet från de anställdas filer och sedan filtrerar du via det arket?

mvh

 


Kihlman

Excelforum drivs av Excelspecialisten som bedriver utveckling av program, utbildning samt support och hjälp i Excel och VBA.

www.excelspecialisten.se

Nytt inlägg
 2013-01-15 15:17
 

Hej!

Jag har nu gjort som du sagt och gjort två blad "Bakgrundsdata anställda" och "Bakgrundsdata konsulter" i min arbetsbok som sammanställer alla tider under året. Dessa blad är uppbyggda att rad 3-54 representerar årets veckor 1-52 och sen är de anställda/konsulterna inlagda brevid varandra i kolumnerna. Hur gör jag i blad "Data" att visa ett veckointervall med hjälp av cellerna I4 och I5?

 

Om man alltid vill summera vecka 1-52 kan det se ut så här: =SUMMA('Bakgrundsdata anställda'!FM3:FM54;'Bakgrundsdata anställda'!LQ3:LQ54). Hur gör jag för att byta ut FM3:FM54 respektive LQ3:LQ54 så att de blir dynamiska och att raderna styrs av cellerna I4 och I5?

 

Uppskattar verkligen hjälpen! Tack på förhand!

Nytt inlägg
 2013-01-16 10:34
 

Hej!

Jag föreslår att du följer nedanstående beskrivning i ett nytt kalkylblad så greppar du nog snart hur du skall göra i just ditt eget exempel.

1. Öppna ett nytt kalkylblad och skriv några slumpmässiga tal i cellerna A1 till A8, för huvudräknings skull gärna ensiffriga tal så du lätt kan kontrollera att beräkningar fungerar.

2. Skriv sedan i cellen D10 texten "Startrad" och D11 texten "Slutrad" och därefter 1 respektive 8 o E10 - E11-

3. I texten D12 skriver du "Referens" och D13 skriver du "Summa"

4. Låt oss nu fundera på hur funktionen SUMMA() fungerar. Den fungerar på det viset att det finns ett argument i den, ett argument som pekar på ett område. Skriver vi SUMMA(A1:A8) får vi summeringen av alla poster. A1:A8 är alltså vår referens. Problemet är att vi har referens på referens när vi skall hämta innehållet i E10 och E11 för att få veta vad vi skall summera...

5. Vi börjar därför med att i E12 skriva texten A1. Det är en referens till en enda cell, men vi börjar där.

6. Skriv nu  cellen E13 formeln =INDIREKT(E12). När du trycker på enter kommer du att se det värde du har i cellen A1. Funktionen INDIREKT går alltså till E12 och hämtar referensen där och hämtar sedan det som står på den plats som referensen pekar på. Ändra gärna referensen i E12 till något annat så ser du hur INDIREKT hänger med.

7. Pröva nu att skriva referensen A1:A8 i E12. Det går inte! Skälet till det är att INDIREKT bara kan hämta antingen ett område eller ett värde i en enda cell. Ett område går dock inte att skriva ut så ett sådant försök leder till felmeddelandet Värdefel.

8. INDIREKT kan alltså inte lämna ifrån sig referensen till cellen utan felmeddelande. Däremot kan den lämna ifrån sig referensen till en funktion som arbetar med områden, till exempel funktionen SUMMA(). Ändra därför i E13 så att det står =SUMMA(  INDIREKT(E12)  ). För tydlighets skull har jag lagt in lite mellanrum här i formeln. Men som du ser packar jag alltså in den tidigare formeln innuti parentesen för SUMMA().

9. Nu fungerar summeringen, men referensen i D12 är lite för statisk. Den skall ju ändra sig beroende på vad som skrivs i E10 och E11.

10. Vi gör nu så att vi kopierar cellerna E10-E13 till F10-F13. Därefter ändrar vi i cellen F12 så att den får en ny formel:
="A" & F10 & ":A" & F11

Vad denna formel gör är att den adderar A med värdet av F10, lägger på ett ":A" och sedan värdet i F12. Det kommer att bli A1:A8 om vi i cellerna F10 och F11 har 1 respektive 8. När detta är gjort fungerar summeringen i F13.

11. Med andra ord kan du i en särskilt utvald cell addera samman adressen till det område du vill summera. Om du vill kan du dock ta det hela ett snäpp vidare genom att kopiera F10-F13 till G10-G13. Ändra därefter formeln i G13 så att den inte pekar på G12 utan istället innehåller den formel du skrivit i G12. I det läget behöver du ingen cell för att räkna ut referensen.

mvh

 

 

 


Kihlman

Excelforum drivs av Excelspecialisten som bedriver utveckling av program, utbildning samt support och hjälp i Excel och VBA.

www.excelspecialisten.se

Nytt inlägg
 2013-01-16 12:28
 

Hej!

Tack så hemskt mycket för din utförliga guide. En bra stegguide för att få bättre förståelse för funktionerna. Mitt problem kvarstår dock, jag kanske är trög men jag listar inte ut hur jag skall få in en referens till ett annat blad?

 

Det resultat man kommer fram till i ditt steg 11. är följande: =SUMMA(INDIREKT("A"&G10&":A"&G11)). Men om då området A(Det som står i G10):A(Det som står i G11) finns i blad 2? Vart får man in referens till ett annat blad?

 

Tack på förhand!

Nytt inlägg
 2013-01-16 12:33
 

Tror jag löste det!

Tack så mycket!

(Det är något fel med min webbläsare, jag har uppmärksammat att det blir 3 inlägg när jag skriver vilket absolut inte är avsiktligt)

Nytt inlägg
 2013-01-22 10:04
 

Hej igen!

Jag föreslår alltså en slags tvåstegsraket. I arket som hämtar data från de andra excelarken gör du bara en koppling på vanligt vis, det vill säga har båda filerna öppna och säger att en cell = en annan cell på vanligt vis fast över två olika filer. Du gör alltså på exakt samma sätt som vanligt mellan två ark...

Därefter använder du indirekt mot sammanställningsbladet i din huvudbok. Det är inte en optimal lösning, men den fungerar.

Jag skall dock nämna att det finns många tidsredovisningssystem på marknaden och vi på Excelspecialisten har utvecklat ett webbaserat system där sammanställning sker i Excel.

mvh

Dag


Kihlman

Excelforum drivs av Excelspecialisten som bedriver utveckling av program, utbildning samt support och hjälp i Excel och VBA.

www.excelspecialisten.se

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelReferera till celler i stängda filerReferera till celler i stängda filer

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter