Excel ピボットテーブルで、あるカテゴリには存在するが別のカテゴリには存在しない項目を表示するにはどうすればよいですか?

Excel ピボットテーブルで、あるカテゴリには存在するが別のカテゴリには存在しない項目を表示するにはどうすればよいですか?

私のデータの簡略版:

item category number apples fruit 7 orange fruit 2 tomato fruit 3 tomato vege 9 zuchini vege 2 tomato vege 17 onion vege 1

Excel 2010 のピボットテーブルで、野菜カテゴリには表示されるが果物カテゴリには表示されないアイテムのリストを取得するように設定する方法はありますか? この例の出力は次のようになります。

zuchini onion

(トマトも果物のカテゴリーに含まれるため、トマトは含まれません)。よろしくお願いします。

答え1

グループ化されたアイテムのフィルタリングはそれほど高度ではないため、ピボット テーブルでこれを行うことはできないと思います。少なくとも、それほど自動化されていません。

私は SQL クエリを使用してこれを実行できました。MS Query とデータ接続を使用して Excel から Excel をクエリできます (作業中のファイルにデータ ソースを指定するだけです)。

最終結果は次のとおりです。 MS クエリ結果

SQL クエリは次のとおりです。

SELECT `Sheet1$`.category, `Sheet1$`.item, `Sheet1$`.number
FROM `C:\Admin\StackExchange\sql on excel.xlsx`.`Sheet1$` `Sheet1$`
WHERE `Sheet1$`.item NOT IN 
(SELECT `Sheet1$`.item
FROM `C:\Admin\StackExchange\sql on excel.xlsx`.`Sheet1$` `Sheet1$` 
WHERE (`Sheet1$`.category<>'vege'))
AND `Sheet1$`.category='vege'

データ接続の設定に関してさらにサポートが必要な場合はお知らせください。

答え2

これには Power Query アドインを使用します。Excel テーブルからクエリを開始できます。

まず、Fruit というクエリを開始し、カテゴリ = fruit でフィルターします。次に、Vege という別のクエリを開始し、カテゴリ = vege でフィルターします。次に、Vege クエリで Merge コマンドを追加し、Item 列を使用して Fruit クエリに結合し、一致しない行を保持します。次に、Expand コマンドを使用して、Fruit クエリから Item などの列を追加します。次に、その新しい列でフィルターし、Null 行のみを保持します。

Power Query のマージと展開のスターターは次のとおりです。

http://office.microsoft.com/en-au/excel-help/merge-queries-HA104149757.aspx?CTT=5&origin=HA103993872

答え3

この質問に答えるには、まず一般的なピボット テーブルを見てみましょう。データから生成されたテーブルと、ピボット テーブルのフィールド リストがあります。質問の内容を実行するには、ピボット テーブルのフィールド リストに移動し、カテゴリが表示されている場所にカーソルを置くと、右側に小さな逆三角形が表示されます。三角形をクリックします。これにより、フィルター オプションのペインが開きます。ペインの下部で、上部のボックスをクリックしてすべてのチェックを外し、必要なものを検索します。この場合は、ズッキーニとタマネギをクリックします。

これが役に立ち、楽しんでいただければ幸いです。

関連情報