
Generisk formel
=SUMPRODUCT(range*ISFORMULA(range))
Sammendrag
Hvis du bare vil summere resultater fra formler, kan du bruke funksjonene SUMPRODUCT og ISFORMULA. I eksemplet vist er formelen i F6:
=SUMPRODUCT(sales*ISFORMULA(sales))
der "salg" er det navngitte området C5: C13, verdiene i C5: C9 er hardkodede, og verdiene i C10: C13 genereres med formler.
Forklaring
Denne formelen bruker boolsk logikk for å "filtrere" tallene i kolonne C før de summeres med SUMPRODUCT-funksjonen. Når formelen blir evaluert, utvides verdiene i det navngitte området "salg" til en matrise:
(925;1038;1105;1210;1250;1313;1379;1448;1520)
For å filtrere ut verdier som ikke er opprettet av en formel, er ISFORMULA-funksjonen å lage en matrise med SANTE FALSE verdier som dette:
=ISFORMULA(sales) =(FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)
Når disse to matriser multipliseres med hverandre, tvinger matematikkoperasjonen de SANNE og FALSE verdiene til 1 og 0:
=SUMPRODUCT((925;1038;1105;1210;1250;1313;1379;1448;1520)*(0;0;0;0;0;1;1;1;1)) =SUMPRODUCT((0;0;0;0;0;1313;1379;1448;1520))
Nullene avbryter ikke-formelresultater, og SUMPRODUCT summerer og returnerer et endelig resultat.
Ikke formler
For å summere verdier som ikke genereres av en formel, kan du legge til NOT-funksjonen slik:
=SUMPRODUCT(sales*NOT(ISFORMULA(sales)))
Her reverserer IKKE-funksjonen de SANNE FALSE-resultatene som returneres av ISFORMULA-funksjonen, som filtrerer ut eventuelle verdier som genereres med en formel.