过滤 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 的 MAX
或 MAXA
执行相同操作时,例如
=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
转换为日期值
MAX
和 MIN
函数 return 包含范围内所有可能单元格的单个输出,在您的情况下是两列。日期也被认为是一个数字,因此无论何时从第一列或第二列开始,最大化这两列都会为您输出最大值。通过引入 INDEX
,您可以跳过第一列并仅在第二列中查找最大值。
参考了 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 的 MAX
或 MAXA
执行相同操作时,例如
=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
转换为日期值
MAX
和 MIN
函数 return 包含范围内所有可能单元格的单个输出,在您的情况下是两列。日期也被认为是一个数字,因此无论何时从第一列或第二列开始,最大化这两列都会为您输出最大值。通过引入 INDEX
,您可以跳过第一列并仅在第二列中查找最大值。