数据透视表显示与上一年不同列的差异

数据透视表显示与上一年不同列的差异

如果我有下表中的数据透视表......

+------+-------+--------+-------------+
| Year | Fruit | Actual | Requirement |
+------+-------+--------+-------------+
| 2020 | Apple | 10     | 11          |
+------+-------+--------+-------------+
| 2021 | Apple |        | 12          |
+------+-------+--------+-------------+

我该如何计算2021 年苹果2021 年要求(12)与 2020 年实际(10)之间的差异是多少?
例如:12-10=2

(实际的桌子上还有很多其他水果。)

编辑:考虑到已接受答案中的评论,标题应该是:您可以使用数据透视表字段设置“显示数据为”来引用不同的字段吗?

答案1

使用 Ctrl+T 将数据转换为表格,然后计算源数据中的差异作为新列。然后您可以在该字段上使用数据透视表。

在此处输入图片描述

公式:

=IFERROR([@Requirement]-XLOOKUP([@Year]-1&"-"&[@Fruit],[Year]&"-"&[Fruit],[Actual],""),"")

这里最重要的部分是从正确的行获取实际值:

XLOOKUP([@Year]-1&"-"&[@Fruit],[Year]&"-"&[Fruit],[Actual],"")

请记住,@ 符号代表当前行中该列的值。因此,从当前行获取年份并减去一以获得上一年。然后将其与当前行上的破折号和水果连接起来。使用该字符串在以相同方式连接年份和水果列而创建的值数组中查找“2020-Apple”,然后从该行返回实际值。如果当前行是该水果的第一年,则公式将返回错误,因此将“”作为 XLOOKUP 的最后一个参数。

只需从当前年度要求中减去实际值,罗伯特就是你母亲的兄弟。

相关内容