Encontrar la cantidad de dígitos significativos (Microsoft Excel)
A Brenda le interesa saber el número de dígitos significativos de un valor. Se pregunta si hay una función o fórmula de Excel que pueda usar que devuelva la cantidad de dígitos significativos en el valor que se muestra en una celda.
Esta pregunta no es tan simple como parece. Para algunas personas, encontrar el número de dígitos en un valor, menos los puntos decimales o los signos negativos.
Si eso es todo lo que necesita, entonces algo como esta fórmula funcionará bien:
=IF(A1<0,IF(A1=INT(A1),LEN(A1)-1,LEN(A1)-2),IF(INT(A1)=A1,LEN(A1),LEN(A1)-1))
Sin embargo, la razón por la que esto no es tan simple es porque lo que constituye el número de dígitos significativos en un valor depende de muchas cosas. La conclusión es que no siempre se puede saber con un valor cuántos dígitos significativos tiene.
Por ejemplo, el valor 100 podría tener 1, 2 o 3 dígitos significativos. Se presume que el valor 1.00 tiene 3 dígitos significativos, pero ese puede no ser el caso si el valor mostrado es el resultado del formato impuesto por Excel; por ejemplo, el valor en la celda podría ser 1.0000437, que Excel formatea como 1.00. Puede descubrir más sobre el tema de los dígitos significativos aquí:
http://excel.tips.net/T001983
Hay algunas formas generalmente aceptadas de identificar dígitos significativos en un número, pero cualquier intento de codificar un conjunto de reglas siempre está abierto a debate. Uno de estos conjuntos de reglas se ha observado en Wikipedia, en la sección «Identificación de dígitos significativos» de este artículo:
http://en.wikipedia.org/wiki/Significant_figures
Con al menos un conjunto rudimentario de reglas en mente (como el del artículo de Wikipedia), es posible desarrollar una función definida por el usuario que le dará el número más probable de dígitos significativos para un valor.
Function SigFigs(rng As Range, Optional iType As Integer = 1) 'iType = 1 is Min 'iType = 2 is Max Dim rCell As Range Dim sText As String Dim sText2 As String Dim iMax As Integer Dim iMin As Integer Dim iDec As Integer Dim i As Integer Application.Volatile Set rCell = rng.Cells(1) 'if not a number then error If Not IsNumeric(rCell) Or IsDate(rCell) Then SigFigs = CVErr(xlErrNum) Exit Function End If sText2 = Trim(rCell.Text) sText = "" 'find position of decimal point (it matters) iDec = InStr(sText2, ".") 'strip out any non-numbers (including decimal point) For i = 1 To Len(sText2) If Mid(sText2, i, 1) >= "0" And _ Mid(sText2, i, 1) <= "9" Then _ sText = sText & Mid(sText2, i, 1) Next 'remove any leading zeroes (they don't matter) While Left(sText, 1) = "0" sText = Mid(sText, 2) Wend iMax = Len(sText) 'strip trailing zeroes (they don't matter if no decimal point) sText2 = sText If iDec = 0 Then While Right(sText2, 1) = "0" sText2 = Left(sText2, Len(sText2) - 1) Wend End If iMin = Len(sText2) 'return Min or Max Select Case iType Case 1 SigFigs = iMin Case 2 SigFigs = iMax Case Else SigFigs = CVErr(xlErrNum) End Select End Function
Llamas a esta función usando lo siguiente en tu hoja de trabajo:
=SigFigs(A1, x)
Puede reemplazar x con 1 o 2. Si especifica 1, la función devuelve el número mínimo de dígitos significativos. Si especifica 2, la función devuelve el número máximo de dígitos significativos. En la mayoría de los casos, los dos posibles valores devueltos serán los mismos, excepto con valores que son números enteros, sin un punto decimal al final, que tienen ceros al final. En otras palabras, si usa la función para evaluar el número 1234000, entonces el mínimo (x es 1)
devuelve 4 y el máximo (x es 2) devuelve 7.
La función toma en consideración cómo aparece el número en la hoja de trabajo, lo que significa que importa cómo se formatea el número. Elimina cualquier carácter de formato, como signos negativos, paréntesis y comas.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (10975) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.
Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:
link: / excelribbon-Finding_the_Number_of_Significant_Digits [Encontrar el número de dígitos significativos]
.