Fórmula de Excel: redondear un número an dígitos significativos -

Tabla de contenido

Fórmula genérica

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

Resumen

Si necesita redondear un número a un número determinado (variable) de dígitos o cifras especificados, puede hacerlo con una fórmula elegante que utiliza las funciones REDONDEAR y LOG10.

En el ejemplo que se muestra, la fórmula en D6 es la siguiente:

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

Explicación

Esta puede ser una fórmula intimidante si no tienes una buena formación en matemáticas, pero vamos a trabajar en ella paso a paso.

Primero, cuando tiene una fórmula como esta en la que una función (en este caso, REDONDEAR) envuelve a todas las demás, a menudo es útil trabajar de afuera hacia adentro. Entonces, en el núcleo, esta fórmula es redondear el valor en B6 usando la REDONDA función:

=ROUND(B6,x)

Donde x es el número de dígitos significativos requeridos. La parte complicada de esta fórmula es calcular x. Ésta es una variable, porque cambiará dependiendo del número que se redondee. x se calcula con este bit:

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

Esto parece complicado, así que veamos primero cómo debe funcionar la fórmula para los ejemplos dados. Recuerde con ROUND que un número negativo de dígitos funciona en el lado izquierdo del decimal. Entonces, para redondear 1234567 a un número creciente de dígitos significativos, tendríamos:

=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

Entonces, el problema principal es cómo calcular -6, -5, -4 y así sucesivamente, dependiendo del número que estamos redondeando.

La clave es comprender cómo se pueden expresar estos números utilizando exponentes, como en la notación científica:

=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

Tenga en cuenta que el exponente es 6 en todos los casos, que se determina con este bit:

INT(LOG10(ABS(B6)))

Entonces, el resto de la fórmula solo usa el valor del exponente calculado para averiguar el número correcto para dar REDONDEADO dependiendo del número de dígitos significativos deseados:

=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

Entonces, en resumen:

  1. ABS convierte el valor en un valor absoluto (positivo)
  2. LOG10 obtiene el exponente, en este caso 6 con un valor decimal
  3. INT recorta la parte decimal del exponente
  4. La fórmula usa el exponente y los dígitos significativos proporcionados para calcular el número correcto de dígitos para dar ROUND
  5. REDONDEAR redondea el número utilizando el número de dígitos proporcionado

Buenos enlaces

Redondeo a cifras significativas en Excel (vertex42.com) Introducción a la notación científica (Khan Academy)

Articulos interesantes...