ExcelのPivotテーブルでは値フィルタとして選択できる項目欄やスライサーに、現在存在しない値が表示される場合があります。
Pivotテーブルを作り直す事で不要なデータを消す事はできましたが、それ以外にオプション設定でクリアする方法があったので忘備録。
事象
下記のようなPivotテーブルでcolumn1項目の値フィルタを確認すると、存在しない値がフィルタ値として登録されていた。
column1項目の値フィルタを確認すると、column1には現在foo
しか存在していないのに、登録されていない値が表示される。
なにが起きていたか
pivotテーブルでデータソースを更新した際に、ピボットテーブル分析の更新からデータ更新を行っても、データソースから削除されたアイテムを保持しているようです。
このため、pivotテーブルを更新しても値フィルタやスライサーには古い情報が残ってしまいます。
上記の例は、下記のようにデータソースを編集すると再現します。
変更前(元々のデータソース)
変更後(データソースを一行目の foo bar 以外削除)
データソースを上記のように編集した後に、pivotテーブルを更新すると、値フィルタやスライサに古い状態が保持される状況となります。
値フィルタのリストを更新するには
ピボットテーブルオプション => データ => 1フィールドに保持するアイテム数 => 「自動」 から 「なし」 に変更
「自動」から「なし」に変更
「なし」に設定してOK
設定保存後にpivotテーブルの更新を実行
値フィルタのリストが更新されました。
スライサーの場合
スライサーでも古い状態が残ると記載しましたが、上記画像のようなります。
こちらも値フィルタと同様の手順で古い情報をクリアできます。
参考
Pivot table; remove old values from slicer
総評
pivotテーブルを作り直して対応していましたが。 作り直さないでもクリアする方法があるので覚えておくと捗るかと思います。