在我的数据透视表的源表中;包含两列;一个用于名称,另一个用于分数。正如主题标题所暗示的那样,我想显示偶数分数的所有名称及其相应分数。
另一种方法是创建第三列并运行IF公式来检查哪些数字是奇数。然后将第三列包含在数据透视表中并将其用作过滤器。
但是有没有办法在不修改源的情况下做同样的事情?
答案 0 :(得分:4)
您可以遍历枢轴项目,然后将它们除以2以检查它们是否是偶数,如果它们不是,则只需隐藏它们。看这个例子。请根据您的需要进行修改。此外,我还没有做任何错误处理。我相信你可以照顾到......
<强> CODE 强>
Option Explicit
Sub HideOddNumbers()
Dim ws As Worksheet
Dim pvtItem As PivotItem
Dim pvt As PivotTable
Dim pvtFld As PivotField
'~~> Change this to the respective sheet
Set ws = ThisWorkbook.Sheets("Sheet1")
'~~> Change this to the respective pivot name
Set pvt = ws.PivotTables("PivotTable1")
'~~> This is the column
Set pvtFld = pvt.PivotFields("Scores")
With pvtFld
.CurrentPage = "(All)"
.EnableMultiplePageItems = True
'~~> Loop through all items in the pivot and
'~~> divide the values by 2 and check if they are even or not
For Each pvtItem In pvtFld.PivotItems
If Val(pvtItem.Value) Mod 2 <> 0 Then pvtItem.Visible = False
Next
End With
End Sub
<强> SCREENSHOT 强>
<强> 之前 强>:
<强> 后 强>: