如何在Excel表中根据上一个日期选择数据?

时间:2018-07-24 13:03:53

标签: excel excel-tables

我在下面的列中有一个名为'equity'的MS Excel表。

Date        Open    Close   PrevOpen    PrevClose
18-Jul-18   99.8    101.9
19-Jul-18   100.7   102.1
20-Jul-18   101.2   103.7
23-Jul-18   102.1   99.8
24-Jul-18   101     102.8

table-1

对于每一行,我需要获取前一天的开盘价和收盘价。不管行的顺序。

例如,我的第二行应如下所示。

Date        Open    Close   PrevOpen    PrevClose
18-Jul-18   99.8    101.9       
19-Jul-18   100.7   102.1   99.8        101.9
20-Jul-18   101.2   103.7       
23-Jul-18   102.1   99.8        
24-Jul-18   101     102.8   

ExpectedResult

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

这是解决方案

  1. 首先选择A1到“关闭”列的最后一个单元格,然后按ctrl + alt + f3。出现的框名称为“数据”

  2. 在Prev open col中添加此公式并将该公式拖动到同一列中表格的最后一个单元格

    = IFERROR(VLOOKUP(A2-1,Data,2,FALSE),“-”)

  3. 在“上一个关闭”列中,添加此公式并将相同的拖动拖到最后一行

    = IFERROR(VLOOKUP(A2-1,Data,3,FALSE),“-”)

答案 1 :(得分:0)

在列PrevOpen中,使用:

=IFERROR(INDEX([Open],MATCH(MAX(INDEX(([Date]<[@Date])*[Date],0)),[Date],0)),"")

在列PrevClose中,使用:

=IFERROR(INDEX([Close],MATCH(MAX(INDEX(([Date]<[@Date])*[Date],0)),[Date],0)),"")

它们将返回前一个日期的“打开/关闭”值,而忽略任何日期间隔,并忽略表的排序顺序。