
Generisk formel
=SUMPRODUCT(SUMIF(codes,lookups,values))
Sammanfattning
För att summera värden som hämtats genom en uppslagsoperation kan du använda SUMPRODUCT med SUMIF-funktionen.
I exemplet som visas är formeln i H5:
=SUMPRODUCT(SUMIF(codes,C5:G5,values))
Där koder är det namngivna området J4: J5 och värdena är det namngivna området K4: K5.
Sammanhang
Ibland kanske du vill summera flera värden som hämtats genom en uppslagning. I det här exemplet vill vi summera semestertiden varje vecka baserat på ett kodsystem, där F = en hel dag och H = en halv dag. Om en dag är tom tog det ingen tid.
Utmaningen är att hitta en formel som både slår upp och summerar värdena associerade med F och H.
Förklaring
Kärnan i denna formel är SUMIF, som används för att slå upp rätt värden för F och H. Använda SUMIF för att slå värden är en mer avancerad teknik som fungerar bra när värdena är numeriska, och det finns inga dubbletter i "uppslagstabellen ".
Tricket i det här fallet är att kriterierna för SUMIF inte är ett enda värde utan snarare en rad värden i intervallet C5: G5:
=SUMPRODUCT(SUMIF(codes,C5:G5,values))
Eftersom vi ger SUMIF mer än ett kriterium kommer SUMIF att returnera mer än ett resultat. I exemplet som visas är resultatet av SUMIF följande array:
(1,0,5,0,0,0)
Observera att vi korrekt får 1 för varje "F" och 0,5 för varje "H". Och tomma värden i veckan genererar noll.
Slutligen använder vi SUMPRODUCT för att lägga till värdena i arrayen som returneras av SUMIF. Eftersom det bara finns en enda matris returnerar SUMPRODUCT helt enkelt summan av alla värden.