- ベストアンサー
Excelで頭数を算出する関数?
こんにちは。 C列3行目から20行目に氏名があり、D列には個数があります。氏名欄には同一人物も載っているので、メンバーの人数を知るにはどの関数がありますか。 例えば3行目から6行目まではメンバーが3人という結果が出るようにしたいのです。 3 山田太郎 3個 4 佐藤花子 5個 5 田中次郎 6個 6 山田太郎 2個 メンバーは相当の数なので誰が何個売ったかは問題にしません。 宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
途中に空白行がないものとして =SUMPRODUCT(1/COUNTIF(C3:C6,C3:C6)) これで3と名寄せ計算ができます。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
例データ A列 B列 C列 山田 3 0.333333333 下村 1 1 山田 3 0.333333333 大田 3 0.333333333 山田 3 0.333333333 大田 3 0.333333333 近藤 1 1 北野 1 1 南野 1 1 大田 3 0.333333333 6 B列は出権頻度数です。 C列は出現頻度が3なら、その人は1行あての値を1/3にしてしまえば 全体を足せば1になる。 だからC列は、正しい人数が求まる。 このC列という作業列を省くには =SUM(1/COUNTIF($A$1:$A$10,A1:A10)) と入れてSHIFT+CTRL+ENTERキーを同時押しする。配列数式。 結果 6(人) -- SUMPRODUCT関数でもできて =SUMPRODUCT(1/COUNTIF($A$1:$A$10,A1:A10))
お礼
参考にさせていただきます。 出現頻度が不明なので活用できませんでした(^^ゞ 又の機会がありましたら宜しくお願い致します。回答ありがとうございました。
- maron--5
- ベストアンサー率36% (321/877)
◆途中に空白があってもいけますよ =COUNT(INDEX(1/(MATCH(A1:A100,A1:A100,)=ROW(A1:A100)),))
お礼
参考にさせていただきます。 又の機会がありましたら宜しくお願い致します。回答ありがとうございました。
- laundryload
- ベストアンサー率35% (18/51)
事前策みたいな感じですが、参考に。 例えば。 E3に =1/COUNTIF($C$3:$C$20,C3) と入力して、縦にE20までオートフィルまたはコピー。 で、F3に =ROUNDUP(SUM(E3:E20),0)&"人" と入れるとか。
お礼
参考にさせていただきます。 又の機会がありましたら宜しくお願い致します。回答ありがとうございました。
- esupuresso
- ベストアンサー率44% (257/579)
No1です 最初の回答はなかった事にしてください >氏名欄には同一人物も載っているので 見逃してました ^^;
お礼
目的からはずれてたとしても参考にさせていただきます。 又の機会がありましたら宜しくお願い致します。回答ありがとうございました。
- esupuresso
- ベストアンサー率44% (257/579)
>C列3行目から6行目まで・・・ 【C8】セルに =COUNTA(B4:B7)の計算式を入れて「Enter」キーを押した後「セルの書式設定」で「ユーザー定義」から「#,##0」を選択 「#,##0」の前に「メンバーが」と入力「#,##0」の後ろに「人」と入力して「OK」をクリックすると「メンバーが4人」と自動表示されます
お礼
一番解りやすかったです。 又の機会がありましたら宜しくお願い致します。回答ありがとうございました。