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

Afronden op 0,29 of 0,49 of 0,79 of 0,99

Status
Niet open voor verdere reacties.

Marleen2204

Gebruiker
Lid geworden
18 dec 2018
Berichten
7
Hallo,

Ik heb een lijst met prijzen tot 10 euro, deze moeten afgerond worden op bovengenoemde getallen. Lukt dat met een formule in excel?
Zie bestandje in de bijlage met de prijzen.

Bedankt.

Groeten,
Marleen
 

Bijlagen

  • Helpmij.xlsx
    26 KB · Weergaven: 39
Laatst bewerkt:
wanneer moet op deze getallen afgerond worden ?
 
Alles van 0,00 tot 0,29 wordt 0,29
Van 0,30 t/m 0,49 wordt 0,49
Van 0,50 t/m 0,79 wordt 0,79
Van 0,80 t/m 0,99 wordt 0,99
 
Lijkt me niet systematisch: intervallen van ,19 en ,29.

Liever:

PHP:
=int(a2)+0,25*(int(mod(a2;1)/0,25)+1)+if(iseven(a2/0,25);0,04;-0,01)
 
probeer deze eens:
Code:
=GEHEEL(A2)+KIEZEN(VERGELIJKEN(REST(A2;1);{0,99;0,79;0,49;0,29};-1);0,99;0,79;0,49;0,29)
Edit: hoe moet 9,99375 afgerond worden, valt nu buiten de voorwaarden...
 
Laatst bewerkt:
zie voor een mogelijkheid bijgaand bestandje



edit: zie post #10 :thumb: @rebmog
 

Bijlagen

  • Helpmij.xlsx
    31,3 KB · Weergaven: 56
Laatst bewerkt:
@AlexCEL: 1,29 wordt met jouw formule afgerond naar 1,49. Dat wordt waarschijnlijk veroorzaakt door de wijze waarop Excel decimale getallen binair opslaat. Met de volgende aanpassing gaat het wel goed:
Code:
=GEHEEL(A2)+KIEZEN(VERGELIJKEN(AFRONDEN(REST(A2;1);2);{0,99;0,79;0,49;0,29};-1);0,99;0,79;0,49;0,29)
 
Zie het nu ook ja. Oplossing kan ook zijn formule van Eric gebruiken, vind ik eigenlijk ook mooier. ;)
 
In plaats van
PHP:
A3-INT(A3)
:
PHP:
Mod(A3;1)

Deze werkt hier ook:

PHP:
=INDEX(INT(A2)+{0,29;0,49;0,79;0,99};MATCH(A2;INT(A2)+{0;0,3;0,5;0,8}))
 
Laatst bewerkt:
Is inderdaad een mooie formule, maar die heeft wel hetzelfde probleem. Bijvoorbeeld 6,30 wordt met deze formule 6,29 in plaats van 6,49.

Just for the fun nog een andere versie:
Code:
=GEHEEL(A1)+0,29+(AFRONDEN(REST(A1;1);2)>0,79)*0,2+(AFRONDEN(REST(A1;1);2)>0,49)*0,3+(AFRONDEN(REST(A1;1);2)>0,29)*0,2
 
De formule in #9 geeft voor 6,3 als resultaat 6,49.
 
Klopt, maar bij bijvoorbeeld 9.295 gaat het fout. Dit zou 9.49 moeten zijn. Dit is wel van belang omdat het voorbeeld van TS getallen bevat met meer dan 2 decimalen.
 
Is dat dan niet simpeler op te vangen met:

PHP:
=INDEX(INT(A2)+{0,29;0,49;0,79;0,99};MATCH(TEXT(A2;"0,00");TEXT(INT(A2)+{0;0,3;0,5;0,8};"0,00")))
 
Yep, dat is een mooie oplossing.:thumb:
Nog een andere variant (matrixformule):
Code:
=GEHEEL(A2)+0,29+SOM(({0,29;0,49;0,79}<AFRONDEN(REST(A2;1);2))*({0,2;0,3;0,2}))
 
Allen, bedankt voor jullie hulp! Dit was mij niet gelukt.
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan