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

Dubbele als-functie

Status
Niet open voor verdere reacties.

taktix

Gebruiker
Lid geworden
15 apr 2007
Berichten
61
Wie kan mij helpen? Ik wil twee voorwaarden in de als-functie in excel.

A B C D
150,4 13,8 2,7

Ik wil dat in D1 de functie komt waarin als de waarde van B1 kleiner is dan een bepaalde waarde (bijvoorbeeld 14) en dat C1 tussen 2,6 en 2,8 is ik in D1 de waarde van A1 + 25 krijg. Dan wil ik ook nog dat als B1 tussen 14 en 16 ligt er een andere waarde in D komt. Zo heb ik voor C wel 40 verschillende waarden. Deze waarde moet ik natuurlijk in de functie zetten, maar ik weet werkelijk niet hoe ik de functie moet combineren. Iemand een idee? Ik zou er ontzettend geholpen mee zijn!!
 
formule in d1

Code:
=ALS(B1<14;ALS(2,6<C1>2,8;A1+25);ALS(14<B1>16;"andere waarde"))




Niels
 
Laatst bewerkt:
Top! En als ik dit wil doen als ik i.p.v. 25 nog 40 andere waarden heb? Moet ik dit dan de hele tijd copy-pasten of is er een format ofzo voor??
Bedankt weer!!
 
Zo heb ik voor C wel 40 verschillende waarden. Deze waarde moet ik natuurlijk in de functie zetten, maar ik weet werkelijk niet hoe ik de functie moet combineren.
Als je 40 waarden hebt waarop je wil controleren, dan moet je een lijstje maken en dat ergens in Excel plaatsen. Dan kun je dat vervolgens doorlopen (met vert.zoeken bijvoorbeeld).
 
Ik heb nu 25 als waarde ingevuld, maar dit kan ook nog een heleboel andere waardes zijn. Bijvoorbeeld als C1 tussen 3,2 en 3,4 is wil ik niet A1 +25 maar A1 +39.
 
Code:
=ALS(B1<14;ALS(F1<C1>G1;A1+H1);ALS(14<B1>16;"andere waarde"))

in F1 bv 2,6
in G1 bv 2,8
in H1 bv 25

zoiets?

Niels
 
Hier kan ik zeker even verder mee!!! Bedankt tot dusver!!
 
Laatst bewerkt:
Toch nog een vraag. Is het ook mogelijk om voor 3 verschillende bereiken een if functie te hebben? Mij lukt het niet. Bijvoorbeeld voor <14 en 14/16 en >16?? En dan dat voor elk bereik een bepaalde waarde in C1 ertoe leidt dat er bij A1 een bepaalde gegeven waarde wordt opgeteld?
 
Graag voorbeeld met waarde wat je wilt,


Niels
 
Als ik het goed begrijp moet het dit zijn.

Code:
=ALS(B1<14;ALS(F1<C1>G1;A1+H1);ALS(B1>16;"andere waarde";ALS(14<B1>16;"nog een andere waarde")))

Niels
 
Het is inderdaad ietwat onduidelijk. Hierbij een voorbeeld.
Ik wil dat de juiste waarde uit de tabel wordt opgeteld bij A1. In dit voorbeeld is B1 14,8 dus is een waarde uit kolom G nodig. En C1 is 2,7. Nu moet dus 1,52 worden opgeteld bij A1. De waarden in B1 en C1 varieren. Dus is er een function nodig?

Bekijk bijlage Voorbeeld.xlsx
 
Code:
=ALS(B1<12,82;A1+VERT.ZOEKEN(C1;E2:H42;2;WAAR);ALS(B1>14,82;A1+VERT.ZOEKEN(C1;E2:H42;4;WAAR);ALS(12,82<B1>14,82;A1+VERT.ZOEKEN(C1;E2:H42;3;WAAR))))

Niels
 
Laatst bewerkt:
In deze formule van niels28:
Code:
=ALS(B1<12,82;A1+VERT.ZOEKEN(C1;E2:H42;2;WAAR);ALS(B1>14,82;A1+VERT.ZOEKEN(C1;E2:H42;4;WAAR);ALS(12,82<B1>14,82;A1+VERT.ZOEKEN(C1;E2:H42;3;WAAR))))
staat een fout.
Dit gedeelte: ALS(12,82<B1>14,82... is niet juist.
Niels heeft daar willen zeggen: Als B1 groter is dan 12,82 en kleiner dan 14,82
Maar er staat: Als B1 groter is dan 12,82 EN groter dan 14,84
Groter dan 12,82 EN groter dan 14,82 is gelijk aan: groter dan 14,82 .
Dat dit niet tot consequenties leidt in de uitkomst, komt omdat de voorwaarden B1>14,82 en B1<12,82 al aan bod zijn gekomen voor de laatste voorwaarde. En na die eerste twee voorwaarden, blijft er nog maar 1 mogelijkheid over. Naar die laatste geformuleerde voorwaarde kijkt Excel dan niet meer en daarom leidt die (hoewel ze fout is) niet tot een foute uitkomst. Omdat die laatste voorwaarde er niet toe doet, kun je ze ook beter weglaten. En behalve daarmee, kun je de formule ook nog verkorten door de optelling met A1 er slechts 1 keer in te plaatsen. Je krijgt dan:
Code:
=ALS(B1<12,82;VERT.ZOEKEN(C1;E2:H42;2;1);ALS(B1<=14,82;VERT.ZOEKEN(C1;E2:H42;3;1);VERT.ZOEKEN(C1;E2:H42;4;1)))+A1
Verder is het praktischer - voor het geval de grenswaarden in de toekomst zouden kunnen wijzigen - om die waarden in F1, G1, en H1 te plaatsen. Dus:
in F1: 0
in G1: 12,82
in H1: 14,82

Je kunt dan als formule gebruiken:
Code:
=ALS(B1<G1;VERT.ZOEKEN(C1;E2:H42;2;1);ALS(B1<H1;VERT.ZOEKEN(C1;E2:H42;3;1);VERT.ZOEKEN(C1;E2:H42;4;1)))+A1
Maar korter is dan dit:
Code:
=VERT.ZOEKEN(C1;E2:H42;VERGELIJKEN(B1;F1:H1;1)+1;1)+A1
Terwijl je dan ook nog zou kunnen gebruiken:
Code:
=INDEX(F2:H42;VERGELIJKEN(C1;E2:E42;1);VERGELIJKEN(B1;F1:H1;1);1)+A1
Zie in de bijlage bij dit bericht de cellen J1:K1 voor deze 3 oplossingen.
Voordeel van het plaatsen van de grenswaarden in F1:H1 is, dat bij wijziging van die waarden, je ze alleen in de kolomkoppen moet aanpassen en niet in de formule.
 
Hoi zapatr,

Bedankt voor je reactie. Daar heb ik wat aan!! Heb het gelijk aangepast. Het is gelijk een stuk duidelijker geworden.

Bedankt!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan