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

Vermenigvuldigen OBV 3 criteria met waarde uit database

Status
Niet open voor verdere reacties.

themover

Gebruiker
Lid geworden
7 jan 2013
Berichten
52
Beste,

Ik heb een bestandje met vrij veel codes die in 3 groepen ingedeeld zijn.
Nu wil ik de waarde op basis van 2 criteria en binnen een bereik als 3e criterium vermenigvuldigen.
Hoe kan ik dit voor elkaar krijgen?

In het voorbeeldbestand een selectie, het uiteindelijke bestand is uitgebreider.
Ook zullen in het uiteindelijke bestand nog meer criteria gelden, maar bovenstaande is voor mij nu het struikelblok.
 

Bijlagen

maak 3 gedefinieerde namen, A, B en C (en eventueel anderen) en dan ben je met een index-formule op de goeie weg.
 

Bijlagen

Super, dank je wel!
Nog een vraagje, er zit een overlap bij voornamelijk de grensgevallen.
Hoe kan ik aanpassen dat hij toch de hoogste van de vorige code neemt?

Bijvoorbeeld: de uitkomst van nummer 10 en 11 zijn bij A1 in 1-9 hoger dan in 10-19.
Is ALS hierin de beste oplossing?
 
Ik heb een minimum voor C bepaald op basis van nummer, voor A en B moet ik nog toevoegen op basis van uitkomst, afhankelijk van welke code gekozen wordt, A of anders.

Code:
=ALS(B1=0;0;ALS(EN(B2="C_";B1<20);20*INDEX(INDIRECT(B2);VERGELIJKEN(20;VERSCHUIVING(INDIRECT(B2);;;;1);1);VERGELIJKEN(B3;VERSCHUIVING(INDIRECT(B2);;;1;);0));B1*INDEX(INDIRECT(B2);VERGELIJKEN(B1;VERSCHUIVING(INDIRECT(B2);;;;1);1);VERGELIJKEN(B3;VERSCHUIVING(INDIRECT(B2);;;1;);0))))
 
eigenaardig, ik had niet gezien dat het gedefinieerde bereik voor C "C_" noemde en niet "C", blijkbaar is die laatste gereserveerd voor iets anders en kan je hem zo niet benoemen.
Ik heb wat aanpassingen gedaan aan
- de gedefinieerde namen, die heten nu consequent "A_", "B_" en "C_"
- in A17 is de ondergrens nu 0 ipv. 20
Dan wordt de formule zo leesbaarder (denk ik subjectief)
Code:
=ALS(B1=0;0;ALS(B2="C";MAX(20;B1);B1)*INDEX(INDIRECT(B2&"_");VERGELIJKEN(B1;VERSCHUIVING(INDIRECT(B2&"_");;;;1);1);VERGELIJKEN(B3;VERSCHUIVING(INDIRECT(B2&"_");;;1;);0)))
 

Bijlagen

Dank je, ik had inderdaad een paar keer ALS in gedachten, maar dit is beter te volgen (al moet ik hem nog wel snappen).
A, B en C heb ik hier gebruikt als voorbeeld en in de definitieve versie zijn dit andere waarden.

Ik ga op deze manier een minimum uitkomst aan A en een ander minimum aan B proberen te verbinden, verwijzend naar 2 cellen (makkelijker aanpasbaar minimum).

Ik laat weten waar ik op uitkom.

Nogmaals dank!
 
Met behulp van een hulpcel is het gelukt om verschillende minima aan te houden voor verschillende codes.
In het definitieve bestand heb ik de minimum waarden van A, B en C (die op resp. 1000 en 4000 lagen) naar 0 moeten zetten.

Nogmaals dank voor je hulp cow18!
 

Bijlagen

Ik bedenk me ineens dat ik nog wel aan de overlap moet werken...
Ik maak er nog geen aparte nieuwe vraag van, maar mocht je hiervoor een oplossing weten dan houd ik me aanbevolen. :d
 
wat je met overlap wilde zeggen, dat ontgaat me een beetje.
Ik veronderstel dat je de formule wat wilde vereenvoudigen, tja, veel kan je daar niet aan verbeteren.
Ik weet niet of dit beter leesbaar is ?
 

Bijlagen

Ik heb het gedeelte OF overgenomen, dank je.

Met overlap bedoel ik dat de uitkomst van nummer 10 en 11 bij A1 in bereik '1-9' hoger zijn dan in bereik '10-19'.
Excel kijkt ongeacht de uitkomst naar het bereik waarin het nummer ligt, maar ik wil dat het hoogste prevaleert.

Ik kijk op mijn gemak of ik hier iets op kan vinden, mogelijk verwijzen naar het maximale uit het vorige bereik...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan