Подтвердить что ты не робот

Объединение двух таблиц в общий столбец в Excel или OpenOffice

У меня есть два CSV файла с общим столбцом, и я хочу "Объединить" таблицы вместе с общим столбцом.

Например: Присоединить 'A' с 'B' равно 'Result'. Если одна таблица имеет ключевое значение, которое не существует в другой таблице, оно просто остается пустым.

== Table A ==        == Table B ==        == Table result ==
Name  ,Age           Name  ,Sex           Name ,Age ,Sex
Bob   ,37     +      Bob   ,Male     =>   Bob  ,37  ,Male
Steve ,12            Steve ,Male          Steve,12  ,Male
Kate  , 7                                 Kate , 7  , 
                     Sara  ,Female        Sara ,    ,Female 

Я знаю, как это сделать с базой данных SQL, но я никогда не делал этого с помощью "Excel" или "OpenOffice.org Calc"

Предложения?

4b9b3361

Ответ 1

В Excel vlookup можно сделать часть того, что вы просите. В частности, вы можете использовать vlookup для выполнения левого или правого внешнего соединения, но не для полного внешнего соединения (например, результат вашей таблицы).

Чтобы выполнить внешнее соединение для вашего примера выше, добавьте следующее в C2 "Таблица B" (или скопируйте "Таблица B", а затем сделайте это):

=vlookup(
    a2, # the cell value from the current table to look up in the other table
    table_a!$1:$174832718, # the other table
                           # don't manually type this--select the entire 
                           # other table while the cursor is editing this
                           # cell, then add the "$"s--Excel doesn't
                           # automatically add them
                           # (the syntax here is for different sheets in
                           # the same file, but Excel will fill this in 
                           # correctly for different files as well)
    2, # the column to get from the other table (A=1, B=2, etc.)
    FALSE) # FALSE=only get exact matches TRUE=find approx. matches if no exact match

Затем вы можете расширить его, чтобы иметь дело с несколькими строками и несколькими импортированными столбцами.

Ответ 2

В Excel вы используете для этого VLOOKUP.
Предположим, что у вас есть данные в таблице A, перечисленные в столбцах A и B в Excel.
И данные в таблице B перечислены в столбцах E и F.
Теперь перейдите в первую строку в столбце C и введите:

=VLOOKUP(A:A,E:F,2,FALSE) 

Это говорит ему, чтобы попытаться сопоставить столбец A со столбцом E и захватить все, что находится во втором столбце рядом с тем, где мы его нашли, и поместить его в столбец C.
Теперь автозаполнение остальных строк в столбце C соответствует остальным данным.

Ответ 3

Если вы можете использовать Excel, есть функция "Запрос из файлов Excel":

  • Определить имя для первичной таблицы - Таблица A (вкладка "Формулы" → "Определить имя" )
  • Определить имя для вторичной таблицы - Таблица B
  • Перейдите на вкладку Данные, выберите "Из других источников" и в раскрывающемся списке выберите "Из запроса Microsoft"
  • Выберите файл CSV и убедитесь, что вы хотите объединить столбцы вручную
  • В следующем окне "Запрос из файлов Excel" перетащите столбец "Имя" таблицы A в столбец "Имя" таблицы B - будет создана связь между этими столбцами.
  • Перейдите в меню "Файл", нажмите "Возврат данных в MS Office Excel", откроется диалоговое окно "Импорт данных"
  • Выберите лист, в который вы хотите импортировать согласованные данные.
  • Нажмите "ОК" - вы должны увидеть согласованные данные с столбцами из обеих таблиц.

Или, если вы не возражаете загружать свои CSV файлы в онлайн-службу, вы можете использовать, например, http://www.exmerg.com/data-merging и присоединиться к электронным таблицам используя drag & drop (Отказ от ответственности: я автор инструмента).

Надеюсь, что это поможет.