• 締切済み

Excel2007条件付きで重複分はカウントしない

以下のようなCSVデータがあり、A列、B列、C列のみを使用して 集計を行うことになりました。B列のランクは8種類あります。 A列  B列   C列 地域  区別  担当 東京  高    山田太郎 東京  中    山田花子 埼玉  高    佐藤太郎 東京  中    山田太郎 東京  高    山田太郎 東京  花    佐藤花子 埼玉  夢    加藤太郎 地域と区別については、counfifやsumproductを使用して、 以下のような感じでカウントすることができました。 地域  件数  「高」 「中」……  東京  4件  3件  2件…… 埼玉  2件  1件  0件…… 今回、「重複するデータは1として数える」ということになり、 お力を貸していただきたく書き込みさせていただきました。 ・「地域」で重複分を1としてカウントした件数 ・「地域」と「区別」を条件に重複分を1としてカウントした件数 上記の件数をカウントしたいのですが、 何かいいアイディアがございましたらご教授お願いいたします。 地域  件数  「高」 「中」…… 東京  3件  1件  2件…… 埼玉  2件  1件  0件……

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 今仮に、元データーの表中で、「地域」と入力されているセルがSheet1のA1セルで、集計結果のの表中で、「地域」と入力されているセルがSheet2のA1セルであるものとします。  又、Sheet2の C1セルには、"高"ではなく"「高」"と入力されていて、 D1セルには、"中"ではなく"「中」"と入力されていて、 E1セルには、"花"ではなく"「花」"と入力されていて、 F1セルには、"夢"ではなく"「夢」"と入力されているものとします。 ●作業列を使用する方法  まず、適当な列(例えばSheet3のA列)の2行目のセル(Sheet3のA2セル)に、次の数式を入力して下さい。 =IF(COUNTIF(A$1:A1,Sheet1!$A2&"「"&Sheet1!$B2&"」"&Sheet1!$C2)=0,Sheet1!$A2&"「"&Sheet1!$B2&"」"&Sheet1!$C2,"")  次に、Sheet3のA2セルをコピーして、Sheet3のA3以下に貼り付けて下さい。  次に、Sheet2のB2セルに、次の数式を入力して下さい。 =COUNTIF(Sheet3!$A:$A,$A2&"*")  次に、Sheet2のC2セルに、次の数式を入力して下さい。 =COUNTIF(Sheet3!$A:$A,$A2&C$1&"*")  次に、Sheet2のC2セルをコピーして、Sheet2のC2セルよりも右にあるセルに貼り付けて下さい。  次に、Sheet2の2行目のB列~表の中で最も右側にある列の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  以上です。 ●作業列を使用しない方法  まず、Sheet2のB2セルに、次の数式を入力して下さい。 =SUMPRODUCT((COUNTIFS(OFFSET(Sheet1!$A$1,,,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$1)+1),$A2,OFFSET(Sheet1!$B$1,,,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$1)+1),Sheet1!$B$2:$B$8,OFFSET(Sheet1!$C$1,,,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$1)+1),Sheet1!$C$2:$C$8)=1)*1)  次に、Sheet2のC2セルに、次の数式を入力して下さい。 =SUMPRODUCT((COUNTIFS(OFFSET(Sheet1!$A$1,,,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$1)+1),Sheet1!$A$2:$A$8,OFFSET(Sheet1!$B$1,,,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$1)+1),Sheet1!$B$2:$B$8,OFFSET(Sheet1!$C$1,,,ROW(Sheet1!$A$2:$A$8)-ROW(Sheet1!$A$1)+1),Sheet1!$C$2:$C$8)=1)*(Sheet1!$A$2:$A$8=$A2)*("「"&Sheet1!$B$2:$B$8&"」"=C$1))  次に、Sheet2のC2セルをコピーして、Sheet2のC2セルよりも右にあるセルに貼り付けて下さい。  次に、Sheet2の2行目のB列~表の中で最も右側にある列の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  以上です。

noname#204879
noname#204879
回答No.3

添付図参照 D2: =A2&"_"&B2&"_"&C2 E2: =COUNTIF(D$2:D2,D2)=1 範囲 D2:E2 を下方にドラッグ&ペースト H2: =SUM(I2:P2) I2: =SUMPRODUCT(($A$2:$A$100=$G2)*($B$2:$B$100=I$1)*($E$2:$E$100)) セル I2 を右方にドラッグ&ペースト 範囲 H2:P2 を下方にドラッグ&ペースト

回答No.2

こういうのはいかがでしょうか? 並び替えで「地域」「区別」「担当」の順に並べる ↓ D列に「=IF(A2=A3,IF(B2=B3,IF(C2=C3,"重複",""),""),"")」を入力 ↓ 重複している箇所に「重複」と出るので行を削除 ↓ 残ったデータでcountif やsumproductで集計 D列のIF文をアレンジすれば地域、区別の重複だけ見ることもできます。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

こういうのは (1)ピボットテーブル (2)VBAでプログラムを作成(略) (3)フィルタオプションの設定 向きではないかな。 ピボットで データの個数 / 担当 地域 区別 合計 埼玉 高 1 夢 1 埼玉 合計 2 東京 花 1 高 2 中 2 東京 合計 5 総計 7 ーーー フィルタオプションの設定では A,B列を範囲指定して 指定した範囲 重複するレコードは無視する で 地域 区別 東京 高 東京 中 埼玉 高 東京 花 埼玉 夢 具体的には出てくる。 ーー 関数ではこういうのは苦手のタイプです。 2列に亘って考えるのも難しくする。 地域 区別 担当 東京 高 山田太郎 東京高 東京 中 山田花子 東京中 埼玉 高 佐藤太郎 埼玉高 東京 中 山田太郎 東京中 東京 高 山田太郎 東京高 東京 花 佐藤花子 東京花 埼玉 夢 加藤太郎 埼玉夢 神奈川 川 木村次朗 神奈川川 6  <-地域+区別で6種類 6のところの式は=SUMPRODUCT(1/COUNTIF(D2:D9,D2:D9)) (データ行は余分に指定しないこと) 具体的に 東京 高 東京 中 埼玉 高 東京 花 埼玉 夢 神奈川 川 をシートに出す式は、この後の関数熟練の回答者から出るかもしれない。 もう1列作業列を使って出してよければE列に 地域 区別 担当 東京 高 山田太郎 東京高 1 東京 中 山田花子 東京中 2 埼玉 高 佐藤太郎 埼玉高 3 東京 中 山田太郎 東京中 東京 高 山田太郎 東京高 東京 花 佐藤花子 東京花 4 埼玉 夢 加藤太郎 埼玉夢 5 神奈川 川 木村次朗 神奈川川 6 E2の式は =IF(COUNTIF($D$2:D2,D2)=1,MAX($E$1:E1)+1,"") 下方向に式を複写。 別シートや別セル範囲に出すため Sheet2のA2に =INDEX(Sheet1!$A$1:$C$9,MATCH(ROW()-1,Sheet1!$E$1:$E$9,0),COLUMN()) と入れてC列まで式複写。 Sheet2のA2:C2を下方向に式複写 東京 高 山田太郎 東京 中 山田花子 埼玉 高 佐藤太郎 東京 花 佐藤花子 埼玉 夢 加藤太郎 神奈川 川 木村次朗 Cれつまで出しているが、場合によってはB列で止める。 (自称imogasi方式)Googleで照会すれば沢山例がでる、

