Excel FORECAST.ETS 函数

2025年3月17日 | 阅读 7 分钟

基于已知数据序列的预测非常重要。它有助于用户预测销售、库存、费用等数值数据。为此,Microsoft 在 Excel 2016 版本中引入了 FORECAST.ETS 函数。

在本教程中,我们将介绍 FORECAST.ETS 函数的定义、语法、参数、错误类型及其原因,以及通过示例理解此公式如何返回与时间序列相关的指定统计值。

什么是 FORECAST.ETS 函数?

FORECAST.ETS 是一个内置的 Excel 函数,用于根据一系列现有数据值计算指数平滑预测。

换句话说,此函数根据遵循季节性趋势的已知值预测一个值。FORECAST.ETS 根据指数三重平滑 (ETS) 算法的 AAA(代表加性误差、加性趋势和加性季节性)版本预测未来值。因此,此函数名为 ETS。ETS 算法通过检测季节性模式和置信区间来平滑已知数据趋势中的不相关偏差。

注意:FORECAST.ETS 函数是在 Excel 2016 中添加到 Microsoft 的。因此,如果您使用的是低于 Excel 2016 的 Excel 版本,此函数将不可用。它在适用于 Mac 的 Excel 2016 中也不可用。

语法

FORECAST.ETS(target_date, values, timeline, [seasonality], [data_completion], [aggregation])

参数

Target_date (必需) - 此参数表示要预测值的日期点。它可以由日期/时间或数字表示。

Values(必需) - 此参数表示您希望预测未来值的历史数据范围或数组。

Timeline (必需) - 此参数表示一系列日期/时间或具有恒定步长间隔的独立数值数据。

Seasonality (可选):此参数表示应使用哪种算法来检测数据中的季节性。

由于它是可选参数,因此也可以省略。但如果提供,此参数必须是介于 0 到 8784 之间的正整数,其中季节性值表示以下内容:

[季节性]参数
00 表示没有季节性值(即,使用线性算法进行预测)。
1(或省略)如果传入 1,此函数会自动计算季节性值,并采用正整数作为季节性模式的长度。
整数 ≥ 2 & ≤ 8784此值将此长度的模式用作季节性。

注意:较高的季节性数字将导致 #NUM! 错误。

数据补全 (可选) - 此参数表示算法应如何处理时间线中的缺失点。

由于它是可选参数,因此也可以省略。但如果提供,此参数参数可以具有 0 或 1 的值,表示以下内容:

[数据补全]算法
0将缺失点视为值为零。
1(或省略)计算缺失点的值为相邻值的平均值。

Aggregation (可选)- 此参数指定算法应如何聚合具有相同时间戳的值。

由于这是一个可选参数,也可以省略。但如果提供,此参数可以是从 1 到 7 的任意整数,表示以下内容

[aggregation]聚合方法
1(或省略)表示平均值
2表示计数
3表示 Counta
4表示最大值
5表示中位数
6表示最小值
7表示总和

要记住的要点 - FORECAST.ETS

  1. 如果您希望 FORECAST.ETS 函数返回准确的输出,请确保时间线参数应包含常规间隔 - 小时、日、月、季度、年等。
  2. 该函数通常用于具有季节性或其他重复模式的非线性数据集。
  3. 当 Excel 无法检测到模式时,该函数将恢复为线性预测。
  4. ETS 函数还可以处理不完整的数据集,其中多达 30% 的数据点未指定。缺失点根据数据补全参数中定义的值进行考虑。
  5. 尽管时间线参数必须包含一致的步长,但日期/时间序列中可能存在重复项。

示例

示例 1:使用 FORECAST.ETS 函数根据遵循季节性趋势的给定值预测销售额。

如您在下表中看到的,我们有一个 2020 年的月销售表,根据之前的值,我们必须预测 2021 年 1 月和 2021 年 2 月的销售额。要预测此值,请使用现有的 FORECAST.ETS 函数。

Excel FORECAST.ETS Function

Excel FORECAST.ETS 函数根据遵循季节性趋势的已知值预测一个值。要使用 Excel FORECAST.ETS() 函数计算未来的销售额值,请按照以下步骤操作:

步骤 1:选择单元格

在上述问题中,我们引入了一个辅助列来预测销售额。因此,我们将选择此列的第一个单元格,即 D15,以应用 FORECAST.ETS() 公式。

Excel FORECAST.ETS Function

步骤 2:键入 FORECAST.ETS.STAT 函数

为了预测给定季节性趋势的销售额,我们将使用内置的 FORECAST.ETS() 函数。因此,开始键入函数,以等号 (=) 开头,后跟预定义的 FORECAST.ETS 函数。

