我创建了一个如下所示的数据透视表:
从这样的源表:
我正在尝试向表中添加另一个值“取消”(已包含在“私人课程”总数中)。我创建了一个集合,将“未出席”和“延迟取消”列加在一起以获得该值。当我将其添加到数据透视表中时,会发生以下情况:
我想要实现的主要目标是:
(或者也许有人知道一种更优雅的方式来呈现这些数据)。但我似乎无法将“取消”值分离到其自己的列中,似乎任何新添加的字段都必须嵌套,无论您将其放在哪个数据透视表区域。
我需要能够使用“显示报告过滤器页面”功能在工作表之间生成许多数据透视表,否则我只能并排创建第二个数据透视表。
另一个目标是将取消次数计算为小时数总和,而不是取消次数。
有办法实现这个吗?我尝试了多次 Google 搜索,但不太清楚如何表述这个问题,因此无法找到解决方案。
答案1
編輯:通过选择单元格手动输入公式添加(见下文)。
向您的表添加一个派生列。我们称之为Service Category Derived
。将此公式输入到此新列的第一个数据单元格中:
=IF([@[No Show]]<>0,Billing[[#Headers],[No Show]],IF([@[Late Canceled]]<>0,Billing[[#Headers],[Late Canceled]],[@[service category]]))
根据需要更改列名和表名。
如果您希望No Show
和Late Cancel
成为单一类别,则使用:
=IF(OR([@[No Show]]<>0,[@[Late Canceled]]<>0,Billing[[#Headers],[Late Canceled]]),"Special",[@[service category]])
更改Special
为“No Show
或者Late Cancel
“类别。
执行Data
选项卡、Queries & Connections
部分、Refresh All
。然后编辑数据透视表选定的字段,取消选择该Service Category
字段并选择该Service Category Derived
字段。将Service Category Derived
字段从其出现的位置拖回到Columns
数据透视表的窗格中。
随着这次调整,工作时间也将固定。
编辑:如何使用单元格选择手动输入公式。
选择新列的第一个数据单元格。键入=if(
选择该列同一行(第一个数据行)中的单元格No Show
。键入<>0,
然后选择No Show
列标题。键入选择该列,if(
的第一个数据项。然后键入然后选择列标题。然后键入并选择原始列的第一个数据单元格并以Late Cancel
<>0,
Late Cancel
,
service category
))
除标题单元格外,所有选定的单元格均来自同一行。Excel 可能已经提供了一个右括号,因此请确保总共有两个右括号(每个右括号一个IF
)。
单一组合类别公式类似。同样,在新列的第一个数据单元格中键入以下内容,单击描述的单元格:
=if(or(
选择“未显示”列的第一个数据单元格,键入<>0,
选择“延迟取消”列的第一个数据单元格,键入键入<>0),"
“未显示/延迟取消”类别的名称(在双引号之间,如上文和下文中突出显示的文本所示),键入",
选择原始“服务类别”的第一个数据单元格,键入)
请确保键入所有突出显示的字符,包括"
,
)
。
“未出席”和“延迟取消”列似乎用作布尔值,而不是计数或金额,因此将它们设为布尔值将使公式更易于阅读,因为无需与零进行比较,<>0
可以删除该文本=IF([@[No Show]],Billing[[#Headers],[No Show]],...
(内容为:如果“未出席”列中的此行数据为真,则使用“未出席”列的表头)。此外,由于布尔值的默认值为 false,因此空单元格将被视为 false(例如不是未出席)。因此,只TRUE
需要在“未出席”的情况下出现,并将所有假单元格留空,使数据更容易在视觉上消化。