
Generisk formel
=SUMPRODUCT(SUMIF(codes,lookups,values))
Resumé
For at opsummere værdier hentet ved en opslagsoperation kan du bruge SUMPRODUCT med SUMIF-funktionen.
I det viste eksempel er formlen i H5:
=SUMPRODUCT(SUMIF(codes,C5:G5,values))
Hvor koder er det navngivne område J4: J5, og værdier er det navngivne område K4: K5.
Sammenhæng
Nogle gange vil du måske sammenfatte flere værdier, der er hentet ved en opslagsoperation. I dette eksempel ønsker vi at opsummere ferietid taget hver uge baseret på et kodesystem, hvor F = en hel dag og H = en halv dag. Hvis en dag er tom, blev der ikke taget nogen tid.
Udfordringen er at finde en formel, der både ser op og opsummerer de værdier, der er forbundet med F og H.
Forklaring
Kernen i denne formel er SUMIF, som bruges til at slå de korrekte værdier op for F og H. Brug af SUMIF til at slå værdier er en mere avanceret teknik, der fungerer godt, når værdierne er numeriske, og der er ingen dubletter i "opslagstabellen ".
Tricket i dette tilfælde er, at kriterierne for SUMIF ikke er en enkelt værdi, men snarere en række værdier i området C5: G5:
=SUMPRODUCT(SUMIF(codes,C5:G5,values))
Fordi vi giver SUMIF mere end et kriterium, returnerer SUMIF mere end et resultat. I det viste eksempel er resultatet af SUMIF følgende array:
(1,0,5,0,0,0)
Bemærk, at vi korrekt får 1 for hver "F" og 0,5 for hver "H"., Og tomme værdier i ugen genererer nul.
Endelig bruger vi SUMPRODUCT til at tilføje værdierne i arrayet returneret af SUMIF. Da der kun er et enkelt array, returnerer SUMPRODUCT simpelthen summen af alle værdier.