lunes, julio 14, 2008

Numeros con ceros precedentes en Excel.

El tema de hoy es cómo agregar ceros precedentes a un valor en Excel. Esta es una tarea bastante común para todos aquellos que trabajan con sistemas como SAP o Oracle Applications e importan datos del sistema a Excel.
Uno de los problemas que suelen surgir al importar archivos .csv es que Excel convierte todo lo que parece un número a valor numérico. Si tenemos un campo con números de catálogo cuya primer cifra es cero, por ejemplo 0123456, Excel lo transformará a 123456. Podemos superar este problema usando las técnicas explicadas en la nota sobre cómo importar datos a Excel, pero hay situaciones en las cuales recibimos un archivo ya sin los ceros precedentes.

Veamos este ejemplo, donde en la columna A tenemos los valores originales (texto) y en la columna B tal como aparecen en Excel después de importarlos



Veamos las distintas alternativas a nuestra disposición.
Si queremos transformar el número a texto agregando un cero precedente y todos los valores tienen el mismo número de cifras, podemos optar por la opción de concatenar el valor en la columna B con un cero



Podemos también usar la función CONCATENAR en lugar del operador "&". Excel dará automáticamente formato de texto al resultado.

Si queremos agregar un cero precedente, pero que se mantenga el formato de número, tendremos que aplicar un formato personalizado como este: "0"#



Estas técnicas no se pueden aplicar al valor en la celda B3, ya que allí necesitamos dos ceros precedentes. Podemos aplicar la fórmula ="00"&B3 o aplicar el formato personalizado "00"#. Pero estas técnicas nos obligan a escribir una fórmula distinta para cada caso.

Si todos los valores tienen la misma cantidad de dígitos, por ejemplo 7 como los valores en el rango A2:A4, podemos aplicar el formato personalizado "0000000"



Los valores mostrarán ahora el número de ceros precedentes requerido pero seguirán siendo números. Si copiamos y pegamos los valores en el rango C2:C4 con Pegado Especial-Valores, veremos en la barra de las fórmulas que Excel no "ve" los ceros precedentes



Si queremos convertir los valores a texto, podemos usar la función TEXTO, de esta manera

=TEXTO(B2,"0000000")





Technorati Tags:

miércoles, julio 09, 2008

JLD de vacaciones

A partir de hoy y hasta el lunes 14 de julio, estaré de vacaciones terminando mi tantas veces postergado curso de buceo.
Respuestas a los comentarios y mails se demorarán hasta entonces. Mientras tanto, gracias a todos y buen fin de semana.

Technorati Tags:

martes, julio 08, 2008

Convertir valores numéricos a texto en Excel

Hay situaciones en las cuales queremos transformar valores numéricos a texto. Uno de los casos más corrientes es con las números de catálogo. Estos códigos pueden estar formados sólo por cifras o contener letras y cifras. Debido a esto son guardados en la base de datos original como texto.
Dependiendo del método que usemos para importar los datos, tendremos o no control sobre el formato de los datos en la hoja de Excel (recordemos que también podemos usar el MS Query).
Supongamos que hemos importado esta lista de números de catálogo. Aquellos que contienen alguna letra han sido convertidos a texto. Pero aquellos que contienen sólo cifras han sido transformados a números, a pesar de que en la case de datos original hayan sido guardados como texto



En la columna auxiliar "chequeo" uso la función ESNUMERO para verificar a qué tipo han sido transformados los datos.
Como podemos ver, los datos en las celdas A2 y A3 han sido transformados a valores numéricos.
En esta nota mostraremos las distintas posibilidades que nos ofrece Excel para transformarlos a texto.

1 –Usar la función TEXTO. Esta función no sólo convierte el valor numérico en texto, sino que también nos permite establecer el formato.



En este ejemplo hemos empleado el formato "General". En lugar de la palabra general podemos emplear el símbolo que lo representa: "@".
Como pueden ver la columna de chequeo (E) muestra ahora FALSO para todas las filas.
Si hace falta, podemos pegar los valores convertidos a texto en el rango original (la columna A en nuestro ejemplo), usando Pegado Especial-Valores.



Esto hará que el formato de texto se mantenga también en la columna A



2 – Usar el menú Datos-Texto en columnas. Seleccionamos el rango a convertir y abrimos el menú indicado



En el diálogo que se abre pasamos al paso 3 y marcamos Texto en la opción Formato de los datos en la columna



Apretamos Finalizar y veremos que los datos han sido convertidos a texto



Una confusión bastante común en los usuarios principiantes es intentar aplicar el formato de celda "Texto" a toda la columna. Esto no influye en los datos que ya se encuentran en las celdas de la columna. Si aplicamos el formato Texto a una celda que contiene un valor numérico, deberemos editarla para que la conversión tome efecto.
Por ejemplo, seleccionamos la celda A2 en nuestro ejemplo. Aplicamos el formato Texto con el menú Formato de celdas. Luego apretamos F2 (modo de edición) e inmediatamente Enter. El número se convertirá en Texto. Lo que hemos hecho equivale a haber tipeado el número en la celda después de haber puesto el formato de texto.





Technorati Tags: