Avatar billede staal84 Nybegynder
25. november 2005 - 12:10 Der er 7 kommentarer og
1 løsning

Skema med tunge formler - metode til at lette beregningstiden?

Jeg har en bunke data over alle ansattes fravær.(hver måneds registreringer har sit eget område)
Da jeg gerne vil køre lidt statistik på mine fraværsregistreringer, har jeg oprettet et skeama:

Henad har jeg et helt år - inddelt månedsvis - og hver måned er delt i fire fraværsgrunde.
Nedad har jeg de ansatte for en afdeling (hver afdeling har sit eget ark)

For at finde antal gange den enkelte ansatte har været fraværende af en bestemt grund i pågældende måned, har jeg denne formel:

=SUMPRODUKT((Data2005!B2:B65536="NAVN")*(Data2005!C2:C65536="FRAVÆRSGRUND"))


Men det tager en "evighed" at beregne de 816celler (17ansatte i afdelingen x 4fraværsgrunde x 12måneder)

Har I et trick, som kan lette beregningen?
Avatar billede b_hansen Novice
25. november 2005 - 12:23 #1
Det tror pokker *S* Du be'r jo regnearket om at beregne på hele kolonner med din formel. Prøv at gøre datafeltet mindre:
=SUMPRODUKT((Data2005!B2:B1000="NAVN")*(Data2005!C2:C1000="FRAVÆRSGRUND"))
Avatar billede staal84 Nybegynder
25. november 2005 - 12:49 #2
Er det ikke en "UsedRange" funktion så den kun kigger i udfyldte celler i kolonne B og C?

Så jeg ikke kommer til at udelukke noget!
Avatar billede b_hansen Novice
25. november 2005 - 12:57 #3
Jeg er ikke sikke rpå, at jeg helt forstår spørgsmålet...

Men når der er tale om månedsskemaer, må det være muligt at komme med et bud på, hvad der er det maksimale antal registreringer. Og så sætte disse ind i formlen i stedet for 65.536. Og hvis du er i tvivl, så kan du jo prøve, om ikke det giver en væsentlig ændring at ændre til 5.000 eller 10.000.
Avatar billede staal84 Nybegynder
25. november 2005 - 13:45 #4
Mener jeg har set Used Range (udfyldt område) brugt i noget VBAkode, så måske man kunne bruge det i formlen også, havde bare ikke rigtigt noget bud på hvordan.

Men du har ret i at det selvfølgelig kan begrænses til et par tusinde.
Det drejer sig jo kun om ca. 100 ansatte og max 31 dage, så selvom alle er fraværende er det ikke 65000 registreringer.

Så det må blive løsningen - du kan jo smide et svar.
Avatar billede bak Forsker
25. november 2005 - 15:41 #5
Du kan godt gøre den list mere dynamisk
Under Indsæt / Navne / Definer opretter du et nyt navn ex. NAVNE
Her indsætter du så denne formel
=FORSKYDNING($B$2;0;0;TÆLV($B$2:$B$65000);1)

Opret så et navn mere ex FRAVÆRSGRUNDE
indsæt denne formel
=FORSKYDNING(NAVNE; 0; 2)
Fraværgrunde er nu et område med samme størrelse som NAVNE, men forskudt 2 kolonner til højre
Din Sumproduktformel vil så se således ud
=SUMPRODUKT((NAVNE = "Navn") * (FRAVÆRSGRUND = "Fraværsgrund"))

Formel vil være dynamisk, dvs at den automatisk udvider de navngivne områder efter behov.
Vær dog opmærksom på at der ikke må være "Huller" / Tomme celler i Navne (Kolonne B)
Avatar billede staal84 Nybegynder
28. november 2005 - 18:57 #6
Undskyld ventetiden....

Jeg har prøvet dit forslag "bak", og da jeg indsætte arknavnet og ændre til =FORSKYDNING(NAVNE; 0; 1), så virker det helt perfekt.

Det er god lir, vidste ikke man også kunne bruge definér navne på den måde.
Smider du så et svar eller er der flere som vil melde sig på banen?
Avatar billede bak Forsker
28. november 2005 - 21:09 #7
jeps, her er et svar. Godt at du kan få det til at virke, men har det sænket genberegningstiden ?
Avatar billede staal84 Nybegynder
29. november 2005 - 08:02 #8
Ja, nu kunne jeg sætte den tilbage til automatisk beregning, uden at det var noget man tænkte over. Så mange tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester