Google Sheet: 如何对齐两个时间序列

Google Sheet: how to align two timeseries

在GoogleSheet中使用Google财务,我得到两个时间序列:

A) =GOOGLEFINANCE("SPY", "close", DATE(2015,1,1), TODAY(), "DAILY") 有 1483 个值

B) =GOOGLEFINANCE("IBTM", "close", DATE(2015,1,1), TODAY(), "DAILY") 有 1489 个值

例如,您可以看到 A 在 19/01/2015 没有值,但是 B 在 19/01/2015 有值。此行为会在两个系列之间造成错位。

现在,我想在 A(date)==B(date) 时计算 A(close)/B(close)

不幸的是,我无法直接对列进行操作,因为这两个系列没有对齐。 有什么聪明的方法可以解决这个问题吗?

确定:

=ARRAYFORMULA(QUERY(QUERY({QUOTIENT(INDEX({
        GOOGLEFINANCE("SPY",  "close", DATE(2015,1,1), TODAY(), "DAILY"); 
        GOOGLEFINANCE("IBTM", "close", DATE(2015,1,1), TODAY(), "DAILY")},, 1), 1), 
 {QUERY(GOOGLEFINANCE("SPY",  "close", DATE(2015,1,1), TODAY(), "DAILY"), "select Col2,'SPY'"); 
  QUERY(GOOGLEFINANCE("IBTM", "close", DATE(2015,1,1), TODAY(), "DAILY"), "select Col2,'IBTM' label 'IBTM'''")}}, 
 "select Col1,max(Col2) where Col1 is not null group by Col1 pivot Col3 format Col1'dd/mm/yyyy'"), "offset 1", 0))


或直接已分:

=ARRAYFORMULA(QUERY(QUERY(QUERY({QUOTIENT(INDEX({
        GOOGLEFINANCE("SPY",  "close", DATE(2015,1,1), TODAY(), "DAILY"); 
        GOOGLEFINANCE("IBTM", "close", DATE(2015,1,1), TODAY(), "DAILY")},, 1), 1), 
 {QUERY(GOOGLEFINANCE("SPY",  "close", DATE(2015,1,1), TODAY(), "DAILY"), "select Col2,'SPY'"); 
  QUERY(GOOGLEFINANCE("IBTM", "close", DATE(2015,1,1), TODAY(), "DAILY"), "select Col2,'IBTM' label 'IBTM'''")}}, 
 "select Col1,max(Col2) where Col1 is not null group by Col1 pivot Col3 format Col1'dd/mm/yyyy'"), "offset 1", 0), 
 "select Col1,Col2/Col3 label Col2/Col3''"))


更新:

=ARRAYFORMULA(QUERY(QUERY(QUERY(QUERY({QUOTIENT(INDEX({
        GOOGLEFINANCE("SPY",  "close", DATE(2015,1,1), TODAY(), "DAILY"); 
        GOOGLEFINANCE("IBTM", "close", DATE(2015,1,1), TODAY(), "DAILY")},, 1), 1), 
 {QUERY(GOOGLEFINANCE("SPY",  "close", DATE(2015,1,1), TODAY(), "DAILY"), "select Col2,'SPY'"); 
  QUERY(GOOGLEFINANCE("IBTM", "close", DATE(2015,1,1), TODAY(), "DAILY"), "select Col2,'IBTM' label 'IBTM'''")}}, 
 "select Col1,max(Col2) where Col1 is not null group by Col1 pivot Col3 format Col1'dd/mm/yyyy'"), "offset 1", 0), 
 "select Col1,Col2/Col3 label Col2/Col3''"), "where Col2 is not null"))