希望你能帮助我。
我有一个包含11列的表,第一个是日期,接下来的9个是唯一识别数据的方式,第11个是一定数量的钱。
我在数据透视表中所做的是根据标识符(行)和日期(列)之一显示添加的数量。
在数据透视表中,一切都很顺利。今天虽然我被告知我的源表中的金额实际上是从今年年初开始累计的。
我的意思是该表中有重复的条目,如果我在1月份有一个带有9个标识符的条目,并且在2月和3月有相同的条目,那么2月份的值实际上是(2月 - 1月)和3月(3月至2月)。
我可以通过唯一标识符在我的源表中添加一列来识别和计算实际数量,但我想知道是否有方法直接在数据透视表中这样做?
谢谢!
编辑: 这是简化版本的屏幕截图(只有两个标识符) 在第四列中是我拥有的数量,在第五列中我需要计算的实际数量,只有两列作为标识符非常容易。 这里的目标是底部的数据透视表显示“实际”数量,而不必在源表中创建新列。 My example table
答案 0 :(得分:1)
您可以使用计算项目来执行此操作。但它很麻烦。
计算项只是数据透视表字段可以采用的另一项。它是根据同一领域的其他项目定义的。例如,字段Date
的值可能为Jan17
,Feb17
等。可以将名为Difference
的新计算项添加到Date
字段中定义为=Feb17-Jan17
。只要Difference
字段用于提供行标签或列标签,并且在数据透视表主体中为其显示的值将等于{{的相应值,则会显示此新Date
项1}}少于Feb17
的那些。
下面的讨论基于(松散地)在问题所附图片中的数据透视表上。
无法在分组字段上计算计算项目,因此需要取消组合数据透视表中的Jan17
字段。这将导致字段中的项目以与源数据相同的Date
格式显示。将这些更改为dd/mm/yyyy
的自定义格式可以更轻松地使用它们。在英语(而不是法语)中,使用此格式显示为mmmyy
,Jan17
等。
要将新的计算项添加到Feb17
字段,请选择此字段中的任何项目,然后通过功能区找到Date
选项。这已经在Excel的各个版本中发生了变化,在Excel 2010中,它可以通过" Fields,Items& amp;设置" "数据透视表工具/选项"的按钮;功能区的标签。在以后的版本中,它通过"计算"同一个标签的按钮。将出现一个对话框,如下图所示。
在名称:框中插入合适的名称,例如Calculated Item
,然后在公式:框中输入Feb17X
。点击"添加"然后"好的"。标记为=IF(Feb17=0,0,Feb17-Jan17)
的新Date
项目将显示在数据透视表中,并将分别针对项目A,B和C显示20,0和0的值。
Feb17X
是二月份的累计Feb17X
项。 Date
是必需的,因为尽管IF
值是累积的,但只有当月中出现新的Amount
时,它们才会出现在源数据中(例如,项目B和部门IS的数据显示四月和六月但不是五月。)
类似的累积Amount
项可以在其他月份以相同的方式定义。
3月份,Date
被定义为
Mar17X
并在=IF(Mar17=0,0,Mar17-(Jan17+Feb17X))
字段中添加了一个新的Mar17X
项。不幸的是,它分别对项目A,B和C显示-28,0和0的值。要显示正确的值,必须将Date
字段添加到数据透视表中的行标签(Department
字段下方),然后使用"折叠整个字段&# 34;阻止Project
字段的详细信息显示的操作。
剩余月份的计算项目按预期添加 - 六月的计算项目为Department
且具有公式
Jun17X
为=IF(Jun17=0,0,Jun17-(Jan17+Feb17X+Mar17X+Apr17X+May17X))
字段定义新项目后,会在数据透视表中应用过滤器以移除累积项目,即Date
,Feb17
,{{1} },Mar17
和Apr17
。这会导致数据透视表显示累计值的总和,如下所示。
几点:
May17
字段的数字格式设置为Jun17
Amount
由#
,Amount
和另外8个字段值定义,数据透视表的行标签需要包含{{1}和所有8个属性字段。后8个字段需要"崩溃"显示器。Date
列非常简单得多
源数据范围而不是使用计算项目方法集
在这里。按9个属性(Project
对源数据进行排序
首先是剩余的8)然后由Project
完成任务
积累很容易。只需比较一行中的9个属性
与前一行:如果两者之间的值不变
行,从当前行中减去前一行Amount
,
否则保持当前行Project
不变。