Ga naar inhoud
  • 0

afronden naar boven, naar volgende 50 of 100-tal


Max L

Vraag

Ik heb in dezelfde tabel een tweetal getalvelden. Het veld dat ik voor het gemak veld A zal noemen bevat de waarde 50 of 100. Dit betekend dat de inhoud van veld B naar boven afgerond dient te worden naar, in geval veld A de waarde 50 kent kent, het eerst volgende vijftigtal en in geval veld A de waarde 100 kent, dient veld B naar het eerst volgende honderdtal te worden afgerond.

 

Dit lukt me niet. Bij Count loop ik tegen het probleem aan dat ik wel in een 10 of 100-tal kan afronden, doch deze functie rond helaas ook naar beneden af en heeft moeite met afronden naar een 50-tal. En bij de Ceiling functie krijg ik het alleen voor elkaar dat deze van veld B slechts de decimalen afrond en niet naar, afhankelijk van de waarde in veld A, het volgende vijftig of honderdtal.

 

Wie kent een oplossing?

Link naar reactie

8 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Naar boven afronden:

VeldB - Mod ( VeldB; VeldA ) + VeldA

Deze gaat niet goed, want als je VeldB een exact veelvoud is van van de modulus, dan wordt er een modulus teveel opgeteld. Bijvoorbeeld met de waarde 50 in VeldA:

 

  • 149 - Mod ( 149 ; 50 ) + 50 levert: 149 - 49 + 50 = 150 (en dat is helemaal correct)
    150 - Mod ( 150 ; 50 ) + 50 levert: 150 - 0 + 50 = 200 (en dat had 150 moeten zijn)

 

Dus moet de formule ietsje worden uitgebreid en dan werkt ie wel correct:

 

VeldB - Mod ( VeldB; VeldA ) + If ( Mod ( VeldB; VeldA ) > 0 ; VeldA )

 

Nog wel een paar opmerkingen:

  • Als VeldA=0 dan is het resultaat altijd 0
    Als VeldB negatief is, dan wordt nog steeds naar boven afgerond: Voor VeldA=50 en VeldB=-25 is de uitkomst 0 en niet -50
    Het maakt niet uit of VeldA negatief of positief is, de uitkomst is hetzelfde.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...