ピポットテーブ 月が重複した総数の求め方

このQ&Aのポイント
  • ピポットテーブルを使用して、重複した月の総数を求める方法について教えてください。
  • 課題IDを月ごとにグループ毎の所属区分毎の利用区分毎に集計する際、月が重複した場合にその数を求めたいです。
  • 4月からの月ごとに重複した月の数を1として数える数式を教えてください。
回答を見る
  • ベストアンサー

重複行を1としてカウント 月が重複した総数を求める

下記の質問タイトルで大変お世話になっております。 『ピポットテーブ 重複行を1としてカウントしたい』 『重複行を1としてカウント』 本日も、同じタイトルの仕事で困った事が御座いまして、質問をさせて頂きました。 ピポットテーブル上で課題IDの集計は、月毎のグループ毎の所属区分毎の利用区分毎に集計すると認識し、課題IDの重複無しを月毎で『1』とする数式をご教示頂いておりました。 しかし、私の認識違いで、5月分以降より月が重複した課題ID数を求めるとの事です。 年度始めの4月分の課題IDの重複無しを『1』とする数式は下記のご教示で問題ないのですが、 =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) ピポットテーブルで使用するテーブルデータの5月分以降については、 下記のように重複した月の重複無しを『1』とする数式をそれぞれの月で11列新たに必要になるのかなと想像します。 上記の方法以外にやり方をお分かりでしたら、ご教示頂けると大変助かります。 5月分は、4月分~5月分の、課題IDの重複無しを『1』とする数式 6月分は、4月分~6月分の、課題IDの重複無しを『1』とする数式 7月分は、4月分~7月分の、課題IDの重複無しを『1』とする数式 来年3月分は、今年4月分~来年3月分の、課題IDの重複無しを『1』とする数式 以上 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.4

データが最大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))))) として右と下にコピーしてください。

nnirosan
質問者

補足

大変お世話になっております。 ご教示頂いているのに、物分かりが悪くて申し訳ありません。 ご教示の内容で実施し、ピポットテーブル上で、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が入っている列。

その他の回答 (14)

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.15

表自体の体裁も違うみたいですし G$10 $G$26 $B$25 が何を指しているのか分からないのでわかりません。 同じデータをうまく割り付けて両方に入れて確認してください。 >  ⑤のExcelの『重複の削除』もご説明頂いた下記のような動作をしていると認識していますが、 >  間違いないでしょうか? 日付「月」を重複の検査対象としていないのでしたらそうなると思います。 10個くらいのテストデータで確認してみてください。

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.14

>  ・下記は、『自主運用』以外で『所属区分』、『利用区分』の条件で、重複無しの課題IDをカウントする数式と認識していますが?   >  =SUMPRODUCT((($Q$4:$Q$10000=G$10)*($S$4:$S$10000<>"自主運用"))/COUNTIFS($Q$4:$Q$10000,$Q$4:$Q$10000&"",$S$4:$S$10000,$S$4:$S$10000&"",$T$4:$T$10000,$T$4:$T$10000&""))  「自主運用」以外で「Q列=所属区分」が「G10」と一致し、かつ「Q列=所属区分、S列=利用区分、T列=課題ID」の3要素が一致するデータの重複を除いた個数だと思います。 >  ・下記の数式は『所属区分』、『利用区分』の各項目の総数を出す数式と認識していますが? >  この式は各項目分仕込まれています。 > =SUMPRODUCT((($Q$4:$Q$10000=$G$26)*($S$4:$S$10000=$B$25))/COUNTIFS($Q$4:$Q$10000,$Q$4:$Q$10000&"",$S$4:$S$10000,$S$4:$S$10000&"",$T$4:$T$10000,$T$4:$T$10000&"")) 「Q列=所属区分」が「G26」と一致し、かつ「S列=利用区分」が「B25」と一致し、かつ「Q列=所属区分、S列=利用区分、T列=課題ID」の3要素が一致するデータの重複を除いた個数だと思います。 元の質問と離れていますし > まだ私にはその辺の所が把握出来ておりません。 とのことですので、仕様がはっきりしてから別に質問してください。

nnirosan
質問者

補足

大変お世話になっております。 早速のご教示ありがとうございました。 愚鈍なものですから、質問内容が飛びまして申し訳ありません。 今回の質問に関連性が無い場合は、次のご質問でお尋ねする事にいたしますが、 大変恐縮ですが、2点程ご教示頂きたいです。 ・ご教示頂いた下記①、②は、おっしゃっている通りになります。  今回ご教示頂いた数式で求めた課題IDデータをピポットテーブルで、  『自主運用』以外で『所属区分』、『利用区分』の条件で総数を求める動作と  下記の数式で求める動作とは全く違った結果が出ると考えて宜しいでしょうか? =SUMPRODUCT((($Q$4:$Q$10000=G$10)*($S$4:$S$10000<>"自主運用"))/COUNTIFS($Q$4:$Q$10000,$Q$4:$Q$10000&"",$S$4:$S$10000,$S$4:$S$10000&"",$T$4:$T$10000,$T$4:$T$10000&"")) =SUMPRODUCT((($Q$4:$Q$10000=$G$26)*($S$4:$S$10000=$B$25))/COUNTIFS($Q$4:$Q$10000,$Q$4:$Q$10000&"",$S$4:$S$10000,$S$4:$S$10000&"",$T$4:$T$10000,$T$4:$T$10000&""))    ①下記は、『自主運用』以外で『所属区分』、『利用区分』の条件で、   重複無しの課題IDをカウントする数式と認識していますが?  ②下記の数式は『所属区分』、『利用区分』の各項目の総数を出す数式と認識していますが? ・『所属区分』、『利用区分』の各項目の課題IDの総数を手動で調べる時は下記のようにします。   ①E列の日付(2022/4/1)のフィルターで4,5,6にチェックを入れる。   ②所属区分の[大学]にチェックを入れる。   ③利用区分の[国内利用]にチェックを入れる。   ④課題IDの列のデータを別シートへコピーする。   ⑤ ④をデータ→重複の削除を実施して後、その数を数える。  ⑤のExcelの『重複の削除』もご説明頂いた下記のような動作をしていると認識していますが、  間違いないでしょうか?  『4月と5月で同じパターンのデータがあれば5月のデータは無いこととして「0」になります。』

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.13

> 数式を隣の列へコピー時、列名の入力ミスが起きそうだから、 ミスを防ぐために基本の式を一つ作成してそのまま右と下にコピーするだけで列や行の指定が自動で変化するようにしています。 それが回答No.4の数式です。 $が付いている列もしくは行の指定は変化せずに$のついていないほうの指定がコピーしただけ変化します。 列名や行番号を新たに入力する必要はありません。 > 5月分は、課題ID数を求める範囲が4月と5月のデータ使用 4月と5月で同じパターンのデータがあれば5月のデータは無いこととして「0」になります。 そういう事が無いのであればいいですが。 セルに4と入れて 書式設定の表示形式→ユーザー定義で "課題ID-"# とすればセルの内容は「4」のまま表示を「課題ID-4」にできます。 セル参照すれば「4」と認識されますので12か月分の数値と表示を別のセルにする必要がなくなります。 どちらにしても、どのような形で表を作成しても利用者の自由ですので結果が良ければそれでいいと思いますが、後で式の変更や訂正が出た場合に「12個の式を変更する」か「1個の式を変更」してコピペするだけかという差が出ます。 今回の作業でも式ではV列の行指定や日付とグループの指定個所削除で50か所以上変更したのではないでしょうか。 1個の式にしておけば、日付とグループの指定個所削除の2か所の変更ですみました。

nnirosan
質問者

お礼

大変お世話になっております。 早速のご教示ありがとうございました。 何時も暖かく辛抱強く、愚鈍な私に丁寧にご指導下さり、本当にありがとうございました。 解決出来ましたので、今回の件は、これで完了とさせて頂きます。 どうぞこの先も、何卒ご指導宜しくお願い致します。 ・今回ご教示頂いた数式で日付「月」の重複判定を外した式と、旧マクロで試した結果、全部署及び所属区分の課題IDとユーザIDの総数がすべて一致致しました。     G$10 ←自主運用以外で所属区分『大学』の記載があります。   $G$26 ←所属区分『大学』の記載があります。   $B$25 ←利用区分『国内利用』の記載があります。   同じデータをうまく割り付けて両方に入れて確認してください。 ・Excelの『重複の削除』の動作も確認しました。  4月~7月の同じ課題IDで試して4月の1行目のみが重複無しとなりました。  今回ご教示頂いた重複の判定も同じ結果でした。

nnirosan
質問者

補足

大変お世話になっております。大変重要なご教示ありがとうございました。 kkkkkmさんにご教示頂いていた数式や説明について、誤った解釈をしていました。 ・回答4でご紹介頂いた下記の式は、全てのデータ(4月~3月の12ヶ月間)に対して、  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)))))  課題ID数を出したい始まりの月『4』をV列1行目に入れれば、2行目から下へ『所属区分』、『利用区分』の条件で、重複していたら『0』、重複して無かったら『1』と判定する。  つまり、この数式は、全てのデータ(4月~3月の12ヶ月間)に対応しているのですね。  早速、データテーブルを上記へ修正し、ピポットテーブル上でフィルター設定に『Q列:月』を加えて総数を出しました。  前日のやり方で求めた総数と同じになった事を確認しました。回り道をしてしまい、本当に申し訳ありませんでした。 ・それから、ご教示頂いた中で気になる下記についてです が、『4月と5月で同じパターンのデータがあれば5月のデータは無いこととして「0」になります。   そういう事が無いのであればいいですが。』   ここがとても、重要ポイントになると思われます。   現実、同じ課題IDは4月も5月も6月も発生しています。   例えば、6月分の課題IDの総数を出す場合、4月~6月に 発生した課題IDの総数を   『所属区分』、『利用区分』の各項目で出して欲しい と言うのが指示です。   システムが変わっても以前のやり方で出して欲しいと 依頼されています。   まだ私にはその辺の所が把握出来ておりません。   大変恐縮なのですが、システムが変わる以前の課題ID 総数の求め方を以下へ記載しましたので、気が付かれ た点などありましたら、ご教示を頂けると大変助かり ます。      実は今回の質問は、下記タイトルでkkkkkmさんにご教示頂いた仕事になります。   『行の自動カウントと複数の関数式をマクロで実行したい』   今年の4月以降より、データ回収のやり方や、データリストのフォーマットが変わりました。   以前にしていた課題ID総数の求め方についてざっくり説明させて頂きます。  ・各部署毎のデータから、課題IDの総数を求めていた。   ①自主運用を外した、『所属区分』、『利用区分』の各項目を条件とし重複無しの課題総数。   ②各『所属区分』、『利用区分』毎の重複無しの課題総数。  ・データは、月毎で同じシートの下へ追加されていました。  ・課題IDの重複を取り除いた下記の数式等を、Excelのリストに仕込ませて求めていました。(Q列=所属区分、S列=利用区分、T列=課題ID)  ・その後更に、各部署、『所属区分』、『利用区分』のExcelのリストを作成し、求めた各課題ID総数を入力していました。  ・下記は、『自主運用』以外で『所属区分』、『利用区分』の条件で、重複無しの課題IDをカウントする数式と認識していますが?    =SUMPRODUCT((($Q$4:$Q$10000=G$10)*($S$4:$S$10000<>"自主運用"))/COUNTIFS($Q$4:$Q$10000,$Q$4:$Q$10000&"",$S$4:$S$10000,$S$4:$S$10000&"",$T$4:$T$10000,$T$4:$T$10000&""))     ・下記の数式は『所属区分』、『利用区分』の各項目の総数を出す数式と認識していますが?  この式は各項目分仕込まれています。 =SUMPRODUCT((($Q$4:$Q$10000=$G$26)*($S$4:$S$10000=$B$25))/COUNTIFS($Q$4:$Q$10000,$Q$4:$Q$10000&"",$S$4:$S$10000,$S$4:$S$10000&"",$T$4:$T$10000,$T$4:$T$10000&""))

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.12

ちなみに数式でとの質問だったので数式を回答しましたが 回答No.3でピボットで日付のフィルターかけたらいいのではと書いたように、元の式のままでフィルターでいいのではないですか。

nnirosan
質問者

補足

大変お世話になっております。 本当に、出来の悪い生徒で申し訳ありません。 再度、ご教示くださった事について、説明をさせて頂きました。 ・『「6」なら7月以降の重複のチェックはせずに「0」とするということです。』    今回したかった事はまさしく上記です。良かった、この答えが欲しかったのです。ありがとうございました。 ・『回答No.4の説明では1行目に月を入れてその下の2行目に一つの式を入れ、あとはコピペで済ませる方法』    あー、そうですね!その方が見易いですね。     しかし、私みたいなドンくさい人には、数式を隣の列へコピー時、列名の入力ミスが起きそうだから、    『月の数値を縦に入れて、その参照を横方向にしてる』とした方が楽かもしれません。 ・『式中の参照を書き直すのは面倒ですし、1行目に月が入っていればピボットで見てもそのまま何月までと   いうのがわかると思ったのですが。』     私の設定は、以下の通りになります。4月~3月(12ヶ月分)用の課題ID重複無しを『1』求めるには、    下記のように横に月毎の列を作る必要が有るのかと思いまして。            V列    X列     Y列    Z列      1行目 12ケ月  課題ID-4  課題ID-5  課題ID-6     2行目  4    Aの式    Bの式   Cの式    3行目  5     4行目  6       A=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($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) B=IF(AND($V$3>3,Q2>$V$3),0,IF(AND($V$3=2,Q2=3),0,IF(AND($V$3=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) C=IF(AND($V$4>3,Q2>$V$4),0,IF(AND($V$4=2,Q2=3),0,IF(AND($V$4=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) ・『重複なしを「1」と判定するというか、重複があった場合2回目以降のデータを「0」と   判定しているだけです。』     私が、データテーブルから4月~6月の課題ID数を手動で求めるやり方は、以下の通りになります。     ①E列の日付(2022/4/1)のフィルターで4,5,6にチェックを入れる。     ②所属区分の[大学]にチェックを入れる。     ③利用区分の[国内利用]にチェックを入れる。     ④課題IDの列のデータを別シートへコピーする。     ⑤ ④をデータ→重複の削除を実施して、数を数える。     前回の質問の時は月毎でしたので、月が同じかどうかの判定が必要でしたが、     今回は、以下のようにするので、日付の判定は要らないのかなと思いまして。      4月分は、課題ID数を求める範囲が4月のデータ使用      5月分は、課題ID数を求める範囲が4月と5月のデータ使用      6月分は、課題ID数を求める範囲が4月と5月と6月のデータ使用         ・         ・             ・      3月分は、課題ID数を求める範囲が4月~3月(12か月分)のデータ使用

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.11

No.10の言葉足らず 重複の有無にかかわらず1回目は「1」として 重複があった場合2回目以降のデータを「0」と判定しているだけです。

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.10

> ご紹介頂いている下記の数式は、$V$2に『6』を入れると、全てのデータについて判定をするが、課題ID重複無しを『1』と判定するのは、4月~6月分のデータであると認識していますが、この考え方は正しいでしょうか? 示されている式は私の紹介した式とは違いますが 「6」なら7月以降の重複のチェックはせずに「0」とするということです。 重複なしを「1」と判定するというか、重複があった場合2回目以降のデータを「0」と判定しているだけです。 示された式では月が同じかどうかの判定はしていませんね。

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.9

> ①V列2行目~13行目に数字の4、5、6、7、8、9、10、11、12、1、2、3を入力。 > ②V列の右隣の12列には下記の式を入れる予定です。既に、W列(4月用)、X列(5月用)、Y列(6月用)、X列(7月用) >  ②については、V列の右隣の12列の2行目以降には、データ数分の数式を下へ入れています。 わかりました。月の数値を縦に入れて、その参照を横方向にしてるという事でしたか。 回答No.4の説明では1行目に月を入れてその下の2行目に一つの式を入れ、あとはコピペで済ませる方法でした。 式中の参照を書き直すのは面倒ですし、1行目に月が入っていればピボットで見てもそのまま何月までというのがわかると思ったのですが。 なぜ縦横にしたのか分かりませんが、その方が都合が良かったのでしたら私がとやかくいう事ではありませんね。

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.8

> 月毎の課題IDの総数を求めていました 月ごとですか? ピボットで月ごとに分けていたかどうかは私の知るところではありませんが、元の表ではデータにある全ての月の判定をしていたと思いますが。 >   今回やり方事は、下記のような条件で課題IDの総数を求める事です。 だから 一列(今まではデータ全ての月)に各行のデータの判定をしていた 集計する月の範囲が変更になっただけの話だと思いましたが。 と言ってるのですが。 既に回答したこと以外お知らせすることはありません。

nnirosan
質問者

補足

大変お世話になっております。 ご教示ありがとうございました。 同じご質問ばかりしているようで、申し訳ありません。 1つ質問があります。 4月~7月分のデータがある場合、ご紹介頂いている下記の数式は、$V$2に『6』を入れると、全てのデータについて判定をするが、課題ID重複無しを『1』と判定するのは、4月~6月分のデータであると認識していますが、この考え方は正しいでしょうか? 実際に、この式を入れて見ると、7月以降の課題ID重複の判定はすべて『0』となります。 =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))))

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.7

> ①V列2行目~13行目に数字の4、5、6、7、8、9、10、11、12、1、2、3を入力。 > ②V列の右隣の12列には下記の式を入れる予定です。既に、W列(4月用)、X列(5月用)、Y列(6月用)、X列(7月用) 2行目だけの判定をしてるように見えますが、それで何をやりたいのか私には分かりません。 今までのやり方「一列(今まではデータ全ての月)に各行のデータの判定をしてピボットで集計」の延長で、集計する月の範囲が変更になっただけの話だと思いましたが。

nnirosan
質問者

補足

大変お世話になっております。早速のご返答ありがとうございました。 ・『2行目だけの判定をしてるように見えますが、それで何をやりたいのか私には分かりません。』    口足らず申し訳ありません。    ②については、V列の右隣の12列の2行目以降には、データ数分の数式を下へ入れています。 ・『今までのやり方「一列(今まではデータ全ての月)に各行のデータの判定をしてピボットで集計」の延長で、   集計する月の範囲が変更になっただけの話だと思いましたが。』    今まで、おっしゃる通りのやり方で、月毎の課題IDの総数を求めていましたが、    今回やり方事は、下記のような条件で課題IDの総数を求める事です。    4月分は、4月のデータの課題IDの重複無しを『1』とする。    5月分は、4月と5月のデータの課題IDの重複無しを『1』とする。    6月分は、4月と5月と6月のデータの課題IDの重複無しを『1』とする。       ・       ・           ・    3月分は、4月~3月(12か月分)のデータの課題IDの重複無しを『1』とする。 大変なお手間をお掛けしていまして、誠に申し訳ありません。 ご教示、よろしくお願い致します。

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.6

> ①V列2行目~13行目に数字の4、5、6、7、8、9、10、11、12、1、2、3を入力。 何の意味があるのでしょうか? > ②4月用~7月用の課題ID重複無し『1』の下記の式をV列、W列、X列、Y列に入力。 V列には上記の数値をいれているのにV列に式を入れてどうしようというのですか? 式を入れてもV2では循環参照になると思いますが そして8月以降にはどうするのですか? > =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列を出したい月に応じて選択する。 なぜそんなことをするのですか?

nnirosan
質問者

補足

大変お世話になっております。 早速のご教示ありがとうございます。 kkkkkmさんのご教示が理解出来てないようです、すみません。 昨日やった事は、下記の通りです。下記の条件でグループの記載が抜けてしまっていました、 結局、部署毎で良い事が分かり、部署毎を付け加えています。 ①V列2行目~13行目に数字の4、5、6、7、8、9、10、11、12、1、2、3を入力。 ②V列の右隣の12列には下記の式を入れる予定です。既に、W列(4月用)、X列(5月用)、Y列(6月用)、X列(7月用) =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($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$3>3,Q2>$V$3),0,IF(AND($V$3=2,Q2=3),0,IF(AND($V$3=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$4>3,Q2>$V$4),0,IF(AND($V$4=2,Q2=3),0,IF(AND($V$4=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$5>3,Q2>$V$5),0,IF(AND($V$5=2,Q2=3),0,IF(AND($V$5=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$6>3,Q2>$V$6),0,IF(AND($V$6=2,Q2=3),0,IF(AND($V$6=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$7>3,Q2>$V$7),0,IF(AND($V$7=2,Q2=3),0,IF(AND($V$7=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$8>3,Q2>$V$8),0,IF(AND($V$8=2,Q2=3),0,IF(AND($V$8=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$9>3,Q2>$V$9),0,IF(AND($V$9=2,Q2=3),0,IF(AND($V$9=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$10>3,Q2>$V$10),0,IF(AND($V$10=2,Q2=3),0,IF(AND($V$10=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$11>3,Q2>$V$11),0,IF(AND($V$11=2,Q2=3),0,IF(AND($V$11=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$12>3,Q2>$V$12),0,IF(AND($V$12=2,Q2=3),0,IF(AND($V$12=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) =IF(AND($V$13>3,Q2>$V$13),0,IF(AND($V$13=2,Q2=3),0,IF(AND($V$13=1,OR(Q2=2,Q2=3)),0,IF(COUNTIFS($C$2:$C2,$C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)))) ③ピポットテーブルで、4月、5月と月毎に毎回集計を求め、更に、月毎の部署別の利用区分毎や所属区分毎の提出用リストを作成しております。 本当に、物分かりが悪くてもうしわけありません。 こんな説明でお分かりになりましたら、更にご教示を宜しくお願い致します。

関連するQ&A

  • ピポットテーブ 重複行を1としてカウントしたい

    何時も、大変お世話になっております。Excelの初心者です。 ピポットテーブルのクロス集計を利用して、A列~AS列のセルに入力された データから月毎の集計を出したいのですが、重複するデータの場合でも1とカウントしたいのですが、 やり方がわかりません。何方かご教示頂けると大変助かります。 ピポットテーブルでデータ修正をする前に、データ上で重複の処理をすべきなのでしょうか? ピポットテーブルの集計の時に、重複した個数を1とカウントする事は出来ないのでしょうか? 今回、やりたい事は、 月毎(今現在のデータ=4月分、5月分、6月分)に、利用区分毎で更に所属区分毎に分けて、 下記のP列の課題IDの個数の合計を求めるのに、その月に同じ課題IDが複数ある場合は1とカウントさせて、ピポットテーブル上でその月の課題IDの集計をさせる事です。 課題IDの集計を月単位で上記の条件でピポットテーブルで出すと、重複行もそのままカウントされてしまうので、困っています。 集計に使用するデータ項目は以下の通りとなります。 ・E列(項目=利用日)             <項目の詳細>   各機器の貸し出し日を日単位で記載しています。(2022/7/10)                                                         ・L列(項目=所属区分)  <項目の詳細>   大学、民間、管理部署、構内、大企業、中小企業の何れかを記載しています。 ・ N列(項目=利用区分)    <項目の詳細>    使用不可、構内利用、外国利用、国内利用、使用不可の何れか載しています。 ・P列(項目=課題ID)    <項目の詳細>    空白もあるデータです。55AB1234、55RE2345、JPMXP1222NM0053、HHAPPYのように数字とアルファベットを組み合わせたIDや数字のみのIDやアルファベットのIDを記載しています。

  • 月単位で追加したデータ毎に課題IDの重複を取り去り

    タイトル=【重複行を1としてカウント 月が重複した総数を求める】でkkkkkmさんには大変お世話になりました、nnirosanです。 実は、今実施しております課題ID数をピポットテーブル上で集計する時に、ご回答頂いていました下記のご教示通りの結果となりまして、 対処方法を模索しているのですが、具体的な方法が分からず困っております。 2022/09/02 22:30 回答No.13 kkkkkmさん 『4月と5月で同じパターンのデータがあれば5月のデータは無いこととして「0」になります。 そういう事が無いのであればいいですが。』 =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))))) ・課題IDの重複を取り去る為の式は、今現在、下記の数式を使用しております。  下記の式では、ある課題IDが4月~9月分データ中に複数ある場合、4月~8月分では結果は『0』、9月分で1行『1』が出ます。  ピポットテーブル上で4月~8月分の課題ID数の集計を求めた時、上記のある課題IDは集計されない事になってしまっています。  =IF(OR(AND(AU$1>3,$F2>AU$1)),0,IF(AND(AU$1>3,AU$1<=12,OR($F2=1,$F2=2,$F2=3)),0,IF(AND(AU$1=1,OR($F2=2,$F2=3)),0,IF(AND(AU$1=2,$F2=3),0,IF(COUNTIFS($C$2:$C2,$C2,$M$2:$M2,$M2,$Q$2:$Q2,$Q2)=1,1,0)))))   ・4月~8月分について、課題IDの重複を取る為に下記の式を試して見ましたが、旨く出来ませんでした。  =IF(AND(AU$1>3,($F2<=8)),IF(COUNTIFS($C$2:$C2,$C2,$M$2:$M2,$M2,$Q$2:$Q2,$Q2)=1,1,0)) ・重複無しの課題IDの集計については、下記のように、1か月ずつ追加したデータ毎にピポットテーブル上で集計を出したいのですが、具体的な方法がお分かりでしたら、ご教示頂けると大変助かります。  4月分で重複無しの課題IDの集計。  4月~5月分の重複無しの課題IDの集計。  4月~6月分の重複無しの課題IDの集計。  4月~7月分の重複無しの課題IDの集計。  4月~8月分の重複無しの課題IDの集計。  4月~9月分の重複無しの課題IDの集計。     |  4月~来年3月分の重複無しの課題IDの集計。

  • 重複行を1としてカウント

    大変お世話になっております。 以前、『ピポットテーブ 重複行を1としてカウントしたい』で質問をさせて頂き、ご教示を頂いております。 今回は、更に条件を加えて重複を1とカウントしようとして、下記から、 =IF(COUNTIFS($Q$2:Q2,MONTH(E2),$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0)              ↓ =IF(COUNTIFS($Q$2:Q2,MONTH(E2),$C$2:C2,C2,$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0) としたのですが、C列(グループ)の重複が上手くいきませんでした。 重複の優先順位はグループが1番目になります。 大変恐縮ですが、ご教示頂けたら大変助かります。 データは下記の通りになります。(良い例題でなく申し訳ありません) A列,B列,,D列,E列,F列,G列,H列,,,,L列,M列,,,P列,Q列 機器ID,装置名,,グループ,利用日,開始時間,終了時間,利用時間,,,,所属区分,利用区分,,,課題ID, AB024,アイロン,,A,2022/6/13,9:00,17:00,8,,,,大企業,外国利用,,,55AB1234,6 AB020,アイロン,,A,2022/4/25,0:00,6:00,6,,,,構内,国内利用,,,55AB1234,4 AB005,スマホ,,A,2022/4/25,5:00,7:00,2,,,,構内,自社用,,,55RE7800,4 AB002,テレビ,,C,2022/6/24,0:00,24:00:00,24,,,,民間,構内利用,,,55AB1234,6 AB002,テレビ,,C,2022/6/24,5:00,7:00:00,2,,,,大学,国内利用,,,55RE7800,6 AB222,ドライヤー,,C,2022/4/30,9:00,17:00,8,,,,中小企業,国内利用,,,55RE7800,4 AB235,パソコン,,C,2022/5/1,5:00,7:00,2,,,,管理部署,使用不可,,,空白,5 AB890,ポット,,F,2022/4/1,9:00,17:00,8,,,,構内,自社用,,,55RE7800,4 AB890,ポット,,F,2022/5/6,0:00,24:00:00,24,,,,管理部署,使用不可,,,空白,5 AB890,ポット,,F,2022/5/9,9:00,17:00,8,,,,中小企業,国内利用,,,55RE7800,5 AB777,乾燥器,,G,2022/5/12,0:00,24:00:00,24,,,,大学,国内利用,,,55AB1234,5 AB777,乾燥器,,G,2022/6/5,13:00,20:00,7,,,,民間,構内利用,,,55RE7800,6 AB345,炊飯器,,G,2022/6/23,9:00,17:00,8,,,,大企業,外国利用,,,55RE7800,6 AB123,洗濯機,,G,2022/4/1,9:00,17:00,8,,,,大学,国内利用,,,55AB1234,4 AB123,洗濯機,,G,2022/5/15,0:00,24:00:00,24,,,,大学,国内利用,,,55AB1234,5 AB016,掃除機,,J,2022/6/1,13:00,20:00,7,,,,民間,構内利用,,,JPMXP1222NM0058,6

  • クライアント毎に重複をカウントしたい

    MYSQLを勉強中です。 下記のようなテーブルがあります。 【クライアトテーブル】: クライアントID 1 | A社 2 | B社 3 | C社 4 | D社 【お問合せテーブル】: お問合せmail |お問合せ先のクライアントID|お問合せ日時 aaa@aaa.com |1 |2013-02-01-10:00:00 aaa@aaa.com |2 |2013-03-01-10:00:00 bbb@bbb.com |3 |2013-04-01-10:00:00 ccc@ccc.com |4 |2013-04-02-10:00:00 aaa@aaa.com |1 |2013-04-03-10:00:00 ここで、 クライアント毎に、4月分の問合せ数を表示したいのですが、 4月1日~4月末日に問合せのあったメールアドレスと、 2月1日~3月末日に問合せのあったメールアドレスを比較して、 下記のように重複分をクライアント毎にカウントしたいです。 問合せ数: A社:1件 重複1件 C社:1件 重複1件 D社:1件 重複0件 クライアントIDを個別で指定すれば正しく表示できるのですが、 クライアント一覧を取得するのはどのようなSQLを書けばよいのでしょうか。。。 もう1ヶ月悩んでおります。 すみませんが、教えて頂けますと幸いです。

    • ベストアンサー
    • MySQL
  • 【アクセス2010】フィールドの最大値のみ表示

    アクセス2010を使用しています。 下記のようなテーブルがあり、クエリを使ってそれぞれの「ID」に紐づいている「区分」の最大値のみを表示させたいです。 ID 区分 年月 10 100 2011/1/1 10 110 2011/3/8 10 150 2015/4/1 13 110  13 140  21 140 2016/12/7 21 160 2017/7/7 21 150 2017/1/8 「年月」を最大で集計すると、年月が入っていないIDが重複して出てきてしましますが、 「区分」を最大で集計しても、すべてのデータが表示されます。 アクセスを触り始めたばかりなので、詳細に(どこを押す、どの欄になにを書く等)教えていただけますととても助かります。 よろしくお願いいたします。

  • 重複があるデータが何種類あるか、を条件付でカウント

    EXCEL2003で質問です。 http://okwave.jp/kotaeru.php3?q=1827923 の応用編です。 次のようなリストをつくりました。 A  |B  |C   小泉 重複  1月 竹中     1月 小池     3月 小泉 重複  1月 竹中     2月 竹中     2月 Cが「1月」の場合のみ、Aの項目が複数存在した場合に 「重複」と表示させる関数を、B列に埋め込むことが無事できました。 =IF(AND(C1="1月",SUMPRODUCT(($A$1:$A$6=A1)*($C$1:$C$6="1月"))>1),"重複","") anserwd:shiotan99さま さて、この応用です。 ■課題  「重複」の出たuserが何人いるか?を集計。  重複データのカウント方法は過去の質問を参照しましたが、この場合にあてはめる力が私にはまだありませんでした。  お力貸していただくとありがたいです。  よろしくおねがいします。

  • Excel2010重複しないカウントとフィルタ結果

    Excel2010で、重複しない文字をカウントしつつ、オートフィルターで 抽出をかけた時には表示したデータをカウントする関数を作成したいのですが うまくできません。 作成しているExcelの表には、オートフィルターが設定されています。 A列には複数名の人の名前が入っていて、名前には重複もあります。 オートフィルターでの抽出条件が指定されていない状態で A列の重複しない人数を下記数式で出しています。  =SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100)) オートフィルターで、例えばA列で3人の名前を抽出した場合に、 上記数式が入っているセルに「3」と表示をさせたいのですが できますでしょうか? できれば作業列を使用することなく、ダイレクトに該当セルに算出できる方法が あれば知りたいです。 お分かりの方いらっしゃいましたらご教示頂けると助かります。 どうぞよろしくお願いいたします。

  • 【Excel VBA】重複行の削除

    はじめまして。 IDの重複を削除し、日付データを横1列にまとめるVBAについてご教示いただけますと幸いです。 ------------------------------------------------------- ▼シート1(データ入力がされているシート)    A   B   C   D   E   F    1   ID 日付 2  1234  1/1  1/6  1/10  1/20   3  1234  2/3  2/20 4  1234  3/2 5  7777  1/10  1/15  1/20 6  7777  2/2   2/12  2/22 7  9876  2/3 ⇓ マクロ起動後 ▼シート2(重複行を削除しまとめたシート)    A   B   C   D   E   F   G   H 1   ID 日付 2  1234  1/1  1/6  1/10  1/20  2/3  2/20  3/2 3  7777  1/10  1/15  1/20  2/2  2/12  2/22 4  9876  2/3 【補足】 列情報  ・A列…ID  ・B-F列…日付(左詰め) ※日付はIDごと月毎に行が変わるため、IDによって複数行存在する場合があります。 ※A列のIDは重複しない場合もあれば、4行以上ある場合があります。 ※シート1のデータはおおよそ1000-5000行です。 ※IDに対して、日付は5つあれば問題ありません。そのためG列以降の日付を削除しても支障はございません。 ------------------------------------------------------ VBAの知識があまりなく、調べて出てきたものをコピペ使用も試みたのですが、 上手く動かす事ができませんでした…。 お力添え頂けますと幸いです…。 Windows10でエクセル2016を使用しております。 何卒宜しくお願いいたします。

  • 入力ミスチェックとそのチェック結果を表示させたい

    いつも、大変お世話になっております。 先日、タイトル名=『データ入力のミスチェック後その結果を表示させたい』で、 ご教示を頂きましたが、もう一つの条件が必要である事が後からわかりました。説明が分かりにくくて誠に申し訳ありませんでした。 大変、恐縮ですが、下記の式に、もう1つの条件を入れ込んだ関数の式を、 ご教示頂けると大変助かります。まだまだ力不足で自分には作れそうにありません。 チェックしたい事は、参照条件は、[利用区分]が『大学』であった時、 規定値が表記された別シート2つとデータ入力シートの『利用者ID、』『利用者名』、『利用区分』、『課題ID』を 参照し、入力データの記載が、別シート2つに無かったら、無かった項目と入力データの値を表示させたい事です。 上記のタイトル名でご教示頂いた数式は、以下の通りになります。 重複はチェックしてくれますが、課題IDが規定値と違った場合等のチェック結果が出ません。 =IF(N3<>"大学","大学以外",IF(COUNTIFS($K$3:$K$3265,K3,$P$3:$P$3265,P3)>1,"重複",IF(COUNTA(J3,K3,P3,N3)<4,"未入力有",IF(SUMPRODUCT((('利用者-教授IDマスタ'!$D$2:$D$345=P3)*('利用者-教授IDマスタ'!$F$2:$F$345=J3)*('利用者-教授IDマスタ'!$G$2:$G$345=K3))+((利用者マスタ!$A$2:$A$345=J3)*(利用者マスタ!$B$2:$B$345=K3)))>0,"OK","リスト外")))) Sheet名=入力データ     ・参照するセルはJ列[利用者ID]、K列[利用者名(教授と生徒が入り混じっている)]、N列[利用区分(大学のみ選択する)]、P列[課題ID]  ・データはA3~AS3265まで入っています。  ・J列、K列、N列、P列は共に、空白有り、値の重複もあります。  ・利用区分の種類は大学の他に複数有り、データ全体はそれらを含めた全てが入力されています。  ・データは課題ID毎で纏めています。課題ID1つに複数の利用者(教授と生徒)が関連します。 <J列[利用者ID]、K列[利用者名(教授と生徒が入り混じっている)]、N列[利用区分(大学のみ選択する)]、P列[課題ID]は 以下のように記載されています。>    125     山田花子    大学   AB78                  re1234    今井太郎    民間   AB01 空白の欄 田中幸太郎   大学   AB02    126     空白の欄    大学   AB02    456     中山太郎    大学   AB02    re1235    山田賢一    民間   AB01  空白の欄   空白の欄    施設   AB100  125     山田花子 空白   AB90     123     長井淳     大学   AB78    129     鈴木護     大学   AB78 Sheet名=利用者-教授IDマスタ(データは利用区分の大学のみ)   ・参照するセルはD列[課題ID]、F列[利用者ID(教授のみ)]、G列[利用者名(教授のみ)]  ・データはA2~Q325まで入っています。  ・D列は空白や重複は無し。F列、G列共に重複有り。 <D列[課題ID]、F列[利用者ID(教授のみ)]、G列[利用者名(教授のみ)]は 以下のように記載されています。>    AB78     125   山田花子    AB90     125   山田花子    AB02     456   中山太郎  Sheet名=利用者マスタ(データは利用区分の大学のみ)     ・参照するセルはA列[教授と生徒全員の利用者ID]、B列[利用者名(教授と生徒全員の名前が記載されている)]  ・データはA2~B3345まで入っています。  ・A列、B列共に空白や重複は無し。 <A列[教授と生徒全員の利用者ID]、B列[利用者名(教授と生徒全員の名前が記載されている)]は 以下のように記載されています。>    123   長井淳      129   鈴木護    126   高木昭

  • データ入力のミスチェック後その結果を表示させたい

    大変お世話になっております。  複雑なチェックの為、チェックしたい事を上手くお伝え出来るか不安ではありますが、 下記のような複雑なチェックがセルの式で可能でしたらご教示頂けると大変助かります。 頼ってばかりで、大変申し訳ありませんが宜しくお願いします。 チェックしたい事は、入力データのN列[利用区分が『大学』の時、J列[利用者ID]、K列[利用者名(教授と生徒が入り混じっている)]、P列[課題ID]、 N列[利用区分]、P列[課題ID]で入力ミスがないか、空白の欄があるかを判定して、判定結果を入力データの最後の列へ表示させることです。 ・利用区分が『大学』のときは、J列[利用者ID]、K列[利用者名]、P列[課題ID]、N列[利用区分]、P列[課題ID]に空白の欄があるのでは記載抜けのミスになります。 ・利用区分が同じ『大学』で、利用者名が重複している場合、課題IDが違っていれば問題ないです。 Sheet名=入力データ     ・参照するセルはJ列[利用者ID]、K列[利用者名(教授と生徒が入り混じっている)]、N列[利用区分(大学のみ選択する)]、P列[課題ID]  ・データはA3~AS3265まで入っています。  ・J列、K列、N列、P列は共に、空白有り、値の重複もあります。  ・利用区分の種類は大学の他に複数有り、データ全体はそれらを含めた全てが入力されています。  ・データは課題ID毎で纏めています。課題ID1つに複数の利用者(教授と生徒)が関連します。 <J列[利用者ID]、K列[利用者名(教授と生徒が入り混じっている)]、N列[利用区分(大学のみ選択する)]、P列[課題ID]は以下のように記載されています。>    125       山田花子                大学            AB78                  re1234      今井太郎                     民間             AB01 空白の欄 田中幸太郎                    大学            AB02    126       空白の欄                     大学            AB02    456       中山太郎                     大学            AB02    re1235      山田賢一                     民間            AB01  空白の欄     空白の欄                     施設            AB100  125       山田花子 空白            AB90     123       長井淳                      大学            AB78    129      鈴木護                      大学            AB78 Sheet名=利用者-教授IDマスタ(データは利用区分の大学のみ)   ・参照するセルはD列[課題ID]、F列[利用者ID(教授のみ)]、G列[利用者名(教授のみ)]  ・データはA2~Q325まで入っています。  ・D列は空白や重複は無し。F列、G列共に重複有り。 <D列[課題ID]、F列[利用者ID(教授のみ)]、G列[利用者名(教授のみ)]は以下のように記載されています。>    AB78     125            山田花子    AB90     125            山田花子    AB02     456            中山太郎  Sheet名=利用者マスタ(データは利用区分の大学のみ)     ・参照するセルはA列[教授と生徒全員の利用者ID]、B列[利用者名(教授と生徒全員の名前が記載されている)]  ・データはA2~B3345まで入っています。  ・A列、B列共に空白や重複は無し。 <A列[教授と生徒全員の利用者ID]、B列[利用者名(教授と生徒全員の名前が記載されている)]は以下のように記載されています。>    123                 長井淳      129                 鈴木護    126                 高木昭

専門家に質問してみよう