• ベストアンサー

エクセルでどなたかアイデア下さい。

何度かここで、いろいろな方に助けられて問題解決をしてきましたが 最後の最後の疑問です。どなたか助けて下さい。 うまく説明できてなくて大変申し訳ないのですが、よろしく お願いします。 会社のデーターで、契約が取れると下記のようなデーターが でます(A列~C列まで)。 一件の契約ごとにA列に担当者名、B列には契約の中で、今回目標としている特約で契約ができていると“1”がたちます。 私がまとめたいのは、担当者ごとの契約件数(D列)中で必要な内容 (E列)で契約がとれている率(F列)を出すことです。 なので 取れた件数(分母)はCONTIF(A:A,森田)で算出(D列) カウント件数(分子)はSUMIF(B:B,B1)で算出(E列) E列÷D率=F列 という関数を作って、フィルターオプションを使い 重複したデーターを削除して、一覧の表を作成するようにしました。 が、ここで例外があってC列に1が入っていると、 分母(D列)にはカウントせず、分子(E列)だけに算入しなといけない事実が発覚。色々な本を読み漁りましたが、まだまだ 初心者のため良い方法が浮かびません。 ***************************************   A B C D E     F 担当者 カウント 除外  契約件数 カウント件数 割合 1 森田 1 2 室崎 1 1 3 和田 1 4 佐野 5 和田 1 6 森田 ********************************************** 長々と質問内容も分かっていただけるか非常に不安ですが (そしてどうしても例で書いた表がずれてしまってますが) お力拝借したくよろしくお願い致します。

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

  • ベストアンサー
  • Yosha
  • ベストアンサー率59% (172/287)
回答No.3

akichian04さんの考えに近い方法でやってみましょう。 ただし、表を少し変更します。 一般的に、エクセルでは1つの表ですべてを行おうとするとややこしくなります。 使用できるセルは沢山ありますので、計算専用の欄など必要に応じて別のところに作って作業すると分かり易くなり、計算ミスも少なくなります。 「A列」は、連番用にします。「B列」をA列の“担当者(重複有り)”、「C列」をB列の“カウント”、「D列」をC列の“除外”とします。 D~F列を分離し少し離れたところに移し整理用にします。 ここでは、「G列」を“担当者(重複なし)”、「H列」をD列の“契約件数”、「I列」をE列の“カウント件数”、「J列」をF列の“割合”としましょう。 「A列」~「D列」は会社のデータが入力されているものとし、また1行目はタイトル欄とし、2行目以降にそれぞれデータが入っているものとします。 “G2~G5~”には、森田、室崎、和田、佐野~、と担当者全員の名前を入れます。 “H2”に式、「=COUNTIF(B:B,G2)」<<=COUNTIF(B:B,"森田")と同じ意味。セルを参照する方法が何かと便利>>、“I2”に式、「=SUMIF(B:B,G2,C:C)-SUMIF(B:B,G2,D:D)」、“J2”に「=I2/H2*100」を入力する。 H2~J2セルを選択し、選択枠右下の“.”にカーソルを合わせ“+”が表示されたときWクリックすると、下方にコピーされ、計算結果が表示されます。 このケースではそれぞれの「氏名_契約件数_カウント件数_割合(%)」は、 森田_2_1_50 室崎_1_0_0 和田_2_2_100 佐野_1_0_0 となります。 除外の場合にもカウントと同じ数字が入りますので、あまり難しく考えないで単に値を引けば目的は達成されます。 関数に振り回されずに、先ずは簡単な関数を組み合わせることから始め、沢山あるセルを有効に使いながら目的を達成するのが、エクセルの本来の使い方ではないかと思っています。

akichian04
質問者

お礼

お礼遅くなりまして申し訳ありません。 関数とかマクロに惑わされて、うっかりしてました。 解決しました。ありがとうございます。

その他の回答 (2)

noname#79209
noname#79209
回答No.2

#1です。 ゴメンナサイ。C列を見るのでしたね。 =SUMPRODUCT((A2:A65000="森田")*(C2:C65000<>1)) です。

akichian04
質問者

お礼

お礼遅くなりまして申し訳ありません。 おかげさまで無事解決いたしました。 ありがとうございました!

noname#79209
noname#79209
回答No.1

> 取れた件数(分母)はCONTIF(A:A,森田)で算出(D列) > が、ここで例外があってC列に1が入っていると、 > 分母(D列)にはカウントせず、分子(E列)だけに > 算入しなといけない事実が発覚。 =CONTIF(A:A,森田) でなく =SUMPRODUCT((A2:A65000="森田")*(B2:B65000<>1)) で如何でしょう。 65000は何行ぐらいデータがあるかで調整してください。