- ベストアンサー
エクセルで件数を数える関数
担当者と契約者のリストがあります。 担当者と同じ苗字の契約者の件数が知りたいのです。 たとえば、田中はなこさんの担当の契約者で、苗字が田中さんは何件か、という感じです。 件数が多くて困っています。 A B C 担当者 担当の名前 契約者名 1 001 田中はなこ 田中はなこ 2 001 田中はなこ 田中じろう 3 001 田中はなこ 中田さぶろう 4 002 中田たろう 田中はなこ 5 003 中田たろう 中田さぶろう よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(1)D列に作業用列を作ります。 D1に =IF(LEFT(B3,2)=LEFT(C3,2),LEFT(B3,2))と書いてD2から下(例えばD100まで)にコピーする。 →D列に同じ苗字の場合のみ苗字が書かれる。 (2)E列に担当者の苗字の一覧を書く。 (3)F1に、=COUNTIF($D$1:$D$100,E2) と書いてF2以下にコピー。($の有無に注意!) →F列に担当者ごとの数が出ます。ただし苗字が2文字のみに対応です。 このやり方がわかりやすいかと思います。
その他の回答 (2)
- maruru01
- ベストアンサー率51% (1179/2272)
No.1です。 >C行とE行は、実際にはLEFT関数を使って、 >「田中スペース」という状態になっています。 スペースが入っているとよくないので、CE列の数式を、 =TRIM(LEFT(省略)) のようにして、スペースを除いて下さい。 そうしたら、担当者と契約者の苗字が共に「田中」の件数は、 =SUMPRODUCT((C2:C6="田中")*(E2:E6="田中")) になります。 また、担当者と契約者の苗字が同じ(田中とは限らない)データの件数は、 =SUMPRODUCT((C2:C6=E2:E6)*1) になります。
お礼
いつもいつも、色々考えていただいて、ほんとうにありがとうございます。 関数の組み合わせがさっぱりわからないもので、いつも頼りっぱなしでごめんなさい。 また、お世話になると思います。 よろしくお願いします♪
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 特定の条件、例えば、 「田中はなこさんの担当の契約者で、苗字が田中さんは何件か」 ならば、 =SUMPRODUCT((B2:B6="田中はなこ")*(LEFT(C2:C6,2)="田中")) という風な数式で出来ます。 ただし、これは、あくまで契約者名の先頭の2文字が"田中"という条件になります。 したがって、 「田中山ゆうこ」 という名前で「田中山」が苗字の人も該当してしまいます。 Excelには、「田中山」までが苗字かどうかは判断出来ません。 苗字と名前を分離して別のセルに入れるか、間にスペースを入れるかしなければ、Excelで苗字と名前の判断は出来ません。 したがって、正しいデータの集計をすることは出来ません。 ちなみに、苗字と名前の分離は、当然手作業で行わなければいけませんよ。
補足
maruru01さん、またまたお世話になります。 これならどうでしょう? C行とE行は、実際にはLEFT関数を使って、「田中スペース」という状態になっています。 A B C D E 担当者 担当の名前 担当の苗字 契約者名 契約者の苗字 1 001 田中 はなこ 田中 田中 はなこ 田中 2 001 田中 はなこ 田中 田中 じろう 田中 3 001 田中 はなこ 田中 中田 さぶろう 中田 4 002 中田 たろう 中田 田中 はなこ 田中 5 003 中田 たろう 田中 中田 さぶろう 中田
お礼
ありがとうございました。 作業列をたくさん増やして、一段階ずつ関数を入れて解決しました。 何とか仕上がりました。 ほんとうに助かりました。