lunes, 1 de marzo de 2010

La lección de mi amigo Fede

El otro día recibí en mi correo del trabajo una consulta de mi amigo Fede. Ocasionalmente me ha preguntado alguna cosilla sobre Excel, como casi todos mis amigos o excompañeros. En caso de estar en el trabajo, si tengo una respuesta inmediata se la doy, pero si requiere algo más de análisis les remito a otro momento en el que pueda pensar en ello. No sólo porque suelo estar liado en mis horas de trabajo, sino lógicamente porque no me parece muy ético hacerlo de otro modo.

Como desgraciadamente es habitual en los tiempos de crisis que corren, la empresa para la que trabaja mi amigo Fede ha cerrado y despedido a todos sus trabajadores. Fede es el responsable de la administración de personal por lo que le ha correspondido cargar con todo el papeleo y los trámites burocráticos.

El mail que me envió, tenía una hoja de excel con algunos datos de los empleados que obviamente se ocupó de sustituir para no desvelar, pero reflejando la estructura de la hoja; nombre, dirección, fecha de entrada, antigüedad, código de empleado,… y quería utilizar Word vinculado a Excel para construir las etiquetas con la dirección que utilizaría para enviar la documentación a todos ellos.

La solución era muy fácil, utilizar la opción de Combinar Correspondencia de Word (para la que próximamente dedicaré una entrada), y que básicamente trae la información de una tabla de excel para incluirla en un documento de word. De este modo, puedes construir miles de documentos con datos personalizados (por ejemplo un mailing), de forma automática e inmediata.

Había un pequeño problema, la hoja de excel donde estaban los datos no tenía formato tabla. Utilizaba distintas líneas para poner toda la información, dejaba espacios en blanco en los saltos de página, al principio del informe ponía un encabezado con el nombre del informe de la aplicación, fecha,…
En definitiva, la manera habitual en la que suelen aparecer los datos al bajarlos de un ERP o una aplicación de gestión a Excel.
.
En concreto, la disposición de la información era la que se puede apreciar en el pantallazo a vista de pájaro y en las imágenes siguientes en mayor detalle.


En este caso la disposición de la información suponía el problema ya que necesitaba tener la información en formato tabla. Una vez solucionado esto, Combinar Correspondencia no suponía ningún problema.
.


No bastaba con ordenar la tabla, ya que haciendo una ordenación simple por un campo como Código de Empleado se perderían los datos de la dirección, que eran precisamente los que le interesaban. Después de un vistazo rápido, le dije que podía hacerse una macro para ordenar la tabla según convenía, pero que si no iba a ser una necesidad recurrente, para un sólo uso no tenía sentido ponerse con ello. Así que como andaba algo liado, dí por supuesto que era inevitable el arrastre a mano uno por uno para luego ordenar los campos. Teniendo en cuenta que eran unos 400 podéis suponer el trabajo que significaba.

Al día siguiente F. tenía la información en formato tabla. Supuse que el pobre había estado arrastrando los campos a mano, y la verdad es que pensé que quizá podía haber hecho algo más para facilitarle las cosas… pero me dio una lección cuando me explicó cómo lo había hecho. Como se suele decir, a veces los árboles no te dejan ver el bosque. Tendemos a evaluar automáticamente una situación de forma compleja por costumbre cuando la solución elemental está en frente. No sé si dedicándole un par de minutos más, hubiera encontrado ésta o una solución similar, pero la verdad es que cuando me contó su truco no pude evitar quedarme perplejo por no haber visto una solución tan sencilla y tan buena de forma inmediata. ¡¡Bravo Fede!!.

El proceso de Fede fué el siguiente:
.
Insertó dos columnas en las que incluir los campos Dirección y Código postal que estaban bajo el nombre.
.
Copio un rango con todos los datos de la columna que contenía Nombre, Dirección y Código Postal. Y pegó esa misma columna en las columnas insertadas pero una celda mas arriba para la columna dirección y dos para la columna Código postal.
.
Así en la línea que nos interesa está toda la información, habiendo “residuos” en el resto. Esto no nos importa, porque son columnas que desechamos despues de ordenar.
.

Los campos no sólo están bien situados al principio de la tabla, sino también en el resto ya que los espacios se repiten siguiendo el mismo modelo durante todo el informe.


Seleccionamos todo el área que nos interesa ordenar y ordenamos por cualquiera de los campos que presentan celdas en blanco, nosotros elegimos el primero (Código de Empleado).
.
Quedando la tabla despues de limpiar los residuos en perfectas condiciones para utilizar Combinar Correspondencia.

A la hora de enfrentarse a un problema, es conveniente hacerlo sin prejuicios. No es fácil, pero mi amigo Fede me ha recordado que es muy conveniente. A veces es dificil decidir en que momento debemos dejar de pensar que existe una solución sencilla para pasar a análisis más complejos. Pero debo recordar que hay que desechar primero las opciones elementales.

A Combinar Correspondencia le dedicaré una próxima entrada. Con esta solución cree hace poco en mi empresa un sistema para que partiendo de la información presente en Navision sobre entrada de pedidos de nuestros proveedores, enviásemos de forma automática cartas a todos ellos preguntando por los pedidos que según la fecha de entrega que nos habían dado estaban aún pendientes de recibir en nuestro almacén habiendo pasado dicha fecha. Es una utilidad muy interesante si nuestro sistema no dispone de opciones para crear mailings, cartas de reclamación de deuda a clientes,…

No hay comentarios: