重複行を1としてカウントする方法

このQ&Aのポイント
  • 以前の質問の回答を参考にして、重複を1としてカウントする条件式を作成しましたが、特定の列の重複がうまくいきませんでした。
  • データの例を示しましたが、グループ列の重複行が処理されていません。
  • どなたかご教示いただけると助かります。
回答を見る
  • ベストアンサー

重複行を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

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1617/2456)
回答No.3

> 利用区分は『構内利用』と『使用不可』以外を対象 元の式は上記は対象外となっていないので、含めてカウントしていますから 上記を除外するために以下の式で試してみてください。 =IF(OR(M2="構内利用",M2="使用不可"),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
質問者

お礼

大変お世話になっております。 早速のご教示ありがとうございました。 月毎、グループ毎の集計と言っておきながら、 4月~7月全体の重複していない課題IDの集計とピポットテーブル上の4月~7月の課題IDの総計を 比較しておりました。大変お恥ずかしい事です、大変お騒がせしてすみませんでした。 ご教示頂いた式で実施し、ピポットテーブル上『構内利用』、『使用不可』の項目を外さない設定としても、 同じ総計値を出す事が出来ました。 又、グループ毎の課題IDの集計を再度見直しまして、kkkkkmさんにご教示頂いた、 下記の式は正しい式である事を確認させて頂きました。 =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) =IF(OR(M2="構内利用",M2="使用不可"),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)) 『構内利用』、『使用不可』の項目を重複に含めない時のIF文のご教示ありがとうございました。 大変勉強になりました。 また困って質問をする事になる事と思います、これに懲りずに宜しくお願い致します。

その他の回答 (2)

  • kkkkkm
  • ベストアンサー率65% (1617/2456)
回答No.2

見出しを見ると「グループ」はD列じゃないでしょうか。

nnirosan
質問者

補足

大変お世話になっております。 早速のご指摘ありがとうございました。 申し訳ありません、記載ミスです。 =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の重複無しを1として、グループ毎の課題IDの総計を出したのですが、実際の総計は60個ですが、112個となります。 因みに、下記にすると80個となります。 =IF(COUNTIFS($Q$2:Q2,MONTH(E2),$L$2:L2,L2,$M$2:M2,M2,$P$2:P2,P2)=1,1,0) ピポットテーブル上で課題IDの集計は、月毎のグループ毎の所属区分毎の利用区分毎に集計します。 利用区分は『構内利用』と『使用不可』以外を対象とするので、ピポットテーブル上で、『構内利用』、『使用不可』を外しています。 課題IDの重複無しを1とする時に、利用区分の『構内利用』、『使用不可』を関数の条件式に入れて おいた方が良いのでしょうか? その場合の関数についても、お分かりでしたらご教示頂けるt大変幸いです。 説明や例題が大変分かりにくく、大変申し訳ありません。

  • kkkkkm
  • ベストアンサー率65% (1617/2456)
回答No.1

C列にデータが無いのではと思いますが・・・。

関連する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を記載しています。

  • 重複行を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』とする数式 以上 宜しくお願い致します。

  • 重複している文字列をカウントと削除

    こんにちは。 自分専用の英単語集をNeoOffice calc(Mac OS X向けのOpenOffice.org,MSOfficeのエクセルに相当)を利用して作っています。 現在は下記のように、C列に500個ほど単語を入力した状態です。 図1   A  B   C    D    E  1 頻度 品詞 単語 不規則変化 意味  2        A  3        G  4        L  5        F   6        A  7        G  8        A  9        A  10        Q この上記のC列の各単語の重複個数を、下記の図2のようにA列に表示し、重複している単語を1個だけ残して削除したいのです。当然ながら、品詞、不規則変化、意味は手入力でがんばります。 図2   A    B   C    D    E 1 頻度  品詞  単語 不規則変化 意味 2  4  動詞   A    M   Aする 3  2  名詞   G         g 4  1  前置詞  F    W    f 5  1  名詞   L         l 6  1  動詞   Q    J   Qする 1行をオートフィルタでいじってみたいしましたが、私にはできませんでした。 関数のヘルプを参照したり、図書館でエクセルの教本を調べてみても、文字列だと・・・やはり私にはできませんでした。 どうかお力添えをお願い致します。

  • 1行複数列の中にある重複数字を削除する方法

    どなたかご存じでしたらご回答よろしくお願いします。 【質問】  エクセルシートA列~F列に1~31迄の数字が順不同に入っています。  これをG列~L列に「重複数字は1つにして昇順に並べる」方法が知りたいです。 ●エクセルシート  A  B  C  D  E   F  G  H  I  J  K  L   4  14  20  19  4  19  4  14  19  20 ←重複数字は1つになる。    15  5  9            5   9   15  6  12  12  24        6   12  24    ←重複数字は1つになる。   4  26  8   6        4   6   8  26  ●注意事項   ・使用するエクセルは2010です。 以上、よろしくお願いします。

  • エクセル97で重複しなかった場合のカウント方法

     こんにちは、過去の投稿をいろいろ調べたのですが、探し切れなかったので、どなたかご教授をお願いします。 エクセル97に行300、列10位のリストがあります。  ・A列に名前があり、重複はありません。  ・B列にPという商品を注文した人に"○"がついています。  ・C列にSという商品を注文した人に"○"がついています。  商品Sは商品Pを購入しないと意味がないものです。ですから、Pを注文しないでSだけ注文するということはありません。  Pを注文して、Sを注文しなかった人の数をカウントしたいのですが、COUNTIF関数や条件付書式を使うような気がしますが、どのようにすれば良いかわかりますでしょうか?  また、もしできれば、P注文、S注文しなかった場合のC列のセルの背景を変えたりしたいのですが、それはどうすれば良いかわかりますでしょうか?  何卒よろしくお願いします。

  • 月単位で追加したデータ毎に課題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の集計。

  • Perlで重複行を削除したい

    あ b c d e e g あ b c d e e g い b c d e e g い c c d e e g 上記のようなCSVデータ(タブ区切り)が100行くらいあるのですが、1列目にある、あ、あ、い、いは無視して、2列目以降のデータのみで重複を比較して同じ行は削除したいのですがどのようにすればよいでしょうか? 下記コードを応用すれば分かりそうなのですが、自分で作ることができませんでした。 どなたか、教えていただけ無いでしょうか? 宜しくお願い致します。 open(OUT, "$file"); @array = <OUT>; close(OUT); my %count; @array = grep(!$count{$_}++, @array); print @array;

    • ベストアンサー
    • CGI
  • 重複しない最初の文字を取り出す

    学校の課題で 「標準入力された文字列の中で、重複していない最初の文字を表示せよ」 というプログラムが出題されました。 例えば、 pen pan eagle と入力した場合、penは前に文字列がないので重複がない、panはpが重複するがaは重複しない、eagleはeもaも重複するがgは重複しなので、 p a g と表示するようなプログラムです。 どういう感じで書けばよいでしょうか? 言語は何でもよいといわれたのですが、私が何とかなりそうなJavaかPerlだとありがたいです。

  • Excel2003にて データ重複時に『重複』とエラー表示させたい

    いつもこちらでは皆様にご回答いただきお世話になっております。 またひとつご指導いただければとおもっております。 図のようにB列とF列には『名前』を入力するようになっています。 B列とF列で重複する名前があった場合C列、G列に『重複』と 表示させたいと思っております。 このような該当データが2列にまたがる場合のC列、G列に入れる数式をお教えください。 よろしくお願いいたします。

  • 重複データの計算式

      教えてください!      B    G    i     N    O    Q   V   W     1  飴   20個  ガム  5個   重複  アイス 4個      2  ガム  3個  りんご 2個         飴  4個  重複   3 すいか 1個   桃   3個        ブドウ 2個        別シート      A    B     C    D     E    F            1  飴   24個   りんご  2個   アイス  4個   2  ガム  8個    桃    3個   ブドウ  2個   3 すいか 1個      B1の飴20個とQ2の飴4個 B2のガム3個とI1のガム5個、飴、ガムの重複す  るデータどうしが、B、I、Q列に不特定にある場合の計算式を教えてください。   B列に対してI列、Q列の商品が重複までは抽出はできましたが、   別シートのセルに重複しない表を作りたいのです、   別シートB1、B2 D2、F2に入る関数を教えてください。  

専門家に質問してみよう