26. april 2012 - 14:50Der er
4 kommentarer og 1 løsning
Gøre Excel-ark mindre beregningstungt
Jeg har et Excelark med en del formler, bl.a. ca 750 celler med forskellige varianter af =SUMPRODUKT((INDIREKTE("Data!$"&$B$1&"$2:$"&$B$1&"$100000")=$B18)*(INDIREKTE("Data!$"&$B$2&"$2:$"&$B$2&"$100000")=$B$17)*(INDIREKTE("Data!$"&$B$3&"$2:$"&$B$3&"$100000")=M$17)) samt et par hundrede sumfunktioner.
Det gør arket meget tungt, såvel når det åbnes, som når det genberegnes.
Opgaven er at sammentælle en databaseregistreringer i en række krydstabeller. Den burde således laves direkte i databasen eller i et statistikprogram, men da resultaterne fremover skal kunne produceres regelmæssigt af en kollega uden forudsætninger for nogle af disse løsninger, skal det være i Excel baseret på standardudtræk fra databasen. Og da standardudtrækket med tiden kan ændres med nye kolonner, er brugeren nødt til selv at kunne angive, hvad det er for nogle kolonner, de relevante data står i i hvert enkelt udtræk.
Jeg vil meget gerne have gode ideer til, hvordan sammentællingen kan lettes, så arket ikke er så tungt at arbejde med. Den oplagte er naturligvis at begrænse antallet af rækker i optællingerne til noget mindre end 100.000. Det er bare heller ikke umiddelbart på tale, selv om der ikke lige nu er så mange i udtrækket. Nogen gode ideer?
Det kan jeg godt. Men jeg er lige selv kommet på at sætte arket til at finde sidste række med data og benytte det som maksimalt rækkenummer for sammentællingerne. Jeg ser lige, om ikke det hjælper, og så sender jeg det, hvis det stadig er uforholdsmæssigt tungt.
Erstatning af "$100000" i alle relevante formler med en reference til en celle, der finder det højeste rækkenummer med data i kolonne A, har i praksis løst problemet.
Det kommer nok i nogen grad igen, hvis antallet af rækker med data bliver højt nok, men så vil det ikke være i forbindelse med regelmæssige kvartalsvise dataopgørelser, men kun ved opgørelser for betydeligt længere tidsperioder. Så er den lange beregningstid til at leve med.
- Hans. I øvrigt havde jeg ikke kunnet sende filen, da den er fyldt med persondata. Men tak for tilbudet.
Lars
Synes godt om
Slettet bruger
02. maj 2012 - 14:02#4
Jeg håber der er nogen der vil tage ved lære af tråden her. For mig at se er der en ret udbredt og uheldig tendens til at bruge for store referenceområder i formler, herunder også "full column references".
Enig i det med de store områder. Mit problem er et lysende eksempel på, at det stadig har konsekvenser at svine med processorkraften.
Her var det desværre nødvendigt at bruge et stort celleområde for at fremtidssikre arket en smule. Men det kunne heldigvis gøres mere elegant end i min første løsning.
Synes godt om
Ny brugerNybegynder
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.