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

Probleem met formule met meerdere variabelen

Status
Niet open voor verdere reacties.

peterderks

Gebruiker
Lid geworden
18 apr 2011
Berichten
93
Ik wil een formule maken van het type "als x=a en y=b dan moet z=c zijn". Waarbij a en b keuzes zijn uit een drop down menu. In het bijgevoegde voorbeeld dat gaat over posttarieven ben ik al zover dat wanneer C3="brief" én E3="Nederland" én G3="0-20" dit resulteert in een waarde die staat in cel i17 namelijk €0,46. Als de keuze in G3 wijzigt in bijv. "21-50" dan resulteert dat in de waarde uit i18, namelijk €0,92.
Da's allemaal prima. Ik heb vervolgens getracht om een wijziging in E3 (bijvoorbeeld "Europa") in te voeren welke dan gekoppeld zou moeten zijn aan cel j17 maar dat wil niet goed lukken. Ik krijg dan als resultaat "1.00" en da's niet wat in j17 staat. Wat doe ik fout?
Natuurlijk wil ik uiteindelijk een tool waarin een wijziging in één of meerdere van de drie variabelen (C3, E3 en G3) in een correct tarief resulteert. Wie helpt mij?Bekijk bijlage TEST TARIEVEN.xlsx
 
Probeer deze formule eens

Code:
=ALS(C3="brief";ALS(OF(E3="Nederland";E3="Europa");ALS(G3="0-20";I17;ALS(G3="21-50";I18;ALS(G3="51-100";I19;ALS(G3="101-250";I20;ALS(G3="251-500";I21;ALS(G3="501-1000";I22;ALS(G3="1001-2000";I22;"n.v.t.")))))))))
 
Formule voor de gele cel:

Code:
=VERSCHUIVING(H15;VERGELIJKEN(G3;G16:G27;0);VERGELIJKEN(E3;I16:K16;0);1;1)

Met vriendelijke groet,


Roncancio
 
Bedankt voor jullie snelle reacties! De formule van Roncancio werkt! Alleen...ik (beginner!) snap er nog niet zo veel van, van dat "verschuiven" en "vergelijken". Misschien kun je me laten zien hoe de formule eruit zou zien als ik 'm bijvoorbeeld zou uitbreiden met in C3 de keuze "pakket" en gekoppeld aan de tabel voor pakketpost (M17:Q27). Misschien dat ik dan zelf verder kan. Uiteindelijk wil ik de tabel namelijk ook nog uitbreiden met een vierde variabele namelijk de vervoerder (in het voorbeeld alleen TNT).
 
Code:
=VERSCHUIVING(H15;VERGELIJKEN(G3;G16:G27;0);VERGELIJKEN(E3;I16:K16;0);1;1)

Bij verschuiving begin je bij een bepaalde cel (in dit geval H15).
Vervolgens ga je bepalen hoe rijen je naar beneden gaat. Je vergelijkt dus de waarde van G3 met de waardes in het bereik B16 t/m G27 (de 0 geeft aan dat je exacte waardes zoekt).
Daarna zoekt de formule naar de juiste kolom door de waarde van E3 te vergelijken met de de waardes in het bereik I16 t/m K16.
De 1'en aan het eind geven dat het resultaat uit 1 rij hoog en 1 kolom breed (dus uit 1 cel) gehaald moet worden.

Om de formule uit te breiden moet je er in ieder geval voor zorgen dat de zoekwaardes op de 3e rij overeenkomen met de waardes in het zoekbereik.

Met vriendelijke groet,


Roncancio
 
bedoel je zoiets.
ik heb je sheet klein beetje aangepast om de formule werkend te krijgen.
succes...
 

Bijlagen

@sa11 Super! Dat begint er op te lijken. Meld me weer zodra ik nog vragen heb. Bedankt alvast.
 
volgende stap...

Ben inmiddels al weer wat kleine stapjes verder. Zou je eens naar deze sheet kunnen kijken. Vraag is waarom ik als resultaat alleen #WAARDE! krijg terwijl in het functieoverzicht (fx in de formuleregel) alles wel goed lijkt.

Bekijk bijlage TEST TARIEVEN(1).xlsx
 
Volgens mij klopt het zo beter.
Code:
=ALS(INDEX(H16:Z38;VERGELIJKEN(F3;F16:F38;0);VERGELIJKEN(E3;H15:Z15;0))=0;"NVT";INDEX(H16:Z38;VERGELIJKEN(F3;F16:F38;0);VERGELIJKEN(E3;H15:Z15;0)))

Met vriendelijke groet,


Roncancio
 
Beste Peterderks,

er wordt gebruikt gemaakt van een matrix formule. niet vergeten af te sluiten met 2 accolades{}. Dat kun je doen door af te sluiten met ctrl+shift+enter ipv Enter.

Code:
{=ALS(INDEX(H16:Z38;VERGELIJKEN(F3;F16:F38;0);VERGELIJKEN(E3&D3;H15:Z15&H14:Z14;0))=0;"NVT";INDEX(H16:Z38;VERGELIJKEN(F3;F16:F38;0);VERGELIJKEN(E3&D3;H15:Z15&H14:Z14;0)))}

dit is nog beter formule.als geen prijs bij staat dan krijg je als antwoord "Prijs onbekend"
Code:
{=ALS.FOUT(ALS(INDEX(H16:Z38;VERGELIJKEN(F3;F16:F38;0);VERGELIJKEN(E3&D3;H15:Z15&H14:Z14;0))=0;"NVT";INDEX(H16:Z38;VERGELIJKEN(F3;F16:F38;0);VERGELIJKEN(E3&D3;H15:Z15&H14:Z14;0)));"Prijs onbekend")}

