Dynamisk SUMPRODUKT

Jeg har i en tidligere artikel beskæftiget med med dynamisk sum. Her er der tale om et dynamisk sumprodukt, som omfattet et varierende antal kolonner. Heraf dynamikken! Opgaven kompliceres en smule af, at der arbejdes i to ark.

I Ark1 har jeg denne opstilling

  A B C D E F G H I J K L M
1 a 1       1 1 1 1 1 1 1 1
2 b 2       1 1 1 1 1 1 1 1
3 c 3       1 1 1 1 1 1 1 1
4 d 1       1 1 1 1 1 1 1 1
5 e 1       1 1 1 1 1 1 1 1
6 f 2       1 1 1 1 1 1 1 1
7 g 3       1 1 1 1 1 1 1 1

De interessante kolonner er B, samt F:M. For nemheds skyld er alle værdierne indtastet som 1. Det er kun for at gøre det mere overskueligt at regne efter :-)

I Ark2, vil jeg nu gerne lave en formel, der kan udregne summen af alle de celler i F:M, hvor der står et 1-tal i kolonne B. Det kan gøres med denne formel i Ark2

=SUMPRODUKT(('Ark1'!B1:B7=1)*('Ark1'!F1:M7))

Udfordringen er nu, at det skal være dynamisk, altså at man skal kunne vælge de kolonner, der skal medtælles. Disse ligger altid ved siden af hinanden, fx F:H eller K:M osv, G;H;K vil ikke forekomme. Til det formål, skal der bruges tre hjælpeceller i arket med formlen.

I den første (her D1) skal man skrive navnet på arket, efterfulgt af et udråbstegn, altså i eksemplet Ark1!. I den næste, her E1, skal man skrive den øverste celle i den første kolonne, der skal tages med i sammentællingen, og i den sidste, her F1, den nederste celle i den sidste kolonne, der skal medregnes. Derefter kan denne formel løse opgaven:

=SUMPRODUKT(('Ark1'!B1:B7=1)*(INDIREKTE(D1&E1):INDIREKTE(D1&F1)))

I eksemplet vil F1 I E1 og H7 i F1 give resultatet 9. H1 og M7 vil give 18.

Husk, at områderne skal altid være identiske med området i B-kolonnen. Vil man derfor kun have række 6 med, ikke række 7, må indholdet af den første indre parentes ændres til 'Ark1'!B1:B6=1, og så skal det andet område også slutte i række 6.

-Tilbage til Excel -