1

Как объединить два набора данных в 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    |
+---------+-------+--------+

2 ответа2

1

Есть несколько способов сделать это. Насколько грязная работа, зависит от того, есть ли у вас в таблице повторяющиеся даты или общие даты между ними. Моя первая мысль - подход 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

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

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

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

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

выбрал слияние

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

полное внешнее соединение

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

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

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

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

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

результат здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .