Excel vzorec: Zaokrouhlení čísla na n platných číslic -

Obsah

Obecný vzorec

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

souhrn

Pokud potřebujete zaokrouhlit číslo na daný (proměnný) počet zadaných číslic nebo čísel, můžete tak učinit pomocí elegantního vzorce, který používá funkce ROUND a LOG10.

V zobrazeném příkladu je vzorec v D6 následující:

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

Vysvětlení

Může to být zastrašující vzorec, pokud nemáte dobré matematické znalosti, ale pojďme to projít krok za krokem.

Nejprve, když máte vzorec, jako je tento, kde jedna funkce (v tomto případě ROUND) obepíná všechny ostatní, je často užitečné pracovat zvenčí. Takže v jádru tento vzorec zaokrouhluje hodnotu v B6 pomocí ROUND funkce:

=ROUND(B6,x)

Kde x je počet požadovaných platných číslic. Složitou částí tohoto vzorce je výpočet x. Toto je proměnná, protože se bude měnit v závislosti na zaokrouhlovaném počtu. x se počítá s tímto bitem:

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

To se zdá komplikované, takže se podívejme nejprve na to, jak musí vzorec pro dané příklady fungovat. Pamatujte si s ROUND, že na levé straně desetinné čárky funguje záporný počet číslic. Takže zaokrouhlením 1234567 na rostoucí počet platných číslic bychom měli:

=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

Hlavním problémem tedy je, jak vypočítat -6, -5, -4 atd. V závislosti na čísle, které zaokrouhlujeme.

Klíčem je pochopení toho, jak lze tato čísla vyjádřit pomocí exponentů, jako ve vědecké notaci:

=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

Všimněte si, že exponent je ve všech případech 6, což je určeno tímto bitem:

INT(LOG10(ABS(B6)))

Zbytek vzorce tedy pouze používá vypočítanou hodnotu exponentu k určení správného čísla, které dává ROUND v závislosti na požadovaném počtu významných číslic:

=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

Stručně řečeno:

  1. ABS převede hodnotu na absolutní (kladnou) hodnotu
  2. LOG10 získá exponent, v tomto případě 6 s desetinnou hodnotou
  3. INT ořízne desetinnou část exponentu
  4. Vzorec používá exponent a zadané významné číslice k určení správného počtu číslic, aby bylo KOLO
  5. ROUND zaokrouhlí číslo na počet zadaných číslic

Dobré odkazy

Zaokrouhlování na významná čísla v aplikaci Excel (vertex42.com) Úvod do vědecké notace (Khan Academy)

Zajímavé články...