En Google Sheets, quiero alinear números decimales sin agregar ceros finales en la parte fraccionaria.
Instead of: I want:
+------+ +------+
| 56.0| | 56 |
| 27.0| | 27 |
| 83.0| | 83 |
| 2.4| | 2.4|
| 1.2| | 1.2|
| 120.0| | 120 |
+------+ +------+
El formato de la primera columna se logra fácilmente (por ejemplo, usando el formato "0.0" o simplemente configurando puntos decimales personalizados bajo el botón 123).
En Excel, creo que el formato de la segunda columna se logra usando el formato "0.?", Pero al momento de escribir esto no funciona en Google Sheets.
Solución alterna
Es posible forzar caracteres finales con Sustituir:
= Substitute( Text( formula ; "0.0" ) ; ".0" ; " ")
= Substitute( Text( formula ; "0.0" ) ; ".0" ; "__" )
Nota: los dos caracteres de espacio en blanco sustituidos no son U + 0020 SPACE sino U + 2002 EN SPACE . ( U + 00A0 NO-BREAK SPACE también funciona).
Algunos efectos secundarios indeseables de esta solución alternativa son que
- modifica no solo el formato de visualización sino también el valor de la celda
- requiere el uso de una fuente monoespaciada en la celda
- el espacio en blanco al final provoca la sustitución de fuentes debido a Unicode y no se imprime correctamente
- los subrayados finales no son tan deseables como los espacios en blanco finales
- confunde a los mantenedores porque no es evidente que se esté utilizando un EN SPACE
- (presumiblemente) falla en configuraciones regionales que usan el punto como separador de períodos (separador de miles) en lugar del marcador decimal
fuente
Escribí un código para que tu vida sea un poco más fácil, al mostrar números alineados con decimales.
El primer código
solo se puede usar en un rango, porque cambia dinámicamente la apariencia de los números de acuerdo con el lugar decimal más alto en el rango. También le permite elegir el carácter final, como CHAR (160):
El segundo código
está destinado a ser utilizado para las células. Aquí debe establecer la longitud final:
El tercer código
atará una cadena de todos los no numéricos, excepto un "." y ",":
Archivo de ejemplo
Números Alineados Decimales
Pensamientos
¡Esta respuesta no quita las preocupaciones que mencionó en su pregunta, pero le dará cierta automatización (dinámicamente) al mostrarlas! Buena suerte.
fuente
Puede establecer el formato condicionalmente mediante el uso de un script de aplicaciones para iterar sobre el rango de celdas y aplicar diferentes formatos de números personalizados en función del valor de la celda (entero frente a no entero). Con los formatos de números personalizados, puede mostrar espacios en blanco de ancho variable utilizando el carácter de subrayado, por ejemplo,
_.
inserta un espacio en blanco del ancho de un punto e_0
inserta espacios en blanco del ancho de un carácter cero. Por cierto, la mayoría de las fuentes usan el mismo ancho para todos los caracteres numéricos, por lo que un carácter 0 tiene el mismo ancho que un 1 y 2 y 3, etc.Este es un ejemplo de cómo se muestran los números antes y después de aplicar el formatd ejecutando el script. Un inconveniente es que un cambio en el valor de la celda de entero a no entero o viceversa requerirá que el formato se vuelva a aplicar para mostrar u ocultar el decimal según sea necesario.
Guión
fuente