Excel-formule: rond een getal af naar n significante cijfers -

Inhoudsopgave

Generieke formule

=ROUND(number,digits-(1+INT(LOG10(ABS(number)))))

Samenvatting

Als u een getal moet afronden op een bepaald (variabel) aantal opgegeven cijfers of cijfers, kunt u dat doen met een elegante formule die de functies ROUND en LOG10 gebruikt.

In het getoonde voorbeeld is de formule in D6 als volgt:

=ROUND(B6,C6-(1+INT(LOG10(ABS(B6)))))

Uitleg

Dit kan een intimiderende formule zijn als je geen goede achtergrond in wiskunde hebt, maar laten we het stap voor stap doornemen.

Ten eerste, als je een formule als deze hebt waarbij één functie (in dit geval RONDE) om alle andere heen loopt, is het vaak handig om van buiten naar binnen te werken. Dus in wezen rondt deze formule de waarde in B6 af met de RONDE functie:

=ROUND(B6,x)

Waar x het aantal vereiste significante cijfers is. Het lastige deel van deze formule is: x berekenen. Dit is een variabele, omdat deze zal veranderen afhankelijk van het getal dat wordt afgerond. x wordt berekend met deze bit:

C6-(1+INT(LOG10(ABS(B6))))

Dit lijkt ingewikkeld, dus laten we eerst kijken hoe de formule moet werken voor de gegeven voorbeelden. Onthoud met ROND dat een negatief aantal cijfers aan de linkerkant van de komma werkt. Dus om 1234567 af te ronden naar een toenemend aantal significante cijfers, zouden we hebben:

=ROUND(1234567,-6) = 1000000 // 1 sig. digit =ROUND(1234567,-5) = 1200000 // 2 sig. digits =ROUND(1234567,-4) = 1230000 // 3 sig. digits =ROUND(1234567,-3) = 1235000 // 4 sig. digits

Het grootste probleem is dus hoe je -6, -5, -4 enzovoort kunt berekenen, afhankelijk van het getal dat we afronden.

De sleutel is om te begrijpen hoe deze getallen kunnen worden uitgedrukt met behulp van exponenten, zoals in wetenschappelijke notatie:

=ROUND(1234567,-6) = 1000000 = 1.0*10^6 =ROUND(1234567,-5) = 1200000 = 1.2*10^6 =ROUND(1234567,-4) = 1230000 = 1.23*10^6 =ROUND(1234567,-3) = 1235000 = 1.235*10^6

Merk op dat de exponent in alle gevallen 6 is, die wordt bepaald met deze bit:

INT(LOG10(ABS(B6)))

Dus de rest van de formule gebruikt alleen de berekende exponentwaarde om het juiste getal te berekenen om ROND te geven, afhankelijk van het gewenste aantal significante cijfers:

=ROUND(1234567,-6) // 1-(1+6) = -6 =ROUND(1234567,-5) // 2-(1+6) = -5 =ROUND(1234567,-4) // 3-(1+6) = -4 =ROUND(1234567,-3) // 4-(1+6) = -3

Dus samengevat:

  1. ABS converteert de waarde naar een absolute (positieve) waarde
  2. LOG10 krijgt de exponent, in dit geval 6 met een decimale waarde
  3. INT snijdt het decimale deel van de exponent af
  4. De formule gebruikt de exponent en de geleverde significante cijfers om het juiste aantal cijfers te berekenen dat ROND geeft
  5. ROUND rondt het getal af met behulp van het opgegeven aantal cijfers

Goede links

Afronden naar significante cijfers in Excel (vertex42.com) Intro wetenschappelijke notatie (Khan Academy)

Interessante artikelen...