如何在 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
有几种方法可以做到这一点。这项工作有多麻烦取决于您的表中是否有重复的日期或它们之间是否有共同的日期。我的第一个想法是使用 INDEX/MATCH 方法。如果我尝试使用您的示例表来执行此操作,我会这样做:
- 将表格 1 放在工作表 1 中,从单元格 A1 开始,将表格 2 放在工作表 2 中,再次从单元格 A1 开始。
- 为工作表 3 中的表 3 创建列标题。
- 将表 1 中的日期复制到表 3 中。然后将表 2 中的日期复制到表 3 中列表的底部。现在,您将两个日期都放在一列中。现在,在表 3 中:
在价格栏中,使用如下公式
=INDEX(Sheet1!$B$2:$B$4,MATCH(Sheet3!A2,Sheet1!$A$2:$A$4,0))
这将从表 1 中的相应值中提取价格。
在需求栏中,使用如下公式
=INDEX(Sheet2!$B$2:$B$4,MATCH(Sheet3!A2,Sheet2!$A$2:$A$4,0))
这将从表 2 中的相应值中提取需求。
您将得到一个与表 3 类似的表格,但其中包含一些重复行。您可以使用“数据”-“数据工具”-“删除重复项”功能来清理它。
这可能并不完全适合您的问题,但希望它是一个起点。