Formula Excel: rotunjește un număr la n cifre semnificative -

Cuprins

Formula generică

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

rezumat

Dacă trebuie să rotunjiți un număr la un anumit număr (variabil) de cifre sau cifre specificate, puteți face acest lucru cu o formulă elegantă care utilizează funcțiile ROUND și LOG10.

În exemplul prezentat, formula din D6 este după cum urmează:

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

Explicaţie

Aceasta poate fi o formulă intimidantă dacă nu aveți un background bun în matematică, dar hai să o analizăm pas cu pas.

În primul rând, atunci când aveți o formulă de genul acesta în care o funcție (în acest caz ROUND) înfășoară pe toate celelalte, este adesea util să lucrați din exterior. Deci, la bază, această formulă rotunjește valoarea în B6 folosind ROUND funcţie:

=ROUND(B6,x)

Unde x este numărul de cifre semnificative necesare. Partea dificilă a acestei formule este calcularea x. Aceasta este o variabilă, deoarece se va schimba în funcție de numărul rotunjit. x se calculează cu acest bit:

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

Acest lucru pare complicat, deci să analizăm mai întâi modul în care trebuie să funcționeze formula pentru exemplele date. Amintiți-vă cu ROUND că un număr negativ de cifre funcționează pe partea stângă a zecimalei. Deci, pentru a rotunji 1234567 la un număr tot mai mare de cifre semnificative, am avea:

=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

Deci, principala problemă este cum să calculăm -6, -5, -4 și așa mai departe, în funcție de numărul pe care îl rotunjim.

Cheia este înțelegerea modului în care aceste numere ar putea fi exprimate folosind exponenți, ca în notația științifică:

=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

Rețineți că exponentul este 6 în toate cazurile, care se determină cu acest bit:

INT(LOG10(ABS(B6)))

Deci, restul formulei folosește doar valoarea exponentului calculat pentru a afla numărul potrivit pentru a da ROUND în funcție de numărul de cifre semnificative dorit:

=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

Deci, pe scurt:

  1. ABS convertește valoarea într-o valoare absolută (pozitivă)
  2. LOG10 primește exponentul, în acest caz 6 cu o valoare zecimală
  3. INT elimină partea zecimală a exponentului
  4. Formula folosește exponentul și cifrele semnificative furnizate pentru a afla numărul corect de cifre pentru a da ROUND
  5. ROUND rotunjește numărul folosind numărul de cifre furnizate

Legături bune

Rotunjirea la cifre semnificative în Excel (vertex42.com) Introducere în notație științifică (Academia Khan)

Articole interesante...