过滤 Google 财务公式以仅显示所有时间的 "high"

Filter the Google Finance formula to only display the "high" of all time

参考了 Google 工作表中的 Google 财务功能:https://support.google.com/docs/answer/3093281?hl=en

我想获得特定代码(即 ABBV 或 GOOG)的 "all time LOW" (ATL) 和 "all time HIGH" (ATH),但每个代码仅在 1 个单元格中。基本上"What's the ATL/ATH value for this ticker?"

我已经尝试为 ATL 和 ATH 计算这两个公式,但目前只有 ATL 给出了预期的结果。

要获取 ATL,您可以使用

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

要获取 ATH,您可以使用:

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

这个输出是 2 列数据:

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

为了获得 ATL,我将使用 MIN 函数,它工作得很好:

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

因为它只会扫描 2 列数据并获取最低值,即 32.51 美元。

但是当我尝试对 ATH 的 MAXMAXA 执行相同操作时,例如

=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)

但它再次 returns B 列的值,但基于 A 列的 MAX 值,最终给我 80.1 而不是预期的 125.86 .

使用:

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

43616.66667 不是 "random computation"。它的日期 31/05/2019 16:00:00 转换为日期值

MAXMIN 函数 return 包含范围内所有可能单元格的单个输出,在您的情况下是两列。日期也被认为是一个数字,因此无论何时从第一列或第二列开始,最大化这两列都会为您输出最大值。通过引入 INDEX,您可以跳过第一列并仅在第二列中查找最大值。