Avatar billede Jan Hansen Ekspert
12. december 2018 - 22:02 Der er 6 kommentarer og
1 løsning

Tung beregning

Hejsa
Kan denne formel gøres hurtigere

HVIS(SUM.HVISER(Bidrag;Initialer;$A$2;Type;C$5;Dato;$A8)>0;SUM.HVISER(Bidrag;Initialer;$A$2;Type;C$5;Initialer;$A8);"")

Bidrag,Initialer,Type,Dato er navngivne områder

problemet er at den skal være i rigtig mange celler, som giver en rigtig sløv beregning

Jan
Avatar billede Slettet bruger
12. december 2018 - 22:19 #1
måske beregn
(SUM.HVISER(Bidrag;Initialer;$A$2;Type;C$5;Dato;$A8) - i 1 celle

og
SUM.HVISER(Bidrag;Initialer;$A$2;Type;C$5;Initialer;$A8);"") - i en anden celle

og så
HVIS(celle1;celle2)

jeg vil kalde det at forkalkulere
Avatar billede Jan Hansen Ekspert
12. december 2018 - 22:59 #2
Hejsa
Mon en brugerdefineret function kan være hurtigere? Jeg har 10*365*40 celler der skal beregnes så det skal gå kvikt!!

Jan
Avatar billede xl-Enthusiast Ekspert
13. december 2018 - 05:06 #3
Er du villig til at dele filen, så man præcist kan se, hvad du har?
Avatar billede Jan Hansen Ekspert
13. december 2018 - 08:29 #4
Hej xl - Enthusiast

Jeg har prøvet lid af hvert og har fået den til at køre meget hurtigere.

1.  Jeg slettede rækker og kolonner jeg havde formler i før.
2.  Jeg begrænsede de navngivne områder til præsis de områder jeg skal bruge
    ( via vba)
3.  Jeg har begrænset antallet af celler med formler i til et minimum!

Disse tiltag har bragt tiden ned med en faktor  100 eller mere

Jan
Avatar billede xl-Enthusiast Ekspert
13. december 2018 - 08:40 #5
Det anede mig, at det ikke først og fremmest var SUM.HVISER-formlen der forårsagede problemet.
Avatar billede Jan Hansen Ekspert
13. december 2018 - 08:55 #6
Tror faktisk det var de navngivne områder da de var sat til hele kolonner
Avatar billede xl-Enthusiast Ekspert
13. december 2018 - 09:28 #7
Især ved matrixformler og navngivne områder er hele-kolonnen-referencer en dødssynd, som desvære alt for mange begår.

I øvrigt er der vel ingen grund til at bruge tre funktionskald som du gør (HVIS og to SUM.HVISER). Kan du ikke bare test på >0 som én af betingelserne i SUM.HVISER-funktionen. Færre funktionskald er altid at foretrække (hurigere) frem, for flere.
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

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