Usando un número exacto de dígitos (Microsoft Excel)
Henk preguntó si hay una forma en Excel de mostrar un número con seis dígitos, independientemente de la ubicación del punto decimal. Por ejemplo, 0.1 se mostraría como 0.10000, 200 se mostraría como 200.000 y 25000 se mostraría como 25000.0.
Desafortunadamente, no hay ningún formato que funcione; todo el formato de visualización parece depender de la posición del punto decimal. Puede formatear una pantalla para un número específico de dígitos después del punto decimal, pero ese número de dígitos se utilizará independientemente de cuántos dígitos aparezcan antes del punto decimal.
Varios suscriptores de ExcelTips presentaron sugerencias que implican el uso de fórmulas para mostrar el número como se desea. Por ejemplo, la siguiente fórmula mostrará el valor en A1 con seis dígitos:
=FIXED(A1,IF(ABS(A1)<1,5,5-INT(LOG(ABS(A1)))),TRUE)
Otros lectores proporcionaron fórmulas que se basaban en convertir el número en una cadena de texto y mostrarlo como tal. Sin embargo, convertir un número a su equivalente textual tiene el inconveniente de que ya no se puede usar el número en otras fórmulas. (Recuerde, es texto en este punto, no un número). La fórmula anterior no tiene esa limitación.
Si lo desea, también puede usar una macro para establecer el formato dentro de una celda que contiene un valor. La ventaja de tal macro es que no tiene que usar una celda para una fórmula, como se muestra arriba. El inconveniente de una macro es que debe recordar ejecutarla en las celdas siempre que cambien los valores dentro de ellas. La siguiente macro es un ejemplo de este enfoque:
Sub SetFigures() Dim iDecimals As Integer Dim bCommas As Boolean Dim sFormat As String Dim CellRange As Range Dim TestCell As Range bCommas = False 'Change as desired Set CellRange = Selection For Each TestCell In CellRange If Abs(TestCell.Value) < 1 Then iDecimals = 5 Else iDecimals = 5 - Int(Log(Abs(TestCell.Value)) / Log(10#)) End If sFormat = "0" If bCommas Then sFormat = "#,##0" If iDecimals < 0 Then sFormat = "General" If iDecimals > 0 Then sFormat = sFormat & _ "." & String(iDecimals, "0") TestCell.NumberFormat = sFormat Next TestCell End Sub
Para usar la macro, simplemente seleccione las celdas que desea formatear y luego ejecútela. Cada celda del rango que seleccionó está configurada para mostrar seis dígitos, a menos que el número de la celda sea demasiado grande o demasiado pequeño.
_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 (1933) 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 posteriores) aquí:
link: / excelribbon-Using_an_Exact_Number_of_Digits [Usando un número exacto de dígitos]
.