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:

5 comentarios:

  1. Hola,

    Primero de todo felicitarte por el magnífico blog. Me es de mucha ayuda.

    No tiene que ver con esta entrada, pero querría realizarte una consulta relacionada con los vínculos entre libros:

    Tengo una serie de libros excel, todos con el mismo formato (mismas hojas, cuadros, etc), y un libro resumen, todos en la misma carpeta. En el libro resumen quiero que al entrar el nombre de un libro (Celda A1), en A2 me salga el contenido de una determinada celda de dicho libro. Por ejemplo:

    1) Si en A1 Pongo el nombre del libro en el que buscar: "Libro1"

    2) En A2 me salga: "Resultado", donde en A2 debe debería haber la fórmula:

    ='C:\Excel\[Libro1.xls]RESUM'!$B$3

    pero en dicho vínculo, en vez de incluir [Libro1.xls], debería recogerme el contenido de A1.

    He probado, entre otras opciones, algo del estilo ='C:\Excel\["&A1 &"Libro1.xls]RESUM'!$B$3 , pero no ha funcionado. ¿Puede hacerse?

    Muchas gracias.

    ResponderBorrar
  2. Tienes que usar la función INDIRECTO. En esta nota hay un ejemplo usando referencias a hojas de un cuaderno, pero puedes aplicar la misma técnica pra referirte a hojas de otro cuaderno.
    Hay que tener en cuenta que INDIRECTO no funciona con referencias a cuadernos cerrados.

    ResponderBorrar
  3. Gracias jorge!!

    ¿No existe pero alguna formula que funcione estando los cuadernos cerrados?

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.