使用Excel 2016的FORECAST.ETS函数预测2020年数据时出现#N/A错误
解决FORECAST.ETS函数返回#N/A错误的问题
嘿,我来帮你排查这个问题——看了你的数据和操作步骤,核心原因大概率出在时序数据的完整性上,咱们一步步拆解解决:
首先,你的年份序列里缺失了1830年的数据(1820之后直接跳到1840),而FORECAST.ETS函数对时序数据的连续性要求很高:它需要识别固定的时间间隔(这里是10年),缺失的时间点会直接打破这个规律,导致函数无法生成有效的预测模型,最终返回#N/A。
下面给你两个可行的解决方案:
方案1:补全缺失的时序数据(推荐)
因为缺失的是中间关键时间点,手动补全能让预测结果更准确:
- 在A列插入一行(比如A6位置),输入
1830 - 在对应的B6单元格,用线性插值补全数据,输入公式:
这个公式会根据1820年(9,638453)和1840年(17,069453)的现有数据,计算出1830年的插值结果。=FORECAST.LINEAR(A6,A5:A7,B5:B7)
补全后,你的年份序列就变成了连续的10年间隔,再运行调整后的公式=FORECAST.ETS(A23;B1:B23;A1:A23)(注意把数据范围更新为包含补全行的B1:B23和A1:A23),就能正常返回2020年的预测值了。
方案2:调整函数的[data_completion]参数
如果你不想手动补全数据,可以利用FORECAST.ETS的自动补全参数:
修改公式为:
=FORECAST.ETS(A23;B1:B22;A1:A22;1;1)
这里的第5个参数1表示让函数自动补全缺失的时序数据(默认值就是1,但明确指定有时能解决识别异常)。不过这种自动补全的精度可能不如手动插值,更适合缺失值极少的场景。
最后再确认两个细节:
- 你的年份序列(A1:A22)是升序排列的,这点已经符合要求,没问题;
- 公式里的分号
;是欧洲区域设置的参数分隔符,如果你的Excel是英文区域,需要改成逗号,,但从你的操作习惯来看,分号应该是适配的。
内容的提问来源于stack exchange,提问作者kik
相关产品推荐
相关产品推荐

