ここから本文です

Excelの関数について質問させてください “4つの条件を満たすものが複数ある場合...

nyp********さん

2019/8/1611:06:00

Excelの関数について質問させてください

“4つの条件を満たすものが複数ある場合、1件としてカウントする”という処理をしたいと思っており、マクロの使用は不可で、極力オートフィルは使わず、イメージとしては、一

度作ってしまえば勝手に件数を出してくれるものができるとベストです。
(例:範囲指定でA:Aなら更新不要ですが、A1:A100だと、件数が100件を超える度に更新が必要となるetc.)

4つの条件とは、
①人物名
②人物名
③日付け
④日付け

具体的には、
①営業(40~50名ほど)②営業事務(5名ほど)③売上日④契約日です。
なお、③と④は同一日になることはなく、言うまでもありませんが、日々増えていくデータです。
上記①②③④以外に⑤として、顧客名という項目があり、本リストは顧客名を主体としております。この⑤の顧客名は、部署名であったり、個人名であったりします(顧客名の統一不可)。
⑤の顧客名は違うけれど、①②③④の条件が同一であるものが、仮に3つあった場合、件数としては3件ではなく、1件としてカウントしたいというものです。
≪例≫
①営業担当A ②営業事務担当a ③売上日8/1 ④契約日4/1 ⑤田中様
①営業担当A ②営業事務担当a ③売上日8/1 ④契約日4/1 ⑤佐藤様
①営業担当A ②営業事務担当a ③売上日8/1 ④契約日4/1 ⑤総務
①営業担当A ②営業事務担当a ③売上日8/1 ④契約日6/30 ⑤田中様
①営業担当B ②営業事務担当a ③売上日8/1 ④契約日4/1 ⑤田中様

→上記の場合、営業担当Aはトータル4件ですが、上から3つまでは⑤の顧客名は違えど①②③④が同一なので、3件ではなく1件としてカウント。
一番上と上から4つ目は⑤の顧客名と①②③まで同一ですが、④の契約日が異なるので、上の3つ目までとは別カウント。
よって、営業担当Aは、案件として2件になります。
同様に一番下の営業担当Bは、他に②~⑤まで同一条件を満たすものがありますが、①の担当が異なるため、カウントとしては1件ということになります。

わかりにくくて申し訳ございません…

イメージ的には、countifsで4つの条件を並べるような方法を考えましたが、①×②だけでざっくり250ほど関数を入力することになってしまうので、あまり現実的ではありません。

使用しているシステム、データ上、上記条件を根本からひっくり返す回答はご遠慮ください。あくまで、上記条件で処理できる関数があれば、ご教示いただきたいというお話です。
何卒宜しくお願いいたします。

閲覧数:
30
回答数:
4

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

aka********さん

2019/8/1611:47:51

添付参照
H2に =SUMPRODUCT((A$2:A$6=G2)*1/COUNTIFS(A$2:A$6,A$2:A$6,C$2:C$6,C$2:C$6,D$2:D$6,D$2:D$6))

上記で 試してください。

G列は A列をコピーして 重複の削除

下記のサイトを 参照
https://nyanto.jimdo.com/エクセル関数-問題解決/関数を使って重複していないデータのみをカウントするには/


又他の方法も あります。 重複していないデータのカウントで 検索してみてください。

添付参照
H2に...

  • 質問者

    nyp********さん

    2019/8/1613:25:55

    素晴らしいです!
    ありがとうございます
    図も付けていただいたので、わかりやすかったです!

    早々でシンプル且つ、想像以上の完璧なご回答でした!

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2019/8/16 13:26:54

皆さま
わかりにくい質問に対し、適格かつ早々のご回答誠にありがとうございました。
大変助かりました。

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

aid********さん

2019/8/1611:41:37

ピボットテーブルを使うと楽なのではないでしょうか

ピボットテーブルを使うと楽なのではないでしょうか

pik********さん

2019/8/1611:41:35

列を増やすか、シートを増やしていいのであれば。

1. 「=①&②&③&④」で①②③④を一つのセルにまとめる列を一列追加
-> 仮にF列とする
2. 「=SUMPRODUCT(1/COUNTIF(F:F, F2:F6))」
->F6はデータの最後なので、適宜変えてください
とすると、提示された例の件数:3となります。

mit********さん

2019/8/1611:41:03

表がA列からE列までの表で1行目は項目名でお示しの①から⑤までが並んでいるとします。
作業列を使って対応します。
J2セルには次の式を入力します。

=IF(A2="","",A2&B2&C2&"/"&D2)

K2セルには次の式を入力します。

=IF(J2="","",IF(COUNTIF(J$2:J2,J2)=1,A2,""))

J2セルからK2セルまでを選択してから含まれるそれらの式を下方にドラッグコピーします。

G2セルから下方には表示したい営業担当の名前を入力します。

お求めの件数はH2セルに次の式を入力して下方にドラッグコピーすればよいでしょう。

=IF(COUNTIF(A:A,G2)=0,"",COUNTIF(K:K,G2))

なお、作業列が目障りでしたらそれらの列を選択して「非表示」にすればよいでしょう。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる