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

Dynamisch bereik in matrixformule

Status
Niet open voor verdere reacties.

oceanrace

Gebruiker
Lid geworden
14 mei 2008
Berichten
198
Hallo forummers,

Ik ben al een tijdje bezig om de volgende matrixformule naambereiken te geven die dynamisch zijn, nu loopt hij tot rij 23117 maar dat verschilt nog wel eens:

Code:
=ALS(RIJ()-6<=$AK$3;ALS(SOMPRODUCT(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117>0))>=RIJ()-6;INDEX('database (PLLijstUitgebreid)'!$A$2:$A$23117;KLEINSTE(ALS(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117>0);RIJ('database (PLLijstUitgebreid)'!$AD$2:$AD$23117)-1;"F");RIJ()-6));INDEX('database (PLLijstUitgebreid)'!$A$2:$A$23117;KLEINSTE(ALS(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117="");RIJ('database (PLLijstUitgebreid)'!$AD$2:$AD$23117)-1;"F");RIJ()-(SOMPRODUCT(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117>0))+6))));"")

Mijn vraag is of dat wel mogelijk is?
 
Probeer het eens met een bereiknaam en dan die dynamisch maken d.m.v.
Code:
=VERSCHUIVING($M$2;;;AANTALARG($M$2:$M$24000))
succes,
 
De bereiknamen heb ik al gemaakt, alleen toepassen in de matrixformule werkt niet....
 
Probeer het eens in je formule toe te passen, bijvoorbeeld:
Code:
=SOMPRODUCT((VERSCHUIVING($M$2;;;AANTALARG($M$2:$M$24000))<>0)*(VERSCHUIVING($M$2;;;AANTALARG($M$2:$M$24000))))
succes,
 
werkt ook niet, tenzij ik het verkeerd doe

=VERSCHUIVING('database (PLLijstUitgebreid)'!$M$1;1;0;AANTALARG('database (PLLijstUitgebreid)'!$M:$M)-1;1) met als naam: ALLEGROEPNR

in de matrix formule?

{=ALS(RIJ()-6<=$AK$3;ALS(SOMPRODUCT(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117>0))>=RIJ()-6;INDEX('database (PLLijstUitgebreid)'!$A$2:$A$23117;KLEINSTE(ALS(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117>0);RIJ('database (PLLijstUitgebreid)'!$AD$2:$AD$23117)-1;"F");RIJ()-6));INDEX('database (PLLijstUitgebreid)'!$A$2:$A$23117;KLEINSTE(ALS(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117="");RIJ('database (PLLijstUitgebreid)'!$AD$2:$AD$23117)-1;"F");RIJ()-(SOMPRODUCT(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117>0))+6))));"")}

Hoe dan?
 
Laatst bewerkt:
Het is moeilijk om zo'n monsterformule te controleren zonder de betreffende voorbeeldbestanden. Ten opzichte van het stukje wat ik je gaf zit het verschil in het rode gedeelte ( die 0 zal geen kwaad kunnen )
Code:
=VERSCHUIVING('database (PLLijstUitgebreid)'!$M$1;[COLOR="red"]1[/COLOR];[COLOR="red"]0[/COLOR];AANTALARG('database (PLLijstUitgebreid)'!$M:$M)-1;1)
Misschien is het mogelijk om een voorbeeld bestandje te creeren? desnoods met een gedeelte van de formule.
 
Voorbeeldbestand wordt lastig, het is een zeer complex bestand met veel gevoelige info. Ik probeer het iets duidelijker te maken:

=VERSCHUIVING('database (PLLijstUitgebreid)'!$M$1;1;0;AANTALARG('database (PLLijstUitgebreid)'!$M:$M)-1;1)

heeft als naam: ALLEGROEPNR

en moet het gedeelte 'database (PLLijstUitgebreid)'!$M$2:$M$23117 vervangen.

Zo dus dacht ik

{=ALS(RIJ()-6<=$AK$3;ALS(SOMPRODUCT((ALLEGROEPNR=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117>0))>=RIJ()-6;INDEX('database (PLLijstUitgebreid)'!$A$2:$A$23117;KLEINSTE(ALS(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117>0);RIJ('database (PLLijstUitgebreid)'!$AD$2:$AD$23117)-1;"F");RIJ()-6));INDEX('database (PLLijstUitgebreid)'!$A$2:$A$23117;KLEINSTE(ALS(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117="");RIJ('database (PLLijstUitgebreid)'!$AD$2:$AD$23117)-1;"F");RIJ()-(SOMPRODUCT(('database (PLLijstUitgebreid)'!$M$2:$M$23117=$AK$2)*('database (PLLijstUitgebreid)'!$AD$2:$AD$23117>0))+6))));"")}

dacht ik, maar het werkt niet echt
 
Bas, ik zit met eenzelfde probleem.... Hier nog antwoord op ontvangen of er uit gekomen??

Groet,
Patrick
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan