Excel-formule: tel als rij voldoet aan meerdere interne criteria -

Inhoudsopgave

Generieke formule

=SUMPRODUCT((logical1)*(logical2))

Samenvatting

Als u rijen in een tabel wilt tellen die aan meerdere criteria voldoen, waarvan sommige afhankelijk zijn van logische tests die op rijniveau werken, kunt u de functie SUMPRODUCT gebruiken.

Context

Je hebt een tabel met de resultaten van sportwedstrijden. Je hebt vier kolommen: thuisteam, bezoekende ploeg, thuisteam score, bezoekende ploeg score. Voor een bepaald team wil je alleen wedstrijden (rijen) tellen waarin het team thuis heeft gewonnen. Het is gemakkelijk om wedstrijden (rijen) te tellen waarbij een team de thuisploeg was, maar hoe tel je alleen overwinningen?

Dit is een goed gebruik van de SUMPRODUCT-functie, die standaard array-bewerkingen (denk bewerkingen die met bereiken te maken hebben) kan afhandelen.

In het weergegeven voorbeeld is de formule in cel H5:

=SUMPRODUCT((B5:B10=G5)*(D5:D10>E5:E10))

Uitleg

De SUMPRODUCT-functie is geprogrammeerd om native arrays te verwerken, zonder dat Control Shift Enter nodig is. Het standaardgedrag is om overeenkomstige elementen in een of meer arrays samen te vermenigvuldigen en vervolgens de producten op te tellen. Als het een enkele array krijgt, retourneert het de som van de elementen in de array.

In dit voorbeeld gebruiken we twee logische expressies binnen één array-argument. We zouden elke uitdrukking in een afzonderlijk argument kunnen plaatsen, maar dan zouden we logische WAAR-ONWAAR-waarden moeten dwingen tot enen en nullen met een andere operator.

Door de vermenigvuldigingsoperator te gebruiken om de twee arrays met elkaar te vermenigvuldigen, dwingt Excel automatisch logische waarden naar enen en nullen.

Nadat de twee logische uitdrukkingen zijn geëvalueerd, ziet de formule er als volgt uit:

=SUMPRODUCT(((FALSE;TRUE;FALSE;TRUE;FALSE;TRUE))*((TRUE;TRUE;TRUE;FALSE;TRUE;TRUE)))

Nadat de twee arrays zijn vermenigvuldigd, ziet de formule er als volgt uit:

=SUMPRODUCT((0;1;0;0;0;1))

Met nog maar één array over, telt SOMPRODUCT eenvoudig de elementen in de array op en retourneert de som.

Interessante artikelen...