• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Gegroepeerde som adv criteria

  • Onderwerp starter Onderwerp starter JEC.
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

JEC.

Terugkerende gebruiker
Lid geworden
27 feb 2019
Berichten
4.692
Office versie
365
Goedenavond,

Een leuke, misschien wel uitdagende vraag voor office 365 gebruikers.
In de bijlage staat een tabel waaruit gefilterd moet worden adv 3 criteria. Vervolgens dienen alle scores per groep opgeteld te worden.
Met alleen 1 dynamische formule, zonder VBA, ben ik benieuwd of jullie een oplossing kunnen bedenken.

Zelf heb ik een oplossing maar ben benieuwd of het ook anders kan. Ik zie jullie reacties graag tegenmoet!
De bijlage maakt alles duidelijk (groene deel is de verwachte output met 1 formule)
 

Bijlagen

Laatst bewerkt:
Excel 365 zonder hulpkolommen:
Code:
H7: =LET(a;A2:A999;b;B2:B999;c;C2:C999;d;D2:D999;x;UNIEK(FILTER(c;(b=I3)*(a>=G3)*(a<=H3);""));SORTEREN.OP(x;SOMMEN.ALS(d;c;x;a;">="&G3;a;"<="&H3);-1))
I7: =SOMMEN.ALS(D2:D999;C2:C999;H7#;A2:A999;">="&G3;A2:A999;"<="&H3)
 
Laatst bewerkt:
Het kan dus met 1 formule(Alex had deze ook al bijna:thumb:), echter denk ik dat het alleen korter kan met de functies LAMBDA en BYROW/BYCOL.
@Alex, jij hebt de insider versie toch? Ik heb die functies nog niet.

Code:
=LET(data;A2:D952;
date;INDEX(data;;1);
sn;INDEX(data;;3);
crit;UNIEK(FILTER(sn;(date>=G3)*(date<=H3)*(INDEX(data;;2)=I3)));
SORTEREN(KIEZEN({1\2};crit;SOMMEN.ALS(INDEX(data;;4);date;">="&G3;date;"<="&H3;sn;crit));2;-1))
 
Echt één functie had ik even overheen gelezen, anders had ik nog wel even gepuzzeld... :p

Ik heb me er nog eens in verdiept, ik heb die functies inderdaad beschikbaar, maar zie het voordeel nog niet direct in dit geval. BYCOL/BYROW past een LAMBDA ("custom functie") toe op elke regel of kolom, en elke cel daarbinnen. Dus bij elke cel 1 optellen of zo, of van elke cel het kwadraat van nemen. Dat is hier niet van toepassing... Dus of het echt korter wordt daarmee? Misschien als je een lambda als naam gaat definiëren, dan kun je de functie aanroepen.
 
Daar had je wel uitgekomen:D
Ik heb me verder ook nog niet verdiept in de nieuwe functies. Wel ziet het er veelbelovend uit. Hopelijk krijg ik ze snel!

Voor dit vraagstuk kom je al snel op een simpele draaitabel uit, maar vind ik persoonlijk niet altijd even prettig werken.
 
Laatst bewerkt:
Die LAMBDA functie kan soms wel handig zijn, zoals deze om al je ID's te krijgen die aan de criteria voldoen:
Code:
=LAMBDA(data;SD;ED;ID;UNIEK(FILTER(INDEX(data;;3);(INDEX(data;;1)>=SD)*(INDEX(data;;1)<=ED)*(INDEX(data;;2)=ID);"")))(A2:D999;G3;H3;I3)
Dat eerste gedeelte kan je dus ook een eigen functie van maken zoals met VBA door deze formule een naam te geven bij namen beheren.

Leuke uitdaging was dit :thumb:
 
Laatst bewerkt:
Lijkt mij dus helemaal top die LAMBDA functie:thumb:
Vond het ook een leuke, en was blijkbaar ook wel een lastige gezien de hoeveelheid reacties!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan