- ベストアンサー
ピポットテーブ 月が重複した総数の求め方
- ピポットテーブルを使用して、重複した月の総数を求める方法について教えてください。
- 課題IDを月ごとにグループ毎の所属区分毎の利用区分毎に集計する際、月が重複した場合にその数を求めたいです。
- 4月からの月ごとに重複した月の数を1として数える数式を教えてください。
- みんなの回答 (15)
- 専門家の回答
質問者が選んだベストアンサー
データが最大4月から翌年3月までしかないと考えた場合が前提という事を確認してください でないと式として正しくはありません。 > V列=月毎にその月の数値『4』、『5』を入れました。 入れるのはV2だけです。5月には5と入れて6月には6と入れる。 毎月ごとの結果を同じ列に表示します。 式は元の式の列の2行目に入れて下までコピーするとピボットに反映されます ただ、念のために W2に入れて必要なだけ下にコピーしてその合計を確認してください。 全ての月を一度に見たい場合には V1に「4」W1に「5」X1に「6」以下の同じように「3」まで入れて V2に =IF(OR(AND(V$1>3,$Q2>V$1)),0,IF(AND(V$1>3,V$1<=12,OR($Q2=1,$Q2=2,$Q2=3)),0,IF(AND(V$1=1,OR($Q2=2,$Q2=3)),0,IF(AND(V$1=2,$Q2=3),0,IF(COUNTIFS($Q$2:$Q2,MONTH($E2),$D$2:$D2,$D2,$L$2:$L2,$L2,$M$2:$M2,$M2,$P$2:$P2,$P2)=1,1,0))))) として右と下にコピーしてください。
その他の回答 (14)
- kkkkkm
- ベストアンサー率66% (1719/2589)
> ピポットテーブル上で、V列~AF列(4月~3月の12ヶ月)の課題IDの総数を出しましたが、4月~3月まで全く同じ数でした。 元の表の式をコピーしたセルに0と1が表示されていると思いますが、それぞれの列全て同じですか? ピボットのΣ値にある各月(4~3)のフィールドの設定は「合計」になっていますか。 「データの個数」にしていたらすべて同じになります。 > V列=月の数字をV1に入れる。この列は元の課題ID重複無しの数式が入っている列の右隣にしました。 月ごとに表示を変更するのでなければいりません。
お礼
大変お世話になっております。 分かり易く教えて下さっているのに、変に脳内変換をしていて、お手数を取らせてしまい申し訳ありませんでした。 やりたい事が出来ました。 月毎で総計を出す為、日付毎の重複無しの数式は外しました。 ①V列2行目~13行目に数字の4、5、6、7、8、9、10、11、12、1、2、3を入力。 ②4月用~7月用の課題ID重複無し『1』の下記の式をV列、W列、X列、Y列に入力。 =IF(AND($V$2>3,Q2>$V$2),0,IF(AND($V$2=2,Q2=3),0,IF(AND($V$2=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) ③ピポットテーブルで、課題IDの総計にV列、W列、X列、Y列を出したい月に応じて選択する。 明日、仕事場に報告してみます。 本当にホッとしました、ありがとうございました。結果は再度お知らせさせて頂きます。
- kkkkkm
- ベストアンサー率66% (1719/2589)
あと 数式を変えずにピボットの方で日付でフィルターをかければいけないでしょうか。
補足
大変お世話になっております。 早速のご教示ありがとうございました。 1行数式で可能なのですね!大変有りがたい事です。 ご教示頂いたように、下記の式を実施した所、4月分は、課題IDの重複無しを1とした数が以前と同じになりましたが、5月以降はすべて『0』となってしまいました。 =IF(OR(AND($V$2>3,Q2>$V$2)),0,IF(AND($V$2>3,$V$2<=12,OR(Q2=1,Q2=2,Q2=3)),0,IF(AND($V$2=1,OR(Q2=2,Q2=3)),0,IF(AND($V$2=2,Q2=3),0,IF(COUNTIFS($Q$2:Q2,MONTH(E2),$D$2:D2,D2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0))))) V列=月毎にその月の数値『4』、『5』を入れました。 Q列=以前より、その月の数値『4』、『5』が入れています。 D列=グループ名 L列=所属区分名 M列=利用区分名 P列=課題ID名 V列には、Q列と全く同じ月の数字が入っていますが、私の設定違いでしょうか? 大変恐縮ですが、ご教示頂けると大変助かります。
- kkkkkm
- ベストアンサー率66% (1719/2589)
回答No.1の訂正と追加です。 先日追加になったグループ(D列)の部分を入れてない式を追加してましたし一部おかしかったので以下に変更してください 月をV2に入れる場合(やたら長くなりましたが) =IF(OR(AND($V$2>3,Q2>$V$2)),0,IF(AND($V$2>3,$V$2<=12,OR(Q2=1,Q2=2,Q2=3)),0,IF(AND($V$2=1,OR(Q2=2,Q2=3)),0,IF(AND($V$2=2,Q2=3),0,IF(COUNTIFS($Q$2:Q2,MONTH(E2),$D$2:D2,D2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0))))) また日付を年から入れた場合は 上記と同じようにデータが最大本年4月から翌年3月までしかないと考えた場合ですが (起点が本年4月から固定で計算するのでしたら翌年は何月まででも良い) V1に年(2022とか) V2に月(5とか) =IF(E2>EOMONTH(DATE($V$1,$V$2,1),0),0,IF(COUNTIFS($Q$2:Q2,MONTH(E2),$D$2:D2,D2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0))
- kkkkkm
- ベストアンサー率66% (1719/2589)
データが最大4月から翌年3月までしかないと考えた場合ですが V2に月分の数値を入れるとして(5月分なら「5」) =IF(AND($V$2>3,Q2>$V$2),0,IF(AND($V$2=2,Q2=3),0,IF(AND($V$2=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($Q$2:Q2,MONTH(E2),$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) でいけると思います。
- 1
- 2
補足
大変お世話になっております。 ご教示頂いているのに、物分かりが悪くて申し訳ありません。 ご教示の内容で実施し、ピポットテーブル上で、V列~AF列(4月~3月の12ヶ月)の課題IDの総数を出しましたが、4月~3月まで全く同じ数でした。 今回やりたい事は、5月の課題IDは、4月、5月を合わせたデータで重複無しの課題IDの総数を出していく事です。 最終月の3月は、4月~3月までの12ヶ月のデータで重複無しの課題IDの総数を出していく事になります。 やってみた事を下記へ記載しました。 私のやり方が出来てないのだと思います、間違って実施している処に気付きましたら、大変恐縮ですがご教示頂きたいです。 V列=月の数字をV1に入れる。この列は元の課題ID重複無しの数式が入っている列の右隣にしました。 4月から3月の1年間分の数字をV,W,X,Y,Z,AA,AB,AC,AD,AE,AD,AFの1行目にいれる。 下記を、V列の2行目にいれて、右と下へコピーする。 =IF(OR(AND(V$1>3,$Q2>V$1)),0,IF(AND(V$1>3,V$1<=12,OR($Q2=1,$Q2=2,$Q2=3)),0,IF(AND(V$1=1,OR($Q2=2,$Q2=3)),0,IF(AND(V$1=2,$Q2=3),0,IF(COUNTIFS($Q$2:$Q2,MONTH($E2),$D$2:$D2,$D2,$L$2:$L2,$L2,$M$2:$M2,$M2,$P$2:$P2,$P2)=1,1,0))))) Q列=日付分の月の数字が入っている列。 E列=日付が入っている(202/06/23)列。 D列=グループ名が入っている列。 L列=所属区分が入っている列。 M列=利用区分が入っている列。 P列=課題IDが入っている列。