У меня есть две таблицы в двух разных файлах Excel. Они оба содержат список имен, идентификационных номеров и связанных данных. Один представляет собой основной список, который включает в себя общие демографические поля, а другой представляет собой список, который включает только имя и идентификатор и адрес. Этот список был исключен из основного списка другим офисом.
Я хочу использовать 2-й список для фильтрации первого. Кроме того, я хочу, чтобы результаты включали другие поля из главной таблицы вместе с полями адреса из второй таблицы. Я знаю, как можно легко это сделать с помощью внутреннего соединения с базой данных, но я не совсем понимаю, как это сделать эффективно в Excel. Как можно объединить две таблицы в Excel? Бонусные баллы за показ того, как выполнять внешние объединения, и я бы предпочел знать, как это сделать без макроса.
источник
=INDEX ( Column_I_want_a_return_value_from , ( MATCH ( My_Lookup_Value , Column_I_want_to_Lookup_against , 0 ))
Ответы:
Для 2007+ использования
Data
>From Other Sources
>From Microsoft Query
:Excel File
и выбрать свой первый Excel(если вы не видите списка столбцов, обязательно отметьте
Options
>System Tables
)Data
>Connections
> [выбрать подключение только что созданный]>Properties
>Definition
>Command text
Теперь вы можете редактировать это
Command text
как SQL. Не уверен, какой синтаксис поддерживается, но я пробовал неявные объединения, "внутреннее соединение", "левое соединение" и объединения, которые все работают. Вот пример запроса:источник
Поддержите принятый ответ. Я просто хочу подчеркнуть "выбрать столбцы (если вы не видите списка столбцов, обязательно проверьте Параметры> Системные таблицы)"
После выбора файла Excel, скорее всего, вы увидите
this data source contains no visible tables
подсказку, а доступных вкладок и столбцов нет. Microsoft признала, что ошибка в том, что вкладки в файлах Excel рассматриваются как «Системные таблицы», а опция «Системные таблицы» по умолчанию не выбрана. Так что не паникуйте на этом шаге, вам просто нужно нажать «опция» и проверить «Системные таблицы», после чего вы увидите доступные столбцы.источник
VLOOKUP и HLOOKUP могут использоваться для поиска совпадающих первичных ключей (хранящихся вертикально или горизонтально) и возврата значений из столбцов / строк «атрибута».
источник
Вы можете использовать Microsoft Power Query, доступный для более новых версий Excel (аналогично принятому ответу, но гораздо проще и проще). Power Query вызывает объединения «слияния».
Самый простой способ - это получить 2 листа Excel в виде таблиц Excel. Затем в Excel перейдите на вкладку ленты Power Query и нажмите кнопку «Из Excel». После того, как вы импортировали обе таблицы в Power Query, выберите одну и нажмите «Объединить».
источник
Хотя я думаю, что ответ Aprillion с использованием Microsoft Query превосходен, это вдохновило меня на использование Microsoft Access для присоединения к таблицам данных, которые мне показались намного проще.
Конечно, вам нужно установить MS Access.
шаги:
Get External Data
для импорта данных Excel в виде новых таблиц.Relationships
чтобы показать, как соединяются ваши таблицы.External Data->Export to Excel
для генерации ваших результатов.Я действительно не мог бы сделать это без отличного ответа Aprillion.
источник
Вы не можете предварительно сформировать соединения в стиле SQL в таблицах Excel из Excel. Тем не менее, есть несколько способов выполнить то, что вы пытаетесь сделать.
В Excel, как говорит Рувим, формулы, которые, вероятно, будут работать лучше,
VLOOKUP
иHLOOKUP
. В обоих случаях вы сопоставляете уникальную строку, и она возвращает значение данного столбца \ строки влево \ вниз от найденного идентификатора.Если вы хотите добавить только пару дополнительных полей во второй список, добавьте формулы во второй список. Если вы хотите таблицу стилей "external join", добавьте
VLOOKUP
формулу в первый список,ISNA
чтобы проверить, был ли найден поиск. Если в справке Excel недостаточно подробностей о том, как их использовать в вашем конкретном случае, сообщите нам об этом.Если вы предпочитаете использовать SQL, то свяжите данные с программой базы данных, создайте запрос и экспортируйте результаты обратно в Excel. (В Access вы можете импортировать таблицы Excel или именованные диапазоны в виде связанной таблицы.)
источник
На XLTools.net мы создали хорошую альтернативу для MS Query, особенно для работы с SQL-запросами к таблицам Excel. Это называется XLTools SQL Queries . Его гораздо проще использовать, чем MS Query, и он работает действительно хорошо, если вам просто нужно создать и запустить SQL - без VBA, без сложных манипуляций с MS Query ...
С помощью этого инструмента вы можете создать любой SQL-запрос к таблицам в книгах Excel с помощью встроенного редактора SQL и сразу же запустить его с возможностью поместить результат на новый или любой существующий лист.
Вы можете использовать практически любой тип соединения, включая LEFT OUTER JOIN (только RIGHT OUTER JOIN и FULL OUTER JOIN не поддерживаются).
Вот пример:
источник
Для пользователей Excel 2007: Данные> Из других источников> Из Microsoft Query> перейдите к файлу Excel
Согласно этой статье , запрос из XLS версии 2003 может привести к «Этот источник данных не содержит видимых таблиц». ошибка, потому что ваши рабочие листы рассматриваются как таблица SYSTEM. Поэтому проверяйте параметры «Системные таблицы» в диалоговом окне «Мастер запросов - выберите столбцы», когда вы создаете запрос, который будет работать.
Чтобы определить ваше объединение: диалоговое окно Microsoft Query> меню «Таблица»> «Объединения ...»
Чтобы вернуть данные на исходный лист Excel, выберите «Вернуть данные в лист Excel» в диалоговом окне Microsoft Query> меню «Файл».
источник
Если вы достаточно знакомы с базами данных, вы можете использовать SQL Server для подключения обеих таблиц в качестве связанных серверов, а затем использовать T-SQL для выполнения ваших внутренних данных. Затем закончите, подключив Excel обратно к SQL и вытяните данные в таблицу (обычную или сводную). Вы также можете рассмотреть возможность использования Powerpivot; это позволит объединять любые источники базы данных, включая Excel, используемый в качестве плоских баз данных.
источник
В поисках той же проблемы я наткнулся на RDBMerge , который, на мой взгляд, является удобным для пользователя способом объединения данных из нескольких рабочих книг Excel, файлов CSV и XML в сводную рабочую книгу .
источник