Как объединить / объединить 2 таблицы рабочих таблиц из временных рядов в Excel?

387
slimmey

Как объединить два набора данных в Excel из временных рядов, но наблюдения были сделаны в разное время. Как бы вы совместили наблюдения в одной таблице со второй?

Пример:

Таблица 1:

+---------+-------+ | date | price | +---------+-------+ | 1/14/96 | 1.95 | +---------+-------+ | 1/19/96 | 1.97 | +---------+-------+ | 1/22/96 | 2.01 | +---------+-------+ 

Таблица 2:

+---------+--------+ | date | demand | +---------+--------+ | 1/10/96 | 400 | +---------+--------+ | 1/19/96 | 300 | +---------+--------+ | 1/25/96 | 200 | +---------+--------+ 

Так что желаемый результат таков:

Таблица 3:

+---------+-------+--------+ | date | price | demand | +---------+-------+--------+ | 1/10/96 | | 400 | +---------+-------+--------+ | 1/14/96 | 1.95 | | +---------+-------+--------+ | 1/19/96 | 1.97 | 300 | +---------+-------+--------+ | 1/22/96 | 2.01 | | +---------+-------+--------+ | 1/25/96 | | 200 | +---------+-------+--------+ 

Или это:

Таблица 4:

+---------+-------+--------+ | date | price | demand | +---------+-------+--------+ | 1/19/96 | 1.97 | 300 | +---------+-------+--------+ 
1

2 ответа на вопрос

1
user2800

Есть несколько способов сделать это. Насколько грязная работа, зависит от того, есть ли у вас в таблице повторяющиеся даты или общие даты между ними. Моя первая мысль - подход INDEX / MATCH. Вот что я бы сделал, если бы попытался сделать это с вашими примерами таблиц:

  1. Поместите таблицу 1 в лист 1, начиная с ячейки A1, и таблицу 2 в лист 2, начиная снова с ячейки A1.
  2. Создайте заголовки столбцов для таблицы 3 на листе 3.
  3. Скопируйте даты из таблицы 1 в таблицу 3. Затем скопируйте даты из таблицы 2 в конец списка, который вы поместили в таблицу 3. Теперь у вас есть даты из обоих столбцов в одном столбце. Теперь в таблице 3:
  4. В столбце цены используйте формулу в соответствии с

    =INDEX(Sheet1!$B$2:$B$4,MATCH(Sheet3!A2,Sheet1!$A$2:$A$4,0))

Это тянет цену от соответствующего значения в листе 1.

  1. В столбце спроса используйте формулу в соответствии с

    =INDEX(Sheet2!$B$2:$B$4,MATCH(Sheet3!A2,Sheet2!$A$2:$A$4,0))

Это вытягивает спрос из соответствующего значения в листе 2.

То, что вы получите, - это таблица, которая выглядит как ваша таблица 3, но с несколькими дублирующимися строками. Вы можете использовать функцию Data - Data Tools - Remove Duplicates, чтобы очистить ее.

Возможно, это не совсем подходит для вашей проблемы, но, надеюсь, это отправная точка.

0
slimmey

Спасибо за твою помощь. Я попытался с помощью запросов, и это работает.

  1. сделал запрос к таблице:

made a table query

  1. выбрал слияние:

chose merge

  1. полное внешнее соединение:

full outer join

  1. выбрал значения:

chose values

  1. получили желаемый результат и затем закрыли и загрузили:

got the desired result and then close and load

  1. результат:

result here