• 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.

2 maximale waarden vinden in kolom

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

jowey

Gebruiker
Lid geworden
18 mei 2017
Berichten
98
Hey allemaal,

volgens mij heb ik een simpel probleempje maar oplossing heb ik nog niet gevonden.
Ik zoek 2 maximale waarden in een kolom waarbij de waarden cumulatief zijn tot een maximum en daarna bij 0 weer beginnen.
Ik wil uiteindelijk de som hebben van het maximum en het "2e" maximum nadat de 0 ertussen zit.
Er kunnen zich dus 2 situatie voordoen. Een kolom met 1 maximum en een kolom met 1 maximum, 0 er tussen en een nieuwe lager maximum dan het eerste maximum.

Bijgaand een voorbeeld van zo'n kolom.

Alvast bedankt.

Gr Jowey
 

Bijlagen

In je voorbeeld: wat voor uitkomst verwacht je en waar?

En gebruik je Excel 365?
 
Laatst bewerkt:
1 formule voor oudere versies(doortrekken naar beneden)

Code:
=AGGREGATE(14;6;IF($B$2:$B$65=0;$B$1:$B$64;"");ROW(A1))

En voor O365

Code:
=TAKE(SORT(FILTER(B1:B64;B2:B65=0);;-1);2)
 
Laatst bewerkt:
In je voorbeeld: wat voor uitkomst verwacht je en waar?

En gebruik je Excel 365?

Goede vraag, ben weer onvolledig.
Ik gebruik excel 365
Uiteindelijk wil ik in 1 cel een berekening hebben die in dit specifieke voorbeeld 36542 als uitkomst vindt en 625. Die wil ik dan bij elkaar optellen.
In sommige situatie vind je dus maar 1 maximale waarde.

Gr Jowey
 
Of:
Code:
=LET(a;B2:B100;x;VERGELIJKEN(0;a;0);y;MAX(NEMEN(a;x));z;MAX(WEGLATEN(a;x));ALS.FOUT(y+z;MAX(a)))
 
=som(filter(b2:b65;b3:b66=0))
=SOM(ALS.FOUT(AGGREGAAT(15;6;ALS((B2:B65>0)*(B3:B66=0);B2:B65);RIJ($A$1:$A$100));0))
 
Laatst bewerkt:
Of:
Code:
=LET(a;B2:B100;x;VERGELIJKEN(0;a;0);y;MAX(NEMEN(a;x));z;MAX(WEGLATEN(a;x));ALS.FOUT(y+z;MAX(a)))

Gelukt.
Ik kan de formule totaal niet lezen of begrijpen maar hij werkt wel :)

gr Jowey
 
Laatst bewerkt:
Even vertalen.
Code:
=LET(a;B2:B100;x;Match(0;a;0);y;MAX(take(a;x));z;MAX(drop(a;x));iferror(y+z;MAX(a)))
 
met die andere 2 formules nochthans ook ! (mits vertaalwerk)
 

Bijlagen

@cow18,

Als er geen 0 (nul) is geven beide geen goed resultaat.
 
okay, dat is snel aan te passen, maar ik denk, achteraf gezien, dat TS eerder een vertaalprobleem had met mijn formules ... .
Groeten.
 
@cow18,

Als er geen 0 (nul) is geven beide geen goed resultaat.

? Ik heb beide scenarios geprobeerd en beide gaven juiste waarde.
Ik heb er alleen nog 1 ding aan moeten toevoegen. Het gaat namelijk om het verschil tussen cel B2 en hoogste waarde.
Ik heb dit opgelost door altijd cel B2 van totaal af te trekken. In beide gevallen krijg je dan juiste waarde.
 
??

In het bestand van @cow18 krijg ik in beide gevallen 625 als ik alle nullen vervang door andere getallen.
 
Is dit iets ?

PHP:
=IFERROR(MAX(OFFSET(B2;0;0;MATCH(0;B2:B1000;0)))&"_"&MAX(OFFSET(B2;MATCH(0;B2:B1000;0);0;1000-MATCH(0;B2:B1000;0)));MAX(B2:B1000))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan