Excel-formule: som eerste n overeenkomende waarden -

Inhoudsopgave

Generieke formule

=SUM(INDEX(FILTER(range,logic),SEQUENCE(n,1,1,1)))

Samenvatting

Om de eerste n overeenkomende waarden in een set gegevens bij elkaar op te tellen, kunt u een formule gebruiken die is gebaseerd op de functies FILTER en SEQUENCE. In het weergegeven voorbeeld is de formule in cel G5, naar beneden gekopieerd,:

=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,1,1)))

waarbij naam (B5: B16) en score (C5: C16) bereiken worden genoemd.

Uitleg

De FILTER-functie, nieuw in Excel 365, kan enkele lastige formuleproblemen helpen vereenvoudigen.

In dit voorbeeld is het doel om de eerste 3 scores voor zowel Jake als Hailey bij elkaar op te tellen, op basis van de volgorde waarin ze in de tabel verschijnen. Er zijn in totaal 12 scores, en Jake en Hailey hebben elk 6 scores.

Werkend van binnen naar buiten, is de eerste taak het genereren van een lijst met scores voor elke naam. Dit doet u met de FILTER-functie:

FILTER(score,name=F5)

Met "Jake" in cel F5 is het resultaat een array met alle scores van Jake als volgt:

(6;5;7;7;6;8)

Deze array wordt teruggestuurd naar de INDEX-functie als het array-argument:

INDEX((6;5;7;7;6;8),SEQUENCE(3,1,1,1))

De functie SEQUENCE wordt gebruikt om de waarde voor het rijnummer te genereren en retourneert een array met 3 getallen,

SEQUENCE(3,1,1,1) // returns (1;2;3)

Op dit punt kunnen we het INDEX-gedeelte van de formule als volgt schrijven:

INDEX((6;5;7;7;6;8),(1;2;3))

INDEX retourneert waarden die zijn gekoppeld aan de eerste 3 rijen in de array naar de functie SOM:

=SUM((6;5;7)) // returns 18

en SOM retourneert de som van deze waarden als het eindresultaat in G5. Wanneer de formule naar cel G6 wordt gekopieerd, is het resultaat de som van de eerste 3 scores van Hailey.

Som laatste n overeenkomende waarden

Om de laatste n overeenkomende waarden bij elkaar op te tellen, kunt u de formule als volgt aanpassen:

=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,SUM(--(name=F5)),-1)))

Deze formule wordt hier in meer detail uitgelegd.

Interessante artikelen...