lunes, 15 de febrero de 2010

Texto en columnas.

Resolveremos un problema de exceso de información en los valores de una columna. Me exponía una usuaria la siguiente cuestión:
...Tengo una lista en excel de más de 10.000 direcciones de email,que tienen por delante unas letras y números y también están entre <> en la misma columna, lo que necesito son solo las direcciones de correo...

En este caso, en el que sólo necesitamos parte de la información de cada registro, nos vendrá bien emplear la herramienta Texto en columnas, mediante su asistente de tres pasos.
Supongamos que disponemos de este listado de correos electrónicos:

Texto en columnas.


Sobre la columna de nuestro rango de celdas activaremos la herramienta Texto en columnas, la encontraremos menú Datos > Grupo Herramientas de datos > Texto en columnas.
Esto nos activará un Asistente para convertir texto en columnas de tres pasos.
  1. Paso 1: elegimos el tipo de datos a convertir.
    En este caso particular que nos ocupa seleccionaremos 'De ancho fijo'

    Texto en columnas.


  2. Paso 2: dividiremos a nuestra antojo la columna de datos. Por defecto suelen aparecer una división del campo en varias partes; pero esto es moldeable siguiendo las instrucciones que aparecen en el Asistente. Podremos Eliminar, Crear y Mover estas líneas de división.

    Texto en columnas.


    El objetivo es que el paso 2 quede:

    Texto en columnas.


  3. Paso 3: en este paso decidimos que divisiones de las realizadas en el Paso 2 queremos importar a nuestra hoja de cálculo. Esto lo podemos ver en la vista previa como dos columnas de datos, la primera no la queremos para nada, por lo que con ella seleccionada marcaremos la opción de 'NO importar columna(saltar)'; ya podemos darle finalizar.

    Texto en columnas.


    En este paso podremos determinar, de manera algo restringida ciertos aspectos del formato de nuestras nuevas columnas.

Una vez Finalizado el Asistente, nos devolverá a nuestra hoja de cálculo, en la celda que habíamos seleccionad en el Paso 3, un listado de emails con el símbolo '>' al final.

Texto en columnas.


Como tampoco lo queremos para nada, marcamos la columna entera, y activamos Buscar y Reemplazar, y obviamente Reemplazaremos > por nada (es decir, Buscar '>' y Reemplazar 'vacio').

Texto en columnas.


Y listo, ya tenemos nuestro listado de email limpio de caracteres innecesarios.

8 comentarios:

  1. Esto esta muy bien, soy nuevo en el foro, y me gustaria aprender funciones y formulas para excell.. gracias.

    ResponderEliminar
  2. Hola,
    podrías comenzar echando un vistazo al tema de 'funciones'
    http://excelforo.blogspot.com/search/label/Funciones
    y cuando se te cree alguna duda, preguntarme vía mail a
    excelforo@gmail.com
    o mediante comentarios, como prefieras.
    Slds

    ResponderEliminar
  3. hola gente de excel foros, la verdad y antes que nada felicitarlos por el gran trabajo que hacen y la ayuda que brindan a las muchisimas dudas que tiene la gente que no sabe, ojala sigan asi,
    nesecito hacerles una consulta: estoy haciendo una base de datos de emails, los tengo guardados en word y cuando los copio todos en excel, me quedan uno allado del otro, y yo nesecito si se podria hacer, es, que al copiarlos me queden uno abajo del otro en columnas,uno en cada celda y asi poder ordenarlos y borrar los repetidos. no se si me exprese bien con la pregunta, pero les agradeceria mucho su respuesta, gracias. gustavo.

    templarios_metal_zine@hotmail.com

    ResponderEliminar
  4. Hola Gustavo,
    supongo que ya habrás intentado lo que se comenta en esta entrada... si es así, y no has conseguido lo que quieres, habría que saber cual es el caracter que separa los distintos emails que tienes en word.
    Probablemente la clave esté en ese word, en lugar de copiar de word a excel, abre el fichero word desde Excel, para que habilite el asistente Texto en columnas... y puedas seguir los sencillos pasos explicados en este post.
    No puedo decirte mucho más sin ver el fichero.
    Un saludo y muchas gracias por tu comentario de apoyo a mi proyecto personal.

    ResponderEliminar
  5. Hola!

    Yo tambien quiero felicitaros por el trabajazo que haceis, y tambien haceros una consulta al hilo del tema. Yo tambien necesito extraer un texto concreto de frases completas que estan en columnas, quitando el exceso de información, mi problema adicional es que mi columna de texto se alimenta de una pagina web, de tal manera que cuando actualizo la oja de calculo entran nuevos datos en la columna con texto, como ya habeis indicado, utilizo el asistente para separar cada palabra en una celda y así poder hacer las busquedas, pero cada vez que actualizo la hoja de calculo para que obtenga nuevos datos de la web, se desordena y todas las frases completas vuelven a estar en la misma celda, y tengo que volver a hacer el proceso de separar cada palabra em su celda para poder hacer las busquedas.

    Existe alguna manera de poder hacer la busqueda de las palabras en celdas con frases enteras y que se van actualizando¿?

    Muchas gracias.

    ResponderEliminar
    Respuestas
    1. Hola,
      muy agradecido por tus palabras de apoyo por este pequeño granito de arena al mundo de Excel.
      Respecto a tu cuestión, entiendo que importas datos desde Web, a través de una Conexión creada, y que por ese motivo cada vez que actualizas la conexión, te desordena todo, trayendo a tu hoja de cálculo, las frases completas...
      Para solucionar este problema, podrías usar el Asistente de grabación de macros para replicar el proceso que realices, así no tendrías que repetir los pasos.
      También es cierto que necesitaría saber que quieres hacer exactamente con esas palabras 'separadas' por celdas, ya que quizá si sólo necesitas buscar algo de esas 'frases' no sea necesario separarlas con el asistente de 'Texto en columnas'...
      Un cordial saludo

      Eliminar
  6. necesito crear
    una columna que tome el nombre del estudiante y le agregue el texto “@gmail.com”
    para mostrar un correo electrónico por cada estudiante

    ResponderEliminar
    Respuestas
    1. Hola, que tal?.
      supondremos que ya tienes en una columna los nombres de los estudiantes, asi que me centraré sólo en generar la nueva columna donde agregar ese texto.
      El asunto es sencillo, en la nueva columna puedes usar la función CONCATENAR:
      =CONCATENAR(nombre;"@gmail.com"
      con eso tendrías la nueva columna con el formato nombre@gmail.com
      Un saludo

      Eliminar