Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как объединить таблицы с разным набором столбцов? Объединяющий столбец только один.
 
Есть 4 таблицы, в каждой свой набор столбцов (скажем, по 5 столбцов разного назначения). Есть только один общий столбец - адрес (адреса стандартизированы и будут совпадать). Как объединить эти таблицы в одну, что бы получилась одна таблица, которая будет включать весь набор столбцов?  
Изменено: dimadgo - 1 Мар 2017 15:56:29
 
Такое довольно часто делают при помощи применения ВПР и ИНДЕКС, ПОИСКПОЗ с аргументом по ключевому столбцу.
Кому решение нужно - тот пример и рисует.
 
спасибо, а можно чуть подробнее?
 
С примером Вам быстрее помогут.
 
А есть еще MSQuery, PowerQuery.
 
Здесь можно посмотреть: http://www.planetaexcel.ru/techniques/2/231/ , http://www.planetaexcel.ru/techniques/2/2012/

Собрать все адреса на одном листе, удалить дубликаты и с помощью ВПР и ИНДЕКС+ПОИСКПОЗ по адресу выбираем из нужных таблиц данные по нужным столбцам.
Изменено: Wanschh - 1 Мар 2017 16:27:25
 
Ещё есть макросы, и Access :)
 
Пример - это файл Excel с 5-10 строками данных в каждой таблице и пояснением - вот надо чтоб в итоговой таблице это стояло тут, это тут, а вот это - вообще не стояло.
Кому решение нужно - тот пример и рисует.
 
Примерно так. Для пояснения принципа применения.
 
Пример во вложении, лист 1 - одна таблица, лист 2 - другая. Резульлирующая таблица должны включать в себя весь набор столбцов обоих таблиц, при этом строки с одним значением поля "адрес" должны быть объединены в одну строку, строки, которые не нашли пары должны так же быть представлены в объединенной таблице.

Всего таких объединящихся таблиц будет 4 штуки. Но, как я понимаю, можно просто последовательно объединить сначала две, потом к ней третью и тд?
Изменено: dimadgo - 1 Мар 2017 16:48:24
 
Offtop
Цитата
dimadgo написал:
Но, как я понимаю, можно просто
Что-то последнее время много пошло вопрошающих для которых всё просто - легко оценивают...
Не подскажете, любезнейший, с чего был сделан вывод о простоте?
 
Кнопка цитирования не для ответа [МОДЕРАТОР]

Если взять контекст моих слов, то я говорю о простоте повторения операции с результатом объединения двух таблиц, что бы туда объединить и третью, и четвертую. Вы, видимо, отнесли определение "просто" ко всей задаче.  
 
Примерно так. Сначала скопировала адреса с двух таблиц на отдельный лист, удалил дубликаты. Далее комбинация ИНДЕКС+ПОИСКПОЗ. Пришлось ввести номера столбцов.
 
Цитата
dimadgo написал: объединить сначала две, потом к ней третью и тд?
при применении ВПР или ИНДЕКС+ПОИСКПОЗ, о чем сказано в #2 на итоговом листе нужно создать таблицу с необходимым для вас набором столбцов, скопировать туда общий столбец, а в остальные написать формулы с применением ВПР (или  ИНДЕКС+ПОИСКПОЗ, в зависимости от расположения нужных вам столбцов относительно общего). Таблицами поиска для каждого собираемого столбца будут соответствующий лист содержащий и общий и искомый столбец. Вооот. Если не умеете пользоваться ВПР или ИНДЕКС+ПОИСКПОЗ, путь вам в приемы, например сюда.
 
магия, пытаю понять..
 
ИНДЕКС из указанного диапазона выбирает ячейку по номеру строки и номеру столбца. Номер строки выдается с помощью первой ПОИСКПОЗ (это как раз ищется номер строки, где нужный адрес), номер столбца - с помощью второй ПОИСКПОЗ, для чего пришлось добавить номера столбцов на листах 1 и 2. Применение именно ИНДЕКС+ПОИСКПОЗ обусловлено тем, что ВПР ищет заданное значение в первом столбце диапазона, а в Вашем случае часть данных расположена слева от адреса. Ну и поиск по номеру столбца попроще получился.
ЕСЛИОШИБКА просто убирает значение ошибок, если функция ПОИСКПОЗ не находит нужный адрес в указанной таблице. Зайдите на вкладку "Формулы" и попробуйте посмотреть как работает формула через "Вычислить формулу", это пошаговая демонстрация.
Изменено: Wanschh - 1 Мар 2017 17:47:58
 
Цитата
dimadgo написал:
Если взять контекст моих слов, то я говорю о простоте повторения
Так вы партнёр!
Добро, версия на Power Query. В примере - сшиваемые умные таблицы имеют имя, начинающееся с join_, общий столбец называется id
Успехов.
P. S. естественно, настраиваемо.
Изменено: Андрей VG - 1 Мар 2017 17:46:52
 
супер, кажется я понял, спасибо)))
 
Кнопка цитирования не для ответа [МОДЕРАТОР]

Андрей, я понял, что лист 4 должен выдавать сводную. Значит, если я добавлю строки во все такблицы с одним id, то на листе 4 появится сводная строка, подскажите пожалуйста, как запустить этот скрипт?
 
Цитата
dimadgo написал:
что лист 4 должен выдавать сводную.
Всё же лучше называть, например, сборной (чем хуже, че сборная по футболу? :) ). Для обновления ПКМ на сборной таблице - обновить. Неоговоренное ограничение - ни один из столбцов в соединяемых таблицах не должен совпадать по имени (кроме id, естественно). Впрочем, id можете заменить на что-то своё в расширенном редакторе PQ. Ну, и следите за тем, чтобы в пределах одной таблицы значения в столбце id были уникальными - иначе получите декартово произведение.
Успехов.
 
У меня выдает "Невозможно обновить этот тип подключения к данным, потому что эта версия Excel не поддерживает его тип" - пользуюсь версией Excel для Mac 15.31  


Буду крайне благодарен за посощь
 
похоже, что надстройка Power Query на маке не работает (((
 
Да... Имена полей даже отсутствуют бывает. И как Вы их собрались отличать?.. А так вопрос типовой  ;)
 
имена полей
Цитата
AAF написал:
Имена полей даже отсутствуют бывает
имеете ввиду заголовки столбцов? ну так кто сказал, что уникальные имена нельзя поставить?
Страницы: 1
Читают тему (гостей: 1)