Как объединить две таблицы с помощью LibreOffice Calc?
У меня есть две таблицы, каждая на своем листе в одном файле:
Назовите возраст
Алиса 18
Боб 19
Кэрол 20
Дейв 19
Имя Пол
Боб Мале
Дейв Мале
Ева Женский
Я хочу автоматически создать третью таблицу (лист), которая содержит объединенные данные по имени столбца:
Имя Возраст Пол
Боб 19 Мале
Дейв 19 Мале
Поддерживается ли эта операция в LibreOffice Calc?
1 ответ
Вот простой способ сделать это.
Лист 1:
Лист 2:
Лист 3:
На листе 3 имя и возраст являются просто ссылками на ячейки таблицы 1. Таким образом, A2 содержит:
=Sheet1!A2
А В2 содержит:
=Sheet1!B2
Пол заполняется поиском имени этой строки в таблице 2. Таким образом, C2 содержит:
=VLOOKUP(Sheet3!A2,Sheet2!A:B,2,0)
Обратите внимание, что таблицы 1 и 2 не обязательно должны быть в одном и том же порядке.
Кстати, эти формулы отражают настройки параметров для эмуляции синтаксиса формул Excel в Сервис | Варианты | LibreOffice Calc | Формула.
Редакция для комментария
Вот тривиальный способ адаптировать этот подход для случаев, когда таблицы 1 и 2 не совпадают, и вам нужны только общие записи. Скажем, таблица 2 выглядит как ваш пример:
Существующая формула будет производить это:
Алиса и Кэрол не находят совпадений в Таблице 2. Евы не было в Таблице 1, поэтому для нее тоже не будет совпадений. Включение фильтрации позволяет скрыть записи #N/A:
Если вы хотите иметь чистую таблицу, в которой эти записи фактически отсутствуют, скопируйте и вставьте специальные значения (в LO Calc я выбрал текст и числа, но не формулы), чтобы вставить только не скрытые строки. Это показано в строках 10-12 (обратите внимание на отсутствие скрытых строк).