Formuła programu Excel: Zaokrąglij liczbę do n cyfr znaczących -

Spisie treści

Formuła ogólna

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

Podsumowanie

Jeśli chcesz zaokrąglić liczbę do podanej (zmiennej) liczby określonych cyfr lub cyfr, możesz to zrobić za pomocą eleganckiej formuły, która wykorzystuje funkcje ROUND i LOG10.

W pokazanym przykładzie formuła w D6 wygląda następująco:

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

Wyjaśnienie

Może to być onieśmielająca formuła, jeśli nie masz dobrego doświadczenia w matematyce, ale przejdźmy przez nią krok po kroku.

Po pierwsze, gdy masz formułę taką jak ta, w której jedna funkcja (w tym przypadku ZAOKR) otacza wszystkie inne, często pomocne jest wykonanie czynności od zewnątrz do wewnątrz. Tak więc, w istocie, ta formuła zaokrągla wartość w B6 za pomocą ZAOKR funkcjonować:

=ROUND(B6,x)

Gdzie x to liczba wymaganych cyfr znaczących. Trudną częścią tego wzoru jest obliczenie x. Jest to zmienna, ponieważ będzie się zmieniać w zależności od zaokrąglanej liczby. x oblicza się za pomocą tego bitu:

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

Wydaje się to skomplikowane, więc najpierw przyjrzyjmy się, jak formuła musi działać dla podanych przykładów. Pamiętaj, że w przypadku ROUND ujemna liczba cyfr działa po lewej stronie przecinka. Tak więc, aby zaokrąglić liczbę 1234567 do rosnącej liczby cyfr znaczących, otrzymalibyśmy:

=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

Zatem głównym problemem jest to, jak obliczyć -6, -5, -4 itd. W zależności od liczby, którą zaokrąglamy.

Kluczem jest zrozumienie, jak te liczby można wyrazić za pomocą wykładników, jak w notacji naukowej:

=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

Zauważ, że wykładnik wynosi 6 we wszystkich przypadkach, co jest określane tym bitem:

INT(LOG10(ABS(B6)))

Tak więc reszta wzoru polega po prostu na użyciu obliczonej wartości wykładnika, aby obliczyć odpowiednią liczbę, aby uzyskać ROUND w zależności od pożądanej liczby cyfr znaczących:

=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

Podsumowując:

  1. ABS konwertuje wartość na wartość bezwzględną (dodatnią)
  2. LOG10 pobiera wykładnik, w tym przypadku 6 z wartością dziesiętną
  3. INT obcina część dziesiętną wykładnika
  4. Formuła wykorzystuje wykładnik i podane cyfry znaczące, aby obliczyć odpowiednią liczbę cyfr, aby uzyskać ZAOKR
  5. ROUND zaokrągla liczbę przy użyciu podanej liczby cyfr

Dobre linki

Zaokrąglanie do znaczących liczb w Excelu (vertex42.com) Wprowadzenie do notacji naukowej (Khan Academy)

Interesujące artykuły...