- ベストアンサー
複数条件で重複しないデータをカウントする方法
- エクセルの関数を使用して、複数条件に該当するデータをカウントする方法を教えてください。
- A列のいちごでB列の出荷先が東京であるものは2件あります。この「件数」を関数で表示させる方法を教えてください。
- A列とB列に入力された不特定多数の名称と地名がある表で、特定の条件に該当するデータの件数をエクセルの関数を用いてカウントする方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
分かり易く簡単で計算に負担のかからない方法は作業列を作って対応することです。 作業列が目障りでしたらその列を選択して右クリックして「非表示」を選択すればよいでしょう。 1行目は項目名が有るとしたらC2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =A2&B2 D2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(C2="","",IF(COUNTIF(C$2:C2,C2)>1,COUNTIF(C$2:C2,C2),"")) これでダブったデータが該当する行までにあればダブりの回数がD列に表示されます。単にダブりの回数を表示させるのに比べてダブりの行がはっきり示されるのがよいでしょう。 また、ダブった品名と出荷先を例えばシート1に元のデータがあるとしてシート2に表示させるとしたらシート1のD2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(C2="","",IF(COUNTIF(C:C,C2)>1,MAX(D$1:D1)+1,"")) シート2の例えばA2セルには次の式を入力してB2セルまでオートフィルドラッグコピーしたのちに下方にオートフィルドラッグコピーしたのちに下方にもオートフィルドラッグコピーします。 =IF(ROW(A1)>MAX(Sheet1!$D:$D),"",INDEX(Sheet1!$A:$B,MATCH(ROW(A1),Sheet1!$D:$D,0),COLUMN(A1))) A列には品名がB列には出荷先は表示されます。 シート2のC2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(A2="","",COUNTIF(Sheet1!$C:$C,A2&B2)) これでC列にはダブりの回数が表示されます。
その他の回答 (3)
- keithin
- ベストアンサー率66% (5278/7941)
既にお話ししたことですが,スルーでしょうか。 再掲: >いずれも実際の式中の「"いちご"」や「"東京"」は,アナタが別に用意した集計用の表の項目セルを利用します。 =COUNTIFS(A:A,C2,B:B,D1) などのように。 こういう具合にしますとお話ししました: C2に「いちご」と記入します D1に「東京」と記入します E1に「埼玉」と記入します Excel2007以降では D2に =COUNTIFS(A:A,C2,B:B,D1) E2に =COUNTIFS(A:A,C2,B:B,E1) と計算します。 #ご利用のエクセルのバージョンまでキチンと情報提供してくださいね,という事もお話ししておきましたね? こちらからの投げかけはことごとくスルーでしたら,これ以上お話しする気もちょっとめげてしまいます。 もしもExcel2003以前を使っているときは,ここまでの回答を参考にして,あとはご自分で数式を作成してください。
お礼
丁寧に教えていただきありがとうございました。 初心者なものでパニクりました。 おかげさまで解決できました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No2です。 ダブれ出ないケースも表示させるのでしたらシート1のD2セルには次の式を入力し下方にオートフィルドラッグコピーすれば、先に述べたシート2での式は前のままで対応することができます。 =IF(C2="","",IF(COUNTIF(C$2:C2,C2)=1,MAX(D$1:D1)+1,""))
- keithin
- ベストアンサー率66% (5278/7941)
>この「件数」を関数で表示させる方法 (推奨)Excel2007以降を使っているなら: =COUNTIFS(A:A,"いちご",B:B,"東京") Excel2003以前を使っているなら: =SUMPRODUCT((A1:A1500="いちご")*(B1:B1500="東京")) いずれも実際の式中の「"いちご"」や「"東京"」は,アナタが別に用意した集計用の表の項目セルを利用します。 =COUNTIFS(A:A,C2,B:B,D1) などのように。 #ご利用のエクセルのバージョンまで,キチンとご相談に明記することを覚えてください。 ●いちごやみかん,りんご,また東京や埼玉千葉の列記が出来てない,そっからヤリタイご質問なら Excel2007以降を使っているなら: データタブの「重複の削除」で重複を省いたリスト(一意のリスト)を作成し,計算に利用します Excel2003以前を使っているなら: データメニューのフィルタの「フィルタオプションの設定」で,重複を無視したリストを作成し,計算に利用します 手を動かすのがホントにイヤなら(お奨めしません) C1に =INDEX(A:A,SMALL(IF(MATCH(A$1:A$1500&"",A$1:A$11500&"",0)=ROW(A$1:A$1500),ROW(A$1:A$1500),9999),ROW(C1)))&"" と記入してコントロールキーとシフトキーを押しながらEnterで入力し,下向けにコピーする。 #参考(推奨) 関数など全く使わずに,ピボットテーブルレポートで集計させると,出てくる項目のリストアップから数の集計まで全自動でエクセルがやってくれます。
お礼
早々のご回答ありがとうございます! もしよろしければまた教えていただけないでしょうか。 A列のいちごでB列の出荷先が東京であるものは2件、埼玉は1件あります。 其々の「件数」を関数で表示させることはできますか? B列の条件が複数あるのです・・・。 お時間のあるときにご教示ください。
お礼
ありがとうございます。 判りやすい方法を教えていただきました。 早速試してみたいと思います。