Excel formula: zaokroži število na n pomembnih števk -

Kazalo

Splošna formula

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

Povzetek

Če morate število zaokrožiti na dano (spremenljivo) število določenih številk ali številk, lahko to storite z elegantno formulo, ki uporablja funkcije ROUND in LOG10.

V prikazanem primeru je formula v D6 naslednja:

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

Pojasnilo

To je lahko zastrašujoča formula, če nimate dobrega znanja iz matematike, vendar se lotimo postopoma.

Prvič, ko imate takšno formulo, pri kateri se ena funkcija (v tem primeru ROUND) ovije okoli vseh drugih, je pogosto koristno delati od zunaj. Torej, v bistvu ta formula zaokroži vrednost v B6 z uporabo ROUND funkcija:

=ROUND(B6,x)

Kjer je x število zahtevanih pomembnih števk. Težaven del te formule je izračunati x. To je spremenljivka, ker se bo spreminjala glede na zaokroženo število. x se izračuna s tem bitom:

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

To se zdi zapleteno, zato poglejmo najprej, kako mora formula delovati za dane primere. Pri ROUND ne pozabite, da na levi strani decimalnega mesta deluje negativno število števk. Torej, da zaokrožimo 1234567 na vedno večje število pomembnih številk, bi imeli:

=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

Glavni problem je torej, kako izračunati -6, -5, -4 in tako odvisno od števila, ki ga zaokrožujemo.

Ključno je razumevanje, kako bi lahko te številke izrazili z eksponenti, kot je v znanstvenem zapisu:

=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

Upoštevajte, da je eksponent v vseh primerih 6, kar se določi s tem bitom:

INT(LOG10(ABS(B6)))

Torej, preostali del formule samo uporablja izračunano vrednost eksponenta, da bi ugotovil pravo številko, ki daje ROUND, odvisno od želenega števila pomembnih številk:

=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

Torej, na kratko:

  1. ABS pretvori vrednost v absolutno (pozitivno) vrednost
  2. LOG10 dobi eksponent, v tem primeru 6 z decimalno vrednostjo
  3. INT odreže decimalni del eksponenta
  4. Formula uporablja eksponent in priložene pomembne števke, da ugotovi pravo število števk, da dobi ROUND
  5. ROUND zaokroži številko s številom dobavljenih številk

Dobre povezave

Zaokroževanje na pomembne številke v Excelu (vertex42.com) Uvod v znanstveni zapis (Khan Academy)

Zanimive Članki...