
Я пытаюсь создать базу данных изэтот сайт. В каждой стране есть множество агентов, контактные данные которых указаны рядом с их именами (номер факса и название компании не обязательны).
Проблема в том, что из-заформат веб-сайта, когда я копирую данные в таблицу Excel, информация по каждому агенту располагается в 3 или 4 строках.
Мне нужно, чтобы у каждого агента была вся информация в одной строке,
например.(Ячейки в скобках)
[ 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.
Я пробовал копировать и вставлять все вручную, но это занимает слишком много времени.
Есть ли какой-то автоматический или более быстрый способ достичь того, что я пытаюсь сделать?
решение1
Если вы хотите использовать формулы Excel:
- скопируйте и вставьте таблицу в Excel
- Строки в первых двух столбцах будут объединены, но формулы смогут видеть значение только в верхней левой ячейке объединенной области, остальные ячейки будут пустыми для формул.
- Предполагая, что данные начинаются в ячейке
A2
, добавьте следующую формулу в ячейкуE2
- новая строка вводится следующим образом Alt+Enter:=C2 & ЕСЛИ($A3<>"", "", "
" & E3) - скопировать формулу в соответствующий диапазон
- фильтр по
Name
столбцу, исключая(Blanks)
- скрыть оригинал
Address
иOther info
столбцы - скопировать и вставить специально как Значения на новый лист
Основной алгоритм:
- начните с нижнего ряда
- если
Name
в 1 строке вниз не пусто, создайте новую строку,S
содержащую Адрес из этой строки
, иначе добавьте текст из Адреса в этой строке в началоS
- переместиться на 1 строку вверх
решение2
Я не уверен, как именно вы получаете значение C1, но вы должны быть в состоянии получить исходный код страницы. Для этого нажмите Ctrl+ U. Это должно дать вам страницу, написанную на html. Найдите строку 128 (или там, где начинается таблица, там должны быть нужные вам данные, и они начинаются с <table class ...
.
Скопируйте все, <table class ...
что </table>
находится на той же строке, ближе к концу.
Вставьте это в блокнот.
Нажмите Ctrl+ Hи используйте Найти: <br />
Заменить на: " " (один пробел) и нажмите заменить все.
Скопируйте все и вставьте в excel. После этого можно убрать форматирование, чтобы выровнять размеры ячеек.
Обратите внимание, что гиперссылки останутся в данных.
РЕДАКТИРОВАТЬ:
Если разделить электронную почту, телефон, мобильный телефон и факс, то получится немного дольше, но не настолько.
Чтобы получить адрес электронной почты, используйте эту формулу в следующей ячейке E2:
=LEFT(D2, FIND(" ",D2)-1)
И потяните вниз.
Чтобы получить числа сейчас, будет проще сначала получить их все по отдельности в столбце F:
=MID(D2, FIND(" ",D2)+1, LEN(D2))
В G мы получим телефон, в H — факс, а в I — мобильный телефон.
В G2 поместите и перетащите вниз:
=IFERROR(MID(F2,FIND("Tel:",F2)+4,IFERROR(FIND(":",F2,FIND("Tel:",F2)+4),LEN(F2))-FIND("Tel:",F2)-4),"")
В H2 поместите и перетащите вниз:
=IFERROR(MID(F2,FIND("Fax:",F2)+4,IFERROR(FIND(":",F2,FIND("Fax:",F2)+4),LEN(F2))-FIND("Fax:",F2)-4),"")
В I2 поместите и перетащите вниз:
=IFERROR(MID(F2,FIND("Mobile:",F2)+7,IFERROR(FIND(":",F2,FIND("Mobile:",F2)+7),LEN(F2))-FIND("Mobile:",F2)-7),"")
После этого скопируйте все и вставьте как значения, чтобы удалить формулы. Выберите столбцы G по I и замените все Tel
, Fax
и Mobile
на ничто через Ctrl+ H.
Французские функции в указанном выше порядке:
=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),"")