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

Vraag verticaal zoeken

Status
Niet open voor verdere reacties.

Aaron137

Gebruiker
Lid geworden
23 mei 2019
Berichten
7
Hallo,

ik heb een vraag over verticaal zoeken. In het bestand (zie bijlage) staan het aantal kilometers per dag genoteerd. In blad 2 staan de kosten die bij een bepaald aantal kilometers vallen. Zoals jullie kunnen zien werkt hij gedeeltelijk. Hij pakt na 25000 kilometer de juiste kosten (€ 45,-). Maar in Excel wordt het getal daarna nog steeds neergezet bij de getallen die erna volgen. Ik weet dat ik 'onwaar' heb ingevoerd in de formule, maar dit is nodig. Ik heb ook al het een en ander geprobeerd met 'index' en 'vergelijken', dit werkte ook nog niet.
Wie kan mij hierbij helpen?

Mvg,
Aaron
 

Bijlagen

  • VRAAG VERTICAAL ZOEKEN.xlsx
    30,9 KB · Weergaven: 28
Vert.Zoeken kent twee parameters voor benaderen: WAAR en ONWAAR. ONWAAR gebruik je als je de exacte waarde terug wil lezen. In jouw voorbeeld zou je dan alleen bedragen zien voor [KM CUM] waar 25000, 50000 etc is ingevuld. Dat wil je natuurlijk niet; je wilt bedragen zien bij elke km stand. WAAR (of veld leeglaten) gebruik je om de voorlaatste waarde te zien. Dus van 0-25000 krijg je bedrag A, bij 25000-50000 krijg je bedrag B etc. Aangezien je in C2 niks hebt ingevuld, zijn alle km's tot 25000 gelijk aan 0. Vul je in C2 wél een getal in, dan zal je zien dat je bedragen prima kloppen.
 
De INDEX/VERGELIJKEN optie:
Code:
=INDEX(Blad2!$C$2:$C$6;VERGELIJKEN(D22;Blad2!$A$2:$A$6;1))
Als je andere uitkomsten verwacht geef dan s.v.p. in het voorbeeld eens handmatig aan WAT voor uitkomsten je WAAR verwacht.
 
Laatst bewerkt:
Bedankt voor je snelle reactie!

het is alleen de bedoeling dat die 45 euro 'valt' op het moment dat hij de 25000 kilometer heeft gepasseerd, daarna niet meer. Tot dat hij 50000 kilometer heeft gereden, dan moet hij 429 euro aangeven. Oftewel de getallen mogen maar 1 keer voorkomen.
Heb je hier nog een oplossing voor?
 
Verdere uitleg

In de bijlage heb ik handmatig ingevoerd hoe hij eruit zou moeten zien.
 

Bijlagen

  • VRAAG VERTICAAL ZOEKEN 2,0.xlsx
    30,7 KB · Weergaven: 24
Niet zo elegant, maar dan zou het zoiets kunnen worden:
Code:
=ALS(ALS.FOUT(VERGELIJKEN(D22;Blad2!$A$2:$A$6;1)=VERGELIJKEN(D21;Blad2!$A$2:$A$6;1);1);"";INDEX(Blad2!$C$2:$C$6;VERGELIJKEN(D22;Blad2!$A$2:$A$6;1)))
 
als ik je vraag goed begrijp wil je alleen op 1 regel als 25000,50000,75000,100000 km overschreden wordt kosten neergezet worden.

dan heb je een heel andere formule nodig dan vert.zoeken, die zoekt namelijk alle matchende waarden. ik kom op de volgende formule

in cel E22:
Code:
=ALS(D21<INTEGER(D22/25.000)*25.000;KIEZEN(D22/25.000;45;429;45;429);0)

de kiezen formule werkt op basis van de uitkomst (groter dan) 1,2,3,4 en afhankelijk van de uitkomst worden de kosten 45 of 429 getoond.
 

Bijlagen

  • Copy of VRAAG VERTICAAL ZOEKEN.xlsx
    33,7 KB · Weergaven: 21
@Roel, dat is al een veel elegantere oplossing! Was even inspiratieloos :rolleyes:

