我正在编写一个 SUMPRODUCT 函数,该函数引用数据透视表中的标题,用于单独工作表上的报告。出现问题的标题是年份,即 2020、2021 等。我尝试将格式更改为数字、文本甚至常规格式,但仍然没有引用。
我的数据透视表如下所示。
我想要创建的报告如下所示:
我正在尝试编写一个 SUMPRODUCT 函数,该函数将引用报告单元格 A1 中的产品名称、年份和月份,以获取汇总的销售数据。但是,我的报告和数据透视表标题中的“2020”和“2021”似乎不是同一格式,因此它们没有相互引用。
我让它工作的唯一方法是将数据透视表复制并粘贴到单独的工作表上,只保留值(这样就删除了所有格式)。但我想直接引用数据透视表来生成报告。有什么想法可以解决这个问题吗?
答案1
简单的方法是按照您想要的报告方式创建另一个数据透视表:
但是,如果您不想这样做,您可以这样做。首先,确保您已选择“生成 GetPivotData”选项:
现在,输入=
报告单元格之一并单击数据透视表中的一个值。您将看到一个GETPIVOTDATA
公式,如下所示:
检查公式的结构并注意参数(在我上面的例子中)是:
- 值字段
- 我的数据透视表左上角的单元格
- 第一个数据透视字段的名称(在本例中为产品)
- 第一个数据透视字段中的项目(产品 A)
- 第二个字段的名称
- 第 2 个字段的项目
- 第三个字段的名称
- 第三个字段的项目
- 第4个字段的名称 10.第4个字段的项目
我们可以编辑此公式以仅返回我们需要的信息。例如,您想要返回特定月份按产品计算的年度总和。
返回该数字的正确公式如下:
=GETPIVOTDATA("Amount",$H$1,"Product",$H15,"Year",I$14,"Month",$H$12)
当我第一次输入它时,它返回#REF!
。
这是因为该特定聚合在数据透视表中不可见。换句话说,没有列总计。如果我添加列总计,公式现在会返回正确的数字:
请注意,在上面的公式中,我已将“第 X 字段的项目”替换为报告中产品和年份的单元格引用。由于我正确使用了 $,因此我只需将此公式复制到表格中的其他单元格即可。
如果使用此方法后仍然遇到问题,则应尝试将报告标题转换为与数据透视表相同的格式里面公式。你可能会发现类似下面的方法有效:
=GETPIVOTDATA("Amount",$H$1,"Product",$H15,"Year",TEXT(I$14,"YYYY"),"Month",$H$12)