前提・実現したいこと
ここに質問の内容を詳しく書いてください。
エクセルVBAでピボットテーブルを操作しています。
下図のように、社員が各プロジェクトの各業務にかかった工数を分析しています。
図の左側の表がピボットテーブルの元データで、
右上のピボットグラフは以下の通りフィールドを設定したものです。
・列フィールド1:プロジェクト
・列フィールド2:業務
・行フィールド:氏名
・値フィールド:工数
このピボットテーブルに対して、社員の数(=氏名の数)は
PivotFields("氏名").PivotItems.Count
で取得できました。
社員の氏名も、取得できました。
発生している問題・エラーメッセージ
<できないこと>
Aプロジェクトの業務を実施している社員数及び社員の氏名を取得するにはどうしたらよいでしょうか。
他のフィールドでフィルターをかけた際の、値の取得及び個数の数え方を教えて下さい。
できればsubtotal関数や、範囲を指定してビジブルなセルを取得することはしたくないのですが・・・。
それらを使った方法も含めて効率の良い方法があれば教えて下さい!
試したこと
<やってみたこと>
右下のピボットグラフの通り、右上のピボットグラフについて、列フィールド1にフィルターを設定し、「Aプロジェクト」のみを表示しました。
その後、PivotFields("氏名").PivotItems.Countを実施しても、全社員の数を取得してしまいます。
補足情報(FW/ツールのバージョンなど)
Excel 2016
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。