Объединение двух электронных таблиц в общий столбец в 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"

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

3 ответов


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

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

=vlookup(
    a2, # the cell value from the current table to look up in the other table
    table_a!:4832718, # 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

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


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

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

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


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

  • Define name for primary table-таблица A (вкладка Формулы - > Define name)
  • определите имя для вторичной таблицы-таблица B
  • перейдите на вкладку Данные, выберите "из других источников", а в раскрывающемся списке выберите"из Microsoft Query"
  • выберите CSV-файл и убедитесь, что вы хотите объединить столбцы вручную
  • В следующем окне "запрос из Excel Файлы", перетащите столбец Name таблицы A в столбец Name таблицы B-будет создана связь между этими столбцами
  • перейдите в меню Файл, нажмите "вернуть данные в MS Office Excel", появится диалоговое окно импорта данных
  • выберите лист, в который вы хотите импортировать сопоставленные данные
  • нажмите OK-вы должны увидеть сопоставленные данные со столбцами из обеих таблиц

или, если вы не против загрузки CSV-файлов в интернет сервис, вы можете использовать например http://www.gridoc.com/join-tables и присоединиться к таблицам с помощью drag&drop (отказ от ответственности: я автор инструмента).

надеюсь, что это помогает.