过滤Google财经公式以仅显示所有时段的“最高价”

时间:2019-06-07 07:55:27

标签: indexing google-sheets max google-sheets-formula google-finance

它与Google表格中的Google财经功能有关:https://support.google.com/docs/answer/3093281?hl=en

我想获取特定股票(即ABBV或GOOG)的“历史最低价”(ATL)和“历史最高价”(ATH),但每个股票都只能包含1个单元格。基本上“此股票代码的ATL / ATH值是多少?”

我尝试对ATL和ATH都做两个公式,但目前只有ATL给出了预期的结果。

要获取ATL,可以使用

=GOOGLEFINANCE("ABBV","low","01/12/1980",TODAY(),7)

要获取ATH,您可以使用:

=GOOGLEFINANCE("ABBV","high","01/12/1980",TODAY(),7)

此输出为2列数据:

https://imgur.com/z72pdBb

请注意,在计算MAX函数时,包含时间戳记的A列将成为麻烦,因为它转化为一些奇怪的数字。

为了获得ATL,我将使用MIN函数,该函数运行良好:

=MIN(GOOGLEFINANCE("ABBV","low","01/01/1980",TODAY(),7))

因为它将仅扫描两列数据并获取最低值,即美元中的32.51

但是,例如,当我尝试对MAXMAXA进行ATH操作时,

=MAX(GOOGLEFINANCE("ABBV","high","01/12/1980",TODAY(),7)

得出的结果是43616.66667,这似乎是包含时间戳记的列A的随机计算。

ATH的预期结果应为125.86(美元)。

我尝试使用FILTER来排除> 1000的值,但是FILTER不允许我在B列中进行搜索,因此我尝试使用此公式对VLOOKUP进行了

 =VLOOKUP(MAX(GOOGLEFINANCE("ABBV","high","01/12/1980",TODAY(),7)),GOOGLEFINANCE("ABBV","high","01/12/1980",TODAY(),7),2,FALSE)

但是它再次返回B列的值,但是基于A列的MAX值,最终给了我80.1而不是期望的125.86

1 个答案:

答案 0 :(得分:1)

使用:

=MAX(INDEX(GOOGLEFINANCE("ABBV", "high", "01/12/1980", TODAY(), 7), , 2))

43616.66667不是“随机计算”。日期31/05/2019 16:00:00转换为日期值

MAXMIN函数从包含的范围(在您的情况下为两列)中的所有可能单元格中返回单个输出。该日期也被视为数字,因此只要这两列都达到最大值,无论何时从第一列或第二列开始输出最大值。通过引入INDEX,您可以跳过第一列,而仅在第二列中查找最大值。