succes...
 
Nóg 'n vraagje...

Ik probeer steeds om in de formule nóg een vergelijking toe te voegen, namelijk die van cel E5 met de minimumaantallen zoals gedefinieerd in de cellen M16:AB16 maar dat wil me maar niet lukken. De bedoeling is dat de waarde in cel E5, het opgegeven aantal, altijd groter dan of gelijk is aan de waarde in de corresponderende cel in rij 16 en dat wanneer dat niet zo is een foutmelding wordt weergegeven, liefst als "NVT" in cel H5.

Bekijk bijlage test.xlsx
 
Bedoel je het zo voor in H5:
Code:
=ALS([COLOR="red"]OF([/COLOR]INDEX(M19:AB41;VERGELIJKEN(F5;F19:F41;0);VERGELIJKEN(D5;M18:AB18;0))=0[COLOR="red"];E5<250)[/COLOR];"NVT";INDEX(M19:AB41;VERGELIJKEN(F5;F19:F41;0);VERGELIJKEN(D5;M18:AB18;0)))

In Engels:
=IF(OR(INDEX(M19:AB41,MATCH(F5,F19:F41,0),MATCH(D5,M18:AB18,0))=0,E5<250),"NVT",INDEX(M19:AB41,MATCH(F5,F19:F41,0),MATCH(D5,M18:AB18,0)))
Rood is aangepast.

Succes,
 
zo moet het zeker lukken.
Code:
=ALS(SOMPRODUCT((M18:AB18=D5)*(M16:AB16<=E5))=0;"N.V.T";(ALS(INDEX(M19:AB41;VERGELIJKEN(F5;F19:F41;0);VERGELIJKEN(D5;M18:AB18;0))=0;"N.V.T";INDEX(M19:AB41;VERGELIJKEN(F5;F19:F41;0);VERGELIJKEN(D5;M18:AB18;0)))))

of

Code:
=ALS(SOMPRODUCT((M18:AB18=D5)*(M16:AB16<=E5))=0;"Typ de juiste aantallen";(ALS(INDEX(M19:AB41;VERGELIJKEN(F5;F19:F41;0);VERGELIJKEN(D5;M18:AB18;0))=0;"N.V.T";INDEX(M19:AB41;VERGELIJKEN(F5;F19:F41;0);VERGELIJKEN(D5;M18:AB18;0)))))

succes...
 
Laatst bewerkt:
Hier ben ik weer...:o
Mijn tabel met posttarieven doet het nu prima. Daar kan ik mee aan de slag. Maar nu wil ik iets dergelijks maken voor drukwerk. Dat doe ik namelijk óók :)
Ben aan 't stoeien geweest met bijgevoegde spreadsheet maar het wil niet goed werken. Ik weet niet of dat met die &-tekens in de formule zo mag. Ik probeer te leren van wat jullie doen maar heb gewoon erg weinig ervaring met dit soort formules. Waarom werkt de mijne niet??? :o
Vraag twee: is het mogelijk om de keuzemogelijkheden in het ene rolldown menu bepalend te laten zijn voor de mogelijkheden in een ander? M.a.w. als ik in C5 bijvoorbeeld kies voor "flyers" dat dan in het rolldown menu in D5 alleen nog de mogelijkheden "enkelzijdig" en "dubbelzijdig" overblijven en dat dan "gegomd" en "zelfklevend" (die dan dus nergens op slaan) wegvallen. Natuurlijk in een later stadium geldt dat ook voor de cellen E5 en F5.
Vraag drie: hoe kan ik een spreadsheet als deze het best in een website implementeren?
Ik weet 't...'n hoop vragen voor een koninginnedag...maar toch alvast bedankt :thumb:

Bekijk bijlage DRUKWERK.xlsx
 
Laatst bewerkt:
De namen die je wilt vergelijken zijn niet gelijk
In de tabel staat flyers met een spatie er achter en je zoekt flyers zonder een spatie.
In de tabel staat 120 en je zoekt naar 120 gram.
 

Bijlagen

ik heb de formule een beetje aangepast.
vraag 1 en 2 zijn opgelost.

succes...

Super bedankt! :thumb:
Alleen...hij werkt nog niet helemáál goed. Als ik bijv. voor "folders" kies dan kan ik niet verder. Hij werkt alleen als ik als eerste keuze "flyers" kies en daarna de andere keuzes maak. Als ik dan als laatste keuze voor "folders" kies (ipv flyers) dan klopt ie. Maar da's natuurlijk niet de bedoeling. Ditzelfde geldt overgens ook voor alle andere artikelen. Ik moet eerst onder "flyers" alle andere keuzes maken voordat ik voor bijv. "briefpapier" kan kiezen.
Sorry als ik erg lastig ben :o
 
Thanks!
Nog 'n paar opmerkingen:
- Als de keuze in cel C5 "briefpapier" is dan kan de keuze in cel E5 beperkt zijn tot "A4" en in cel F5 tot "90 grams", "100 grams" of "120 grams"
- Als de keuze in cel C5 "folders" of "flyers" is dan kan in beide gevallen de keuze in cel F5 beperkt zijn tot "120 grams", "160 grams" of "250 grams"
- Als de keuze in cel C5 "folders" is dan kan de keuze in cel D5 beperkt zijn tot "dubbelzijdig"

Dán is ie volgens mij perfect!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan