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

Meerdere voorwaarden, zoeken.

Status
Niet open voor verdere reacties.

rikik

Gebruiker
Lid geworden
14 feb 2017
Berichten
125
Beste,

Ik ben al een hele poos aan het sukkelen met een bepaalde formule. :confused::confused:

Spcecifiek ben ik op zoek naar de meest recente datum die overeenkomt met;

Deal L, voor een periode van 60 maanden, met het minst aantal “invoiced periods”.

Hierbij zoek ik ook de interest die met deze datum overeenkomt.

Moest je me hierbij kunnen helpen, zou ik je eeuwig dankbaar zijn.

Groetjes,
Bekijk bijlage Vraag1.xlsx
RIkik
 
Volgens mij voldoet dit voor zoeken datum:
Code:
=INDEX(D4:D53;VERGELIJKEN("L60"&MIN(ALS(A4:A53="L";1;100)*ALS(B4:B53=60;1;100)*(C4:C53));A4:A53&B4:B53&C4:C53;0))
Let op: matrixformule dus afsluiten met Control+Shift+Enter

Voor rente kun je D4: D53 vervangen door E4:E53.

Indien nodig celeigenschappen op datum c.q. percentage zetten.
 
Laatst bewerkt:
Tis moeilijk bescheiden te blijven, als je zo goed bent als AlexCEL....Lalala lalala :d

Super bedankt AlexCEL :thumb:

You made my day :d
 
Nog één klein vraagje.
In dit geval weten we het aantal beschikbare rijen, van rij4 tem rij53.
Ik heb opgemerkt dat de formule niet werkt met ganse kolommen.

Is het ook mogelijk om deze formule te gebruiken als je niet weet over hoeveel rijen je beschikt?
 
Maak er een tabel (listobject) van, die is dynamisch.
Pas de formule daar op aan.
 
Goede oplossing van Harry, andere wellicht iets minder elegante oplossing is om de bereiken gewoon groter te maken (dus A4:A1000 i.p.v. A4:A53 bijvoorbeeld).
 
Om het aantal regels te bepalen op een ander manier zou het ook zo kunnen m.b.v. de formule van AlexCel

zie de gele cellen
 

Bijlagen

  • Vraag1 (hs).xlsx
    12,5 KB · Weergaven: 43
Dan moeten wel alle bereiken indirect worden gemaakt... wordt lange formule dan. Maar kan wel uiteraard. ;)
 
@AlexCel,

uiteraard, mijn bijdrage was bedoeld om aan te geven dat het zou kunnen....
 
Hartelijk bedankt voor de input.

is er nog een andere manier om dit te verkrijgen?

Ik snap namelijk onderstaande formule niet :confused:
(INDIRECT("$D$4:"&ADRES(A1;4)
 
Je vraagt:
Is het ook mogelijk om deze formule te gebruiken als je niet weet over hoeveel rijen je beschikt?

In de formule van @AlexCel staat "D4:D53" als gebied waar gegevens staan.
In cel A1 laat ik tellen hoeveel regels er in kolom A gegevens bevatten (=AANTALARG(A4:A1048576)+3)

INDIRECT("$D$4:"&ADRES(A1;4) betekent dat gezocht wordt vanaf cel D4 t/m de cel op de laatst gevulde regel door gebruik te maken van:
Code:
[ADRES(A1;)/code]
dat levert in het voorbeeld bestand op D53, maar als in kolom A gegevens staan t/m regel 98, dan zal dit worden D89

Om dat te kunnen gebruiken in een verwijzing ken Excel de formule INDIRECT
[code]INDIRECT("$D$4:"&ADRES(A1;4))
verwijst dus naar "$D$4:$D$53" als op regel 53 de laatsta info staat en naar "$D$4:$D$89" als de laatste info in A89 staat.

Zoals @AlexCel al aangeeft gaat dit pas werken als je alle verwijzingen op deze manier aanpast.

Bovendien mogen er geen lege cellen in kolom A voorkomen.

Gebruik ander s ook een de ingebouwde helpfunctie van Excel of kijk eens hier:
http://www.gratiscursus.be
 
Laatst bewerkt:
Net zo dynamisch als maar kan.
 

Bijlagen

  • tabel.xlsx
    13,3 KB · Weergaven: 44
Hey,

Hartelijk bedankt voor de hulp.

Als ik de methode volg van HSV, is het dan mogelijk om mijn zoekwaarde makkelijk te wijzigen?
Nu zoeken we naar L60

Maar als ik moet zoeken naar L84, X60 of F60?

Greets

Rik
 
Misschien ligt het 'm (weer) aan mij, maar ik krijg met de tabel van Harry niet de gewenste resultaten... Verander het aantal perioden bij de eerste L maar eens in 84 of zo. Of verander de eerste L eens in een F. Uitkomst zou in beide gevallen 10 juni moeten zijn. Er komt echter #N/B uit...

Er ontbreekt een voorwaarde volgens mij. Er moet niet het minimum uit kolom C gezocht worden zoals nu in de formule, het minimum uit de lijst waarvoor geldt deal=L, periods=60 moet gezocht worden. Nu worden alle waarden meegenomen.

Deze geeft wel gewenste resultaten:
Code:
=INDEX(Tabel1[StartDate];VERGELIJKEN("L60"&MIN(ALS(Tabel1[Deal]="L";Tabel1[InvoicedPeriods];1000)*ALS(Tabel1[Periods]=60;1;1000));Tabel1[Deal]&Tabel1[Periods]&Tabel1[InvoicedPeriods];0))

Maar als ik moet zoeken naar L84, X60 of F60?
Stel je zet in L6 de "deal" (dus L, X of F) en in M6 de periode (dus 84 of 60), dan kun je deze gebruiken om flexibel te zoeken naar kleinste datum bij die combinatie:
Code:
=INDEX(Tabel1[StartDate];VERGELIJKEN(L6&M6&MIN(ALS(Tabel1[Deal]=L6;Tabel1[InvoicedPeriods];1000)*ALS(Tabel1[Periods]=M6;1;1000));Tabel1[Deal]&Tabel1[Periods]&Tabel1[InvoicedPeriods];0))
 
Laatst bewerkt:
Super bedankt AlexCEL.... Het werkt

Hartelijk bedankt voor alle hulp en goede zorgen. :d

Ik heb nog veel te leren :shocked:
 
Hey Hey,

Ik heb dit nu geprobeerd om te vormen binnen VBA .
Spijtig genoeg zonder enig succes :(

Weet er iemand toevallig wat ik hier verkeerd doe?:confused:

Range("N6").Select
Selection.FormulaArray = _
"=IFERROR(INDEX(qryClientContractsOneClient!C40,MATCH(Profit!RC[-1]&Profit!R[-3]C&MIN(IF(qryClientContractsOneClient!C17=Profit!RC[-1],qryClientContractsOneClient!C31,1000)*IF(qryClientContractsOneClient!C30=Profit!R[-3]C,1,1000)),qryClientContractsOneClient!C17&qryClientContractsOneClient!C30&qryClientContractsOneClient!C31,0)),"""")"
 
Misschien doordat je twee verwijzingstypes door elkaar gebruikt (A1 en R1C1) ?
Code:
[COLOR=#333333]INDEX(qryClientContractsOneClient!C40
→ [/COLOR]
Code:
[COLOR=#333333]INDEX(qryClientContractsOneClient!R40C3[/COLOR]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan