它与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列数据:
请注意,在计算MAX
函数时,包含时间戳记的A列将成为麻烦,因为它转化为一些奇怪的数字。
为了获得ATL,我将使用MIN
函数,该函数运行良好:
=MIN(GOOGLEFINANCE("ABBV","low","01/01/1980",TODAY(),7))
因为它将仅扫描两列数据并获取最低值,即美元中的32.51
。
但是,例如,当我尝试对MAX
或MAXA
进行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
。
答案 0 :(得分:1)
使用:
=MAX(INDEX(GOOGLEFINANCE("ABBV", "high", "01/12/1980", TODAY(), 7), , 2))
43616.66667
不是“随机计算”。日期31/05/2019 16:00:00
转换为日期值
MAX
和MIN
函数从包含的范围(在您的情况下为两列)中的所有可能单元格中返回单个输出。该日期也被视为数字,因此只要这两列都达到最大值,无论何时从第一列或第二列开始输出最大值。通过引入INDEX
,您可以跳过第一列,而仅在第二列中查找最大值。