関連するQ&A

  • 【エクセル】リストの照合について教えてください!!

    sheet1に、下記の様に600件の氏名が書いてあります。 A      B 1     山田太郎  2     鈴木花子 ・・・ 600   佐藤次郎 sheet2に、地域と氏名がずらっと書いてあります。 A      B      C     D    E 東京都   神奈川県   埼玉県   千葉県  茨城県 山田太郎 鈴木太郎 山田花子 佐藤次郎 ・・・ このsheet2の地域を、sheet1のC列に下記の様に入れたいのですが、 どの様に行ったら良いでしょうか? みなさんのお知恵をください!!宜しくお願い致します。 A      B      C 1     山田太郎   東京都 2     鈴木花子   神奈川県 ・・・ 600   佐藤次郎   埼玉県

  • LibreOffice関数 重複するものをカウント

    LibreOfficeにて複数の一致条件の中、重複するものは1つとしてカウントするやり方を教えてください。 IDと名前の入力をしており、共に一致したものをカウントするというものになります。 【例】 ID   名前 001 山田太郎 002 山田太郎 001 山田太郎 この場合、「ID:001」は「1」、「ID:002」は「1」とカウントされるようにしたいです。 宜しくお願いします。

  • バラバラになっている名前をきれいに並べたい

    エクセルで表を作成しています。 山田太郎  東京 鈴木花子  神奈川 佐藤一太郎 千葉 山田太郎  東京 山田太郎  東京 鈴木花子  神奈川 佐藤一太郎 千葉 ↓ 山田太郎  東京 山田太郎  東京 山田太郎  東京 鈴木花子  神奈川 鈴木花子  神奈川 佐藤一太郎 千葉 佐藤一太郎 千葉 のようにきれいに並べる方法はないでしょうか? よろしくおねがいします。

  • エクセル2000:こんな重複チェックの仕方を教えてください

    下記B列のように関数を入れると、重複していないものが1、しているものが2以上の数値を返します。「1」で、オートフィルタをかけると重複したものを表示しないと思いきや、下の例では山田太郎も当然、表示されません。そこで、山田太郎のうち、一回目の山田太郎は「1」で返すということはできますか?そうするとオートフィルタで正しい重複チェック後の抽出ができると思うのですが・・・。それとももっと簡単な方法はあるのでしょうか?   A       B       B列に入れる計算式       =COUNTIF(A:A,$A1) 山田太郎   2 川村花子   1 山田太郎   2

  • EXCELで複数のセルの条件からカウントする

    たとえば、A列に1~12の数値が適当に並んでいます。 そしてN列には「東京都」「埼玉県」「千葉県」などの都道府県名が並んでいます。 ここでまずN列から「東京都」と「埼玉県」を次のようにカウントします。 COUNTIF(N:N,"東京都")+COUNTIF(N:N,"埼玉県") この式で東京、埼玉の件数をカウントする事は出来ました。 そこでこのカウントの条件に、A列が「7」のものだけカウントする。 こういったことは出来るのでしょうか? よろしくお願い致します。

  • 複数条件で重複しないデータをカウントする方法

    困っています。 エクセルの関数を教えてください。 複数条件に該当するデータをカウントする方法を教えてください。 A列とB列には不特定多数の名称と地名が入力されています。 このような表です。 A列(品名)    B列(出荷先)     いちご       東京 いちご       埼玉 いちご       東京  みかん       山梨 みかん       岐阜 りんご       埼玉  りんご       大阪 りんご       大阪 以下1500品目 A列のいちごでB列の出荷先が東京であるものは2件あります。 この「件数」を関数で表示させる方法を教えてください。 よろしくお願いいたします。

  • 次の条件を満たすSQL文をご教示下さい。

    テーブル名: list no | first_name | last_name | comment ----+------------+-----------+--------- 1 | 太郎 | 山田 | ほげ 2 | 次郎 | 田中 | ふが 3 | 花子 | 山田 | ぴよ 4 | 三郎 | 佐藤 | ぴよ 5 | 太郎 | 山田 | ぴよ 6 | 次郎 | 田中 | ふー 7 | 三郎 | 佐藤 | ふー 8 | 花子 | 山田 | ふー 上記の表から同じ”last_name”を持つ人の”first_name”と”last_name”を重複無しで抽出する(下記のような結果)SQL文は作成可能でしょうか。 結果 first_name | last_name ------------+----------- 太郎 | 山田 花子 | 山田 宜しくお願いします。

  • エクセルで重複行を削除

    エクセルで重複行を削除したいのですが、 どうすればいいでしょうか? たとえば名前が1列に並んでいて ××○○ 山田太郎 △田□□ 山田太郎 こんなとき、山田太郎を1行だけに、 まとめたいのですが・・・ データが多いのでソートして 1件1件削除していくのも時間がかかります。 何かいい方法がありましたら よろしくお願いします。

  • 【画像あり】複数条件の件数カウントについて

    タイトルの件、質問いたします。 下記の図の、シート2の条件が下記の件数をカウントできる関数を、シート1のB2セルに 作りたいです。 【条件】 A列【受付日】が、4月中で      かつ B列【地域 】が、東京で      かつ C列【分類1】が、A   の件数 ご存知の方、いらっしゃいましたら、宜しくお願いします。

  • ピボットテーブルで同じデータがうまく集計できない(Excel2003)

    ピボットテーブルで同じデータがうまく集計できない(Excel2003) こんにちは。 Excel2003で、個人の支払金額のリストを作成し、それを元に ピボットテーブルを作成していますがうまくいきません。 【例】  山田花子 3,000  佐藤太郎 5,000  田中一郎 5,000  山田花子 1,500  ↓ピボットにすると  山田花子 3,000  山田花子2 1,500  佐藤太郎 5,000  田中一郎 5,000 という結果になってしまいます。 本来は山田花子は1件で4,500になるはずですが…。 元のリストのデータを入力し直して更新しても改善されません。 元のリストのデータに余分な空白やシングルクォーテーション等が 入力されていないかも確認しましたが、ありませんでした。 ご教授宜しくお願いします!

専門家に質問してみよう