我们的公式将变为:=FORECAST.ETS(

Excel FORECAST.ETS Function

步骤 3:提供参数

  • 首先,此函数会要求您指定“Target_Date”参数。在这里,我们将指定要预测值的日期点。公式将是 =FORECAST.ETS (B15
  • 首先,此函数会要求您指定“Value”参数。在这里,我们将指定与日期/时间数组相对应的历史已知值数组。公式将是 =FORECAST.ETS(B15,$C$3:$C$14,
  • 下一个参数是 Timeline。此参数应包含独立的日期/时间数组。公式将是 =FORECAST.ETS(B15,$C$3:$C$14,$B$3:$B$14)
  • 这些函数的最后 3 个参数是可选的。因此,我们省略了它们。Excel 将使用以下默认值代替它们:
    • 自动计算季节性,并使用正整数作为季节性模式的长度。
    • 对于 Data completion 参数,将默认提供 1 作为选项,以将缺失点计算为邻近点的平均值。
    • 在 **Aggregation** 参数中,将使用默认选项值 1,以便通过 AVERAGE 函数来聚合具有相同时间戳的多个数据值。

因此,整个公式变为:

=FORECAST.ETS(B15,$C$3:$C$14,$B$3:$B$14)

Excel FORECAST.ETS Function

注意:由于我们将公式复制到其他单元格,因此使用绝对单元格引用(如 $C$3:$C$14),我们锁定了单元格,以防止它们在将公式复制到其他单元格时更改其值。

步骤 4:FORECAST.ETS 函数将返回输出

因此,FORECAST.ETS.STAT 函数将预测 1 月 21 日的未来销售额。

Excel FORECAST.ETS Function

步骤 5:拖动公式单元格以复制公式

接下来,我们将使用相同的公式预测更多日期值的销售额。对于其余单元格,Values 和 Timeline 参数将相同(因此,我们使用了绝对引用),只更改日期参数。

选择 F4 公式单元格,并将光标移动到所选框的右下角。结果,光标将变为加号 (+) 图标。将图标拖到以下单元格,您的公式将神奇地复制到下面的单元格。

您将获得不同 statistic_type 的以下统计值。

Excel FORECAST.ETS Function

步骤 6:制作预测销售额的图表

接下来,我们将使用图表以视觉方式描绘输出。选择数据,转到插入->图表->折线图。Excel 将创建一个详细的线性回归预测图表。

请参考下面的输出。

Excel FORECAST.ETS Function

太棒了!使用上面 Excel 表中内置的 Excel FORECAST.ETS 函数,我们成功预测了两个月的未来销售额。

#FORECAST.ETS 示例 2:如果值和时间线参数大小不同,则计算未来值。

如果值和时间线参数大小不同,FORECAST.ETS 函数将返回 #VALUE! 错误。让我们使用下面给出的数据来理解这一点。

Excel FORECAST.ETS Function

请按照以下步骤分析 FORECAST.ETS() 函数在值和时间线参数大小不同时的输出。

步骤 1:选择单元格

在上述问题中,我们引入了一个辅助列来预测销售额。因此,我们将选择此列的第一个单元格,即 D15,以应用 FORECAST.ETS() 公式。

Excel FORECAST.ETS Function

步骤 2:键入 FORECAST.ETS.STAT 函数

为了预测给定季节性趋势的销售额,我们将使用内置的 FORECAST.ETS() 函数。因此,开始键入函数,以等号 (=) 开头,后跟预定义的 FORECAST.ETS 函数。

我们的公式将变为:=FORECAST.ETS(

Excel FORECAST.ETS Function

步骤 3:提供参数

  • 首先,此函数会要求您指定“Target_Date”参数。公式将是 =FORECAST.ETS (B15
  • 首先,此函数会要求您指定“Value”参数。公式将是 =FORECAST.ETS(B15,$C$3:$C$14,
  • 下一个参数是 Timeline。在此参数中,我们添加了两个额外的日期。公式将是 =FORECAST.ETS(B15,$C$3:$C$14,$B$3:$B$16)
  • 我们省略了这些函数的最后 3 个参数,因为它们是可选的。

因此,整个公式变为:

=FORECAST.ETS(B15,$C$3:$C$14,$B$3:$B$16)

Excel FORECAST.ETS Function

注意:由于我们将公式复制到其他单元格,因此使用绝对单元格引用(如 $C$3:$C$14),我们锁定了单元格,以防止它们在将公式复制到其他单元格时更改其值。

步骤 4:FORECAST.ETS 函数将返回输出

结果,FORECAST.ETS.STAT 函数将返回 #N/A 错误,因为时间线的大小大于 Values 参数。

Excel FORECAST.ETS Function

Excel FORECAST.ETS 函数不工作

有时在工作时,Excel FORECAST 函数可能会抛出错误,这很可能是由于以下原因:

  1. 如果值和时间线大小不同,Excel FORECAST.ETS 函数将返回 #N/A 错误。
  2. 如果指定的 seasonality、data completion 或 aggregation 参数不是数字,此函数将返回 #VALUE! 错误。
  3. 此函数返回 #NUM 错误,如果:
    • 在时间线参数中找不到一致的步长
    • 季节性的数值不在 0-8784 范围内
    • data_completion 的数值不是 0 或 1
    • aggregation 的数值不在 1-7 范围内