You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets技术求助:交易日股票收盘价比值计算公式失效

解决Google Sheets中股票收盘价比值计算问题

原公式问题分析

你使用的=index(sort(GOOGLEFINANCE(B7, "close",today()-2,3),1,0),2,2)无法正常运行,核心问题在于:

  • today()-2,3指定的日期范围太窄,若遇到周末或节假日,该范围无法覆盖足够的交易日,导致返回的数据序列不符合预期。
  • 依赖固定位置的索引取值,一旦交易日分布不符合预设,就会取错数据。

修正后的公式

直接获取最近3个交易日的收盘价数据(自动跳过非交易日),再按日期降序排序后提取对应值计算比值:

=INDEX(SORT(GOOGLEFINANCE(B7, "close", , "DAILY", -3), 1, FALSE), 2, 2) / INDEX(SORT(GOOGLEFINANCE(B7, "close", , "DAILY", -3), 1, FALSE), 4, 2)

公式解释

  1. GOOGLEFINANCE(B7, "close", , "DAILY", -3):获取单元格B7中股票代码的最近3个交易日的收盘价数据(自动排除周末、节假日),返回包含表头的二维数组。
  2. SORT(..., 1, FALSE):将返回的数组按日期列(第1列)降序排序,确保最新的交易日数据排在最前面。
  3. INDEX(..., 2, 2):提取排序后第2行第2列的值,即今日(当前交易日)的收盘价(第1行是表头)。
  4. INDEX(..., 4, 2):提取排序后第4行第2列的值,即两天前的交易日收盘价(跳过今日和昨日的交易日)。
  5. 两者相除得到目标比值。

额外提示

  • 若当前日期并非交易日,公式会返回#N/A错误,可结合IFERROR函数处理:
    =IFERROR(INDEX(SORT(GOOGLEFINANCE(B7, "close", , "DAILY", -3), 1, FALSE), 2, 2)/INDEX(SORT(GOOGLEFINANCE(B7, "close", , "DAILY", -3), 1, FALSE), 4, 2), "非交易日无法计算")
    

内容的提问来源于stack exchange,提问作者Buzi Game

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 11:52:46