
Estou tentando criar um banco de dados a partiresse site. Cada país possui vários agentes, com detalhes de contato ao lado do nome (o número de fax e o nome da empresa não são obrigatórios).
O problema é que, devido aoformato do site, quando copio os dados para minha planilha Excel, cada Agente tem informações espalhadas por 3 ou 4 linhas.
Preciso que cada Agente tenha todas as suas informações em uma linha,
por exemplo. (Células entre colchetes)
[ 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.
Tentei copiar e colar tudo manualmente, mas demora muito.
Existe alguma maneira automática ou mais rápida de conseguir o que estou tentando fazer?
Responder1
Se você quiser usar fórmulas do Excel:
- copie e cole a tabela no Excel
- as linhas nas 2 primeiras colunas serão mescladas, mas as fórmulas podem ver o valor apenas na célula superior esquerda da área mesclada, outras células aparecem em branco para fórmulas
- assumindo que os dados começam na célula
A2
, adicione a seguinte fórmula na célulaE2
- a nova linha é inserida por Alt+Enter:=C2 & SE($A3<>"", "", "
" & E3) - copie a fórmula para o intervalo apropriado
- filtrar por
Name
coluna, excluindo(Blanks)
- ocultar original
Address
eOther info
colunas - copie e cole valores especiais em uma nova planilha
O algoritmo subjacente é:
- comece na linha inferior
- se
Name
na linha 1 abaixo não estiver vazia, crie uma nova stringS
contendo o Endereço desta linha
, caso contrário, adicione o texto do Endereço nesta linha ao início deS
- mover 1 linha para cima
Responder2
Não sei exatamente como você está obtendo o valor de C1, mas você deve conseguir obter a fonte da página. Para fazer isso, pressione Ctrl+ U. Isso deve lhe dar uma página escrita em HTML. Procure a linha 128 (ou onde a tabela começa, deve haver os dados que você precisa e começa com <table class ...
.
Copie tudo de <table class ...
até </table>
que esteja na mesma linha, próximo ao final.
Cole isso no bloco de notas.
Clique em Ctrl+ He use Localizar: <br />
Substitua por: " " (um espaço em branco) e clique em substituir tudo.
Copie tudo e cole no Excel. Você pode remover a formatação depois disso para uniformizar as dimensões das células.
Observe que os hiperlinks permanecerão nos dados.
EDITAR:
Para separar e-mail, tel, celular e fax vai demorar um pouco mais, mas não tanto.
Para receber o e-mail, use esta fórmula na próxima célula do E2:
=LEFT(D2, FIND(" ",D2)-1)
E arraste para baixo.
Para obter os números agora, será mais fácil obter primeiro todos eles separadamente na coluna F:
=MID(D2, FIND(" ",D2)+1, LEN(D2))
Agora em G pegaremos o Tel, em H pegaremos o Fax e em I pegaremos o Celular.
No G2, coloque e arraste para baixo:
=IFERROR(MID(F2,FIND("Tel:",F2)+4,IFERROR(FIND(":",F2,FIND("Tel:",F2)+4),LEN(F2))-FIND("Tel:",F2)-4),"")
Em H2, coloque e arraste para baixo:
=IFERROR(MID(F2,FIND("Fax:",F2)+4,IFERROR(FIND(":",F2,FIND("Fax:",F2)+4),LEN(F2))-FIND("Fax:",F2)-4),"")
Em I2, coloque e arraste para baixo:
=IFERROR(MID(F2,FIND("Mobile:",F2)+7,IFERROR(FIND(":",F2,FIND("Mobile:",F2)+7),LEN(F2))-FIND("Mobile:",F2)-7),"")
Depois disso, copie tudo e cole como valores para remover as fórmulas. Selecione as colunas G a I e substitua all Tel
, Fax
e Mobile
por nada por Ctrl+ H.
O francês funciona na ordem mencionada acima:
=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),"")