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

Hoogste waarde

Status
Niet open voor verdere reacties.

postbus52

Gebruiker
Lid geworden
4 okt 2015
Berichten
31
Graag zou ik per naam, de hoogste waarde willen zoeken.

zie voorbeeldbestand

Als het mogelijk is zonder een matrix-formule omdat het enorm vertraagd.

M.v.gr Hans
 

Bijlagen

Heb je het al geprobeerd om het met een draaitabel op te lossen?

Over hoeveel regels zou het moeten gaan?
En wat versta je onder 'enorm vertraagd'?
 
Deze is wel heel erg traag:

Code:
{=MAX(ALS(A:A=D2;B:B))}
 
Deze is wel heel erg traag:

Code:
{=MAX(ALS(A:A=D2;B:B))}

In het algemeen moet je matrixformules nooit loslaten op hele kolommen, maar alleen op het bereik met waarden, hetzij een hard gecodeeerd vast bereik, hetzij dynamisch met een gedefinieerde naam of met een tabel.
Daarnaast zijn er nog mogelijkheden om het bereik in matrixformules te verkleinen als je sorteert op 1 of meer kolommen met criteria.
 
De gegevens worden via een invoerscherm ingevuld.
Met een matrix formule gaat het ongeveer 16 seconde duren voordat ik weer nieuwe gegevens kan invoeren.

Ik heb het nu opgelost door in de macro van het invoerscherm de matrix-formule in te schakelen daarna de waarde te kopiëren naar een andere cel en vervolgens de matrix-formule waar uit te schakelen.
Daar win ik 12 seconde mee.
Dus ik had hoop dat er een andere oplossing mogelijk was.

m.v.g. Hans
 
Waarom een matrixformule, als het zo ook kan?
Code:
=MAX(ALS(A:A=D2;B:B))
 
@Ad Becude
Volgens mij is dit ook een matrix formule?
 
Code:
Dus ik had hoop dat er een andere oplossing mogelijk was.

Dan heb je niet gekeken naar de oplossing van marcelbeug, popipipo en oeldere !!
 
@Willem,
En ik maar denken dat je een matrixformule moest afsluiten met: Ctrl + Shift + Enter
 
draaitabel

Bij deze een voorbeeld waar ik dan de draaitabel van zou moeten maken.
Mij lukt het niet en een ander nadeel zou zijn, dat een draaitabel niet direct wordt bijgewerkt.
 

Bijlagen

Bij deze een voorbeeld waar ik dan de draaitabel van zou moeten maken.
Mij lukt het niet en een ander nadeel zou zijn, dat een draaitabel niet direct wordt bijgewerkt.
Je maakt er wel een zoekplaatje van: waar zou de formule moeten komen en wat is de verwachte uitkomst?
Per datum of over alle gegevens?
Refererend aan mijn suggestie in #6: over hoeveel gegevens gaat het zo'n beetje in "het echie"?
 
Je nieuwe gegevens wijken qua opmaak nogal af van je voorbeeld.

Dan dien je de data anders vast te leggen (in te voeren).

Zie het bijgevoegde bestandje.

Code:
Mij lukt het niet en een ander nadeel zou zijn, dat een draaitabel niet direct wordt bijgewerkt.

Dat ervaar ik niet als een probleem.
 

Bijlagen

En deze?
Code:
=SOMPRODUCT(($A$3:$A$8=G3)*($F$3:$F$8="won"))
 
De hoogste waarde uit kolom J moet gekoppeld worden aan een naam

Ik wil dus de hoogste waarde uit kolom j zien van Cindy
en de hoogste waarde van hans

Het gaat tot nu toe over 225 regels maar dat worden er steeds meer.

Dat is blad4 en de totalen komen in blad5
 
Laatst bewerkt:
Bekijk bijlage voorbeeldmax score per speler MB.xls
Zie bijlage, gele vakjes.

Met dynamische bereiken in gedefinieerde namen (tab Formules - Namen beheren):
Naam =Blad1!$A$1:INDEX(Blad1!$A$1:$A$10000;AANTALARG(Blad1!$A$1:$A$10000))
Score =Blad1!$J$1:INDEX(Blad1!$J$1:$J$10000;AANTALARG(Blad1!$A$1:$A$10000))

Matrixformule met gezochte naam in L2:
Code:
=MAX(ALS(Naam=L2;Score))

Voorwaarde is dat alle cellen in kolom A gevuld zijn t/m de laatste regel (dus geen gaten).
Dit werkt tot max. 10.000 regels en de matrixformule kijkt alleen naar de regels waarin iets gevuld is in kolom A.
 
Bekijk bijlage 252903
Zie bijlage, gele vakjes.

Met dynamische bereiken in gedefinieerde namen (tab Formules - Namen beheren):
Naam =Blad1!$A$1:INDEX(Blad1!$A$1:$A$10000;AANTALARG(Blad1!$A$1:$A$10000))
Score =Blad1!$J$1:INDEX(Blad1!$J$1:$J$10000;AANTALARG(Blad1!$A$1:$A$10000))

Matrixformule met gezochte naam in L2:
Code:
=MAX(ALS(Naam=L2;Score))

Voorwaarde is dat alle cellen in kolom A gevuld zijn t/m de laatste regel (dus geen gaten).
Dit werkt tot max. 10.000 regels en de matrixformule kijkt alleen naar de regels waarin iets gevuld is in kolom A.

Alle cellen in kolom A zijn inderdaad gevuld.
Ik ga hier mee aan de slag om te testen of dit sneller werkt.
Want het klinkt misschien ongeloofwaardig, want als ik het even vele malen naar beneden kopieer, is er niets te merken van vertraging. (ruim 1700 regels)
Maar zodra ik de bladen via de macro laat invullen, ontstaat er ineens wel een gigantische vertraging.
Wanneer er een leg wordt gewonnen, werkt de macro blad3 bij voor een print overzicht en blad4 voor een totaal overzicht inclusief de kaderlijnen er omheen.
En zodra er een marix-formule op blad5 staat, duurt het 16 seconde voordat het invoerscherm weer beschikbaar is.
Zonder matrix ongeveer 4 seconde.

Vreemd toch?

Ik ga nu eerst met het dynamische bereik test.
Mocht dit wederom niet tot het gewenste resultaat leiden, dan weet ik het ook niet meer.

Toch wil ik iedereen bedanken voor het meedenken
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan