1

У меня есть лист Excel, в котором есть два столбца, в одном - имя, в другом - одно или несколько писем, разделенных запятой.

Теперь я хочу получить два столбца с повторяющимися именами, но уникальными электронными письмами, поэтому не более одного адреса электронной почты в одной ячейке, я просто хочу, чтобы в первом столбце было имя, а во втором столбце - электронное письмо.

Теперь это так:

name1    email1, email2, email3
name2    email1
name3    email1, email2

И я хочу это так:

name1    email1
name1    email2
name1    email3
name2    email1
name3    email1
name3    email2

Спасибо

2 ответа2

2

Вы, кажется, «отменяете» сводную таблицу. Вот еще один подход, основанный на очень крутом совете Джона Уокенбаха: создание таблицы базы данных из сводной таблицы. Я использую этот совет все время, и это экономит время.

Если вы используете Excel 2007 или более позднюю версию, я настоятельно рекомендую добавить кнопку "Сводная таблица" на панель быстрого доступа. Это позволит вам получить доступ к "старому" мастеру сводных таблиц Excel 2003. Возможность использовать "старого" мастера очень важна! Другой способ вызвать старый мастер сводных таблиц - набрать «ALT +D», затем "P".

Теперь к вашей конкретной проблеме. Используйте функцию «Текст в столбцы» меню «Данные», чтобы разделить второй столбец данных на запятые. Вы также должны добавить некоторые заголовки столбцов. (Я перестроил ваши образцы данных, чтобы показать уникальные адреса электронной почты для большей ясности):

Нажмите кнопку "Сводная таблица" на панели инструментов быстрого доступа. Это поднимет Шаг 1 старого Волшебника. Выберите кнопку "Несколько диапазонов консолидации" и нажмите "Далее":

На шаге 2a выберите "Я создам поля страницы" и нажмите "Далее":

На Step2b выделите диапазон данных, затем нажмите кнопку "Добавить". Это скопирует ваш диапазон данных в нижнее окно формы. Нажмите кнопку "Далее".

На шаге 3 вы можете выбрать "Новый рабочий лист" или "Существующий рабочий лист", если выбранная ячейка не перекрывает исходные данные. Нажмите "Готово".

Теперь у вас должна быть сводная таблица, и отобразится список полей сводной таблицы:

Снимите флажок "Строка" и "Столбец", чтобы у вас осталась очень маленькая сводная таблица в одной ячейке (здесь показано в ячейке A4):

Вот действительно крутая часть: ДВОЙНОЙ ЩЕЛКНИТЕ эту единственную ячейку. Ваша сводная таблица «разворачивается» на новый лист. Теперь вы можете отфильтровать пробелы в третьем столбце, и вы получите нужный макет:

1

Лично я бы сделал следующее:

  1. Сортировать лист по столбцу А
  2. Скопируйте весь список в текстовый редактор
  3. Найдите и замените «[запятая] [пробел]» на «[новая строка] [вкладка]»
  4. Скопируйте весь лот обратно в Excel

Теперь это уловка, которую я только что узнал:

  1. Нажмите где-нибудь в данных
  2. Ctrl-A (или вручную выбрать данные)
  3. Ctrl-G
  4. Alt-S
  5. Нажмите K и затем введите

Вы только что выбрали все пустые ячейки

  1. Нажмите клавишу равенства
  2. Нажмите стрелку вверх на клавиатуре
  3. Ctrl-Enter

Это гарантирует, что пустые ячейки имеют значение вышеупомянутой ячейки (это особенно полезно при копировании сводных таблиц)

  1. Скопируйте весь лот снова в текстовый документ
  2. Скопируйте его обратно в Excel

Это гарантирует, что клетки больше не используют формулы.

Если это то, что вам нужно делать регулярно, я бы предложил Awk.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .