
Estoy intentando crear una base de datos desdeeste sitio web. Cada país tiene muchos agentes, con datos de contacto junto a su nombre (no se requieren número de fax ni nombre de la empresa).
El problema es que, debido a laformato del sitio web, cuando copio los datos en mi hoja de Excel, cada Agente tiene información distribuida en 3 o 4 filas.
Necesito que cada Agente tenga toda su información en una fila,
por ejemplo (celdas entre paréntesis)
[ A1 ] [ B1 ] [ C1 ] [ D1 ] [ E1 ] [ F1 ]
GRO Alberti [email protected] Bosnia P Hora K2 A 8 41 Dhjetori Girana Tel:+42-79/379 82 86.
Intenté copiarlo y pegarlo todo manualmente, pero lleva demasiado tiempo.
¿Existe alguna forma automática o más rápida de lograr lo que intento hacer?
Respuesta1
Si desea utilizar fórmulas de Excel:
- copiar y pegar la tabla en excel
- Las filas de las primeras 2 columnas se fusionarán, pero las fórmulas solo pueden ver el valor en la celda superior izquierda del área fusionada; otras celdas aparecen en blanco para las fórmulas.
- suponiendo que los datos comienzan en la celda
A2
, agregue la siguiente fórmula en la celdaE2
; la nueva línea se ingresa mediante Alt+Enter:=C2 y SI ($A3<>"", "", "
" y E3) - copiar la fórmula al rango apropiado
- filtrar por
Name
columna, excluyendo(Blanks)
- ocultar original
Address
yOther info
columnas - copiar y pegar valores especiales como valores en una hoja nueva
El algoritmo subyacente es:
- empezar en la fila inferior
- Si
Name
en 1 fila hacia abajo no está vacía, cree una nueva cadenaS
que contenga la Dirección de esta fila
; de lo contrario, agregue el texto de la Dirección de esta fila al principio deS
- mover 1 fila hacia arriba
Respuesta2
No estoy seguro exactamente de cómo obtienes el valor de C1, pero deberías poder obtener la fuente de la página. Para hacer esto, presione Ctrl+ U. Esto debería darle una página escrita en HTML. Busque la línea 128 (o donde comienza la tabla, allí deben estar los datos que necesita y comienza con <table class ...
.
Copie todo lo <table class ...
que </table>
está en la misma línea, cerca del final.
Pega esto en el bloc de notas.
Haga clic en Ctrl+ Hy use Buscar qué: <br />
Reemplazar con: " " (un espacio en blanco) y presione reemplazar todo.
Copia todo y pega en excel. Puede eliminar el formato después de eso para igualar las dimensiones de la celda.
Tenga en cuenta que los hipervínculos permanecerán en los datos.
EDITAR:
Para separar el email, tel, móvil y fax será un poco más largo, pero no tanto.
Para recibir el correo electrónico, use esta fórmula en la siguiente celda en E2:
=LEFT(D2, FIND(" ",D2)-1)
Y arrastra hacia abajo.
Para obtener los números ahora, será más fácil obtenerlos primero por separado en la columna F:
=MID(D2, FIND(" ",D2)+1, LEN(D2))
Ahora en G nos saldrá el Tel, en H nos saldrá el Fax y en I nos saldrá el Móvil.
En G2, coloque y arrastre hacia abajo:
=IFERROR(MID(F2,FIND("Tel:",F2)+4,IFERROR(FIND(":",F2,FIND("Tel:",F2)+4),LEN(F2))-FIND("Tel:",F2)-4),"")
En H2, coloca y arrastra hacia abajo:
=IFERROR(MID(F2,FIND("Fax:",F2)+4,IFERROR(FIND(":",F2,FIND("Fax:",F2)+4),LEN(F2))-FIND("Fax:",F2)-4),"")
En I2, coloca y arrastra hacia abajo:
=IFERROR(MID(F2,FIND("Mobile:",F2)+7,IFERROR(FIND(":",F2,FIND("Mobile:",F2)+7),LEN(F2))-FIND("Mobile:",F2)-7),"")
Después de eso, copie todo y péguelo como valores para eliminar fórmulas. Seleccione las columnas G a I y reemplace all Tel
, Fax
y Mobile
por nada hasta Ctrl+ H.
Las funciones francesas en el orden mencionado anteriormente:
=GAUCHE(D2, TROUVE(" ",D2)-1)
=STXT(D2, TROUVE(" ",D2)+1, NBCAR(D2))
=SIERREUR(STXT(F2,TROUVE("Tel:",F2)+4,SIERREUR(TROUVE(":",F2,TROUVE("Tel:",F2)+4),NBCAR(F2))-TROUVE("Tel:",F2)-4),"")
=SIERREUR(STXT(F2,TROUVE("Fax:",F2)+4,SIERREUR(TROUVE(":",F2,TROUVE("Fax:",F2)+4),NBCAR(F2))-TROUVE("Fax:",F2)-4),"")
=SIERREUR(STXT(F2,TROUVE("Mobile:",F2)+7,SIERREUR(TROUVE(":",F2,TROUVE("Mobile:",F2)+7),NBCAR(F2))-TROUVE("Mobile:",F2)-7),"")