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

ALS functie verkorten of VBA

Status
Niet open voor verdere reacties.

CygneVoler

Gebruiker
Lid geworden
15 mei 2015
Berichten
234
Code:
=ALS(C4<=1500; "8"; ALS(C4<=2000; "10";ALS(C4<2500; "12"; ALS(C4<=3000; "14"; ALS(C4<=3500; "16"; ALS(C4<=4000; "18"; ALS(C4<=4500; "20"; ALS(C4>=5000; "22"))))))))

Hallo excellers,
Graag wil ik jullie advies en support voor het volgende item.
Bovenstaande ALS functie gebruik ik momenteel om een waarde aan te geven als deze binnen een bereik valt.

Kolom
A B C
1000-1500 - 8
1501-2000 - 10
2001-2500 - 12
2501-3000 - 14
3001-3500 - 16
3501-4000 - 18
4001-4500 - 20
4501 >5000 - 22

De waarde wordt berekend a.d.h.v. een vaste waarde en een variabele invoerwaarde. De uitkomst staat (in dit voorbeeld) in C4

Nu is mijn vraag: kan dit met een (kortere) VBA code worden opgelost?
Of zou ik hier een INDEX.VERGELIJKEN functie beter kunnen toepassen?

Graag jullie reactie,

CooS
 
je kan dat doen door te zoeken in een tabel, dus eerst een tabel maken in excel,
 
Probeer deze eens:
Code:
=KIEZEN(MAX(1;INTEGER(A1/500)-1);8;10;12;14;16;18;20;22)

met in A1 de invulcel
 
Dan toch deze aanvulling op deze (bijna)perfecte oplossing: :thumb:

Code:
=MAX(8;MIN(22;4+2*INTEGER(A1/500)))
 
Laatst bewerkt:
Teruggrijpen op eenvoudige middelbare schoolkennis: reeksen bij algebra.
 
Klopt maar 50j geleden! + een beetje Als.......er.;)
 
@snb en @ Cobbe jullie zijn lekker bezig :) Bedankt voor jullie reacties. Ga nu ff een feestje vieren en ga (ruim daarna) er eens rustig voor zitten!
 
En wij ons maar uit de naad haasten ....
 
Dat ben ik klakkelings met je eens..:thumb:
 
Bedankt dat jullie je zo uit de naad hebben gewerkt hoewel ik niet gevraagd heb om je te haasten. Desalniettemin stel ik jullie snelheid bijzonder op prijs.
Hartelijk dank daarvoor.
Beide voorbeelden werken. Bedankt voor jullie 'uitleg.'
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan