如何根据 excel table 中的前一个日期 select 数据?
How to select data based on previous date in a excel table?
我有一个名为 'equity' 的 MS Excel table,其中包含以下几列。
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
感谢您的帮助。
这是解决方案
首先 select 从 A1 到第 "close" 列的最后一个单元格,然后按 ctrl+alt+f3。出现的框给出名称 "Data"
在上一个打开的列中添加此公式并将公式拖动到同一列中 table 的最后一个单元格
=IFERROR(VLOOKUP(A2-1,Data,2,FALSE),"-")
在 Prev Close 列中添加此公式并同样拖动到最后一行
=IFERROR(VLOOKUP(A2-1,Data,3,FALSE),"-")
在第 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)),"")
这些将 return 前一个日期的开盘/收盘值,忽略任何日期间隔,并忽略 table 排序顺序。
我有一个名为 'equity' 的 MS Excel table,其中包含以下几列。
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
感谢您的帮助。
这是解决方案
首先 select 从 A1 到第 "close" 列的最后一个单元格,然后按 ctrl+alt+f3。出现的框给出名称 "Data"
在上一个打开的列中添加此公式并将公式拖动到同一列中 table 的最后一个单元格
=IFERROR(VLOOKUP(A2-1,Data,2,FALSE),"-")
在 Prev Close 列中添加此公式并同样拖动到最后一行
=IFERROR(VLOOKUP(A2-1,Data,3,FALSE),"-")
在第 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)),"")
这些将 return 前一个日期的开盘/收盘值,忽略任何日期间隔,并忽略 table 排序顺序。