Heb nog een paar aanpassingen gedaan:
1. de punt verwijderd (ik kreeg een #FIELD! fout, nog nooit eerder gezien... en deze verwacht ik zeker niet omdat ik een NL-versie van Excel gebruik)
2. de 0 op het einde veranderd in ""
3. voor de variatie een afrondfunctie gebruikt.
Code:
D22: =ALS(D21<AFRONDEN.BENEDEN(D22;25000);KIEZEN(D22/25000;45;429;45;429);"")

Verder blijft het m.i. wel een beetje overbodig lange tabel, voor zover ik dat kan beoordelen.
De informatie per dag lijkt mij niet zo relevant als deze elke dag hetzelfde is qua km.
 
Laatst bewerkt:
Ontzettend bedankt allebei voor jullie reacties. Ik denk dat ik er bijna ben. Het is voor een groot gedeelte gelukt nu! Het enige is dat het echte bestand meer dan 100000 kilometer (cumulatief) heeft. Dit zorgt ervoor dat ik een een #WAARDE! fout krijg. Dit kan ik volledig begrijpen omdat er bij 'kiezen' in de formule maar 4 opties zijn gegeven. Nou kan ik natuurlijk handmatig heel vaak 45, 429, 45, 429 invullen, maar kan dit niet sneller?
Ik hoor het graag
 
@alexcel bedankt voor de aanpassingen, ik werk met Engelse versie kennelijk gooide de translator app er wat punten in.. die type ik nooit in formules. :confused:

@Aaron137, ik was er al een beetje bang voor dat het veel veder ging dan 100.000 km.. maar dat maakt de formule eigenlijk eenvoudiger..


Code:
=ALS(D21<INTEGER(D22/25000)*25.000;45+IS.EVEN(D22/25000)*384;0)

25000/25000 EN 75000/25000 ENZ levert een oneven getal 1,3,5
25000/50000 levert een even getal op 2,4,6 enz
vandaar de test of de uitkomst even.is en als dat waar is dan wordt er 384 (429-45) bij de "standaard" 45 opgeteld.

dat gaat in principe eindeloos door..

uiteraard aan jou de keus of je op tussenliggende regels een 0 of leeg te gebruiken en integer kun je vervangen door afronden.beneden, maar het doet hetzelfde. zoals ALEXcel voorstelde
 
Laatst bewerkt:
Super zeg! Weer een stap dichterbij!

Het leuke is dat ik dit ook wil doen met een frequentie van 300000 km en verschillende bedragen.
Ik heb in de bijlage weer het document erin gezet, met de gewenste situatie handmatig ingevoerd.
Hoe past dit in de formule?

mgv,
Aaron
 

Bijlagen

  • VRAAG VERTICAAL ZOEKEN 3.xlsx
    206,9 KB · Weergaven: 25
Wat betekent dat voor de kosten die per 25.000 worden berekend want bij 300.000 wordt natuurlijk ook de 429 normaal berekend dus wordt het 1400+429 of alleen 1400

indien extra 1400 kan er een extra formule achter geze

Code:
=ALS(D21<INTEGER(D22/25000)*25.000;45+IS.EVEN(D22/25000)*384;0)+ALS(D21<INTEGER(D22/300000)*300000;1400+IS.EVEN(D22/300000)*1800;0)
met als uitkomst 1829 of 3629

als het 1400 en 3200 moet zijn op 300 en 600 dan zou het bedrag aangepast moeten
Code:
=ALS(D21<INTEGER(D22/25000)*25.000;45+IS.EVEN(D22/25000)*384;0)+ALS(D21<INTEGER(D22/300000)*300000;[COLOR="#FF0000"]971[/COLOR]+IS.EVEN(D22/300000)*1800;0)
 

Bijlagen

  • Copy of VRAAG VERTICAAL ZOEKEN 3.xlsx
    246,1 KB · Weergaven: 30
Oke ik begin hem te begrijpen.
Alleen moet er bij 1.200.000 kilometer € 0,- staan. Hoe kan dit in de formule verwerkt worden?
 
Oh, lol, zover had ik niet naar beneden gescrolled. voorbeeldjes van 5000 regels lees ik niet helemaal :)

Hopelijk is die (vracht)wagen tegen die tijd afgeschreven en komen er niet nog meer voorwaarden :p

Ach in vergelijkbare stijl dan maar plakken we er gewoon nog een derde als achteraan.
Code:
=ALS(D21<INTEGER(D22/25000)*25.000;45+IS.EVEN(D22/25000)*384;0)+ALS(D21<INTEGER(D22/300000)*300000;971+IS.EVEN(D22/300000)*1800;0)+ALS(D21/1200000<INTEGER(D22/1200000);[COLOR="#FF0000"]-3200[/COLOR];0)

je ziet het is een formule waar je gewoon consequent kunt door redeneren. omdat er bij 1,2 miljoen km geen kosten zijn trek je het bedrag af wat uit de twee eerste formules als uitkomst zou komen.
deze formule loopt na 1,2 miljoen km gewoon weer door in het oude patroon. Als je wilt dat na 1,2 miljoen de hele formule stopt met berekenen dan gebruik je:

Code:
=ALS(D22>=1200000;0;ALS(D21<INTEGER(D22/25000)*25.000;45+IS.EVEN(D22/25000)*384;0)+ALS(D21<INTEGER(D22/300000)*300000;971+IS.EVEN(D22/300000)*1800;0))

deze formule zal voor elke km stand boven 1.200.000 0 geven.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan