• ベストアンサー

Excelで頭数を算出する関数?

こんにちは。 C列3行目から20行目に氏名があり、D列には個数があります。氏名欄には同一人物も載っているので、メンバーの人数を知るにはどの関数がありますか。 例えば3行目から6行目まではメンバーが3人という結果が出るようにしたいのです。 3 山田太郎 3個 4 佐藤花子 5個 5 田中次郎 6個 6 山田太郎 2個 メンバーは相当の数なので誰が何個売ったかは問題にしません。 宜しくお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

途中に空白行がないものとして =SUMPRODUCT(1/COUNTIF(C3:C6,C3:C6)) これで3と名寄せ計算ができます。

sally37
質問者

お礼

一番解りやすかったです。 又の機会がありましたら宜しくお願い致します。回答ありがとうございました。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

例データ 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))

sally37
質問者

お礼

参考にさせていただきます。 出現頻度が不明なので活用できませんでした(^^ゞ 又の機会がありましたら宜しくお願い致します。回答ありがとうございました。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆途中に空白があってもいけますよ =COUNT(INDEX(1/(MATCH(A1:A100,A1:A100,)=ROW(A1:A100)),))

sally37
質問者

お礼

参考にさせていただきます。 又の機会がありましたら宜しくお願い致します。回答ありがとうございました。

回答No.3

事前策みたいな感じですが、参考に。 例えば。 E3に =1/COUNTIF($C$3:$C$20,C3) と入力して、縦にE20までオートフィルまたはコピー。 で、F3に =ROUNDUP(SUM(E3:E20),0)&"人" と入れるとか。

sally37
質問者

お礼

参考にさせていただきます。 又の機会がありましたら宜しくお願い致します。回答ありがとうございました。

回答No.2

No1です  最初の回答はなかった事にしてください >氏名欄には同一人物も載っているので 見逃してました ^^;

sally37
質問者

お礼

目的からはずれてたとしても参考にさせていただきます。 又の機会がありましたら宜しくお願い致します。回答ありがとうございました。

回答No.1

>C列3行目から6行目まで・・・ 【C8】セルに =COUNTA(B4:B7)の計算式を入れて「Enter」キーを押した後「セルの書式設定」で「ユーザー定義」から「#,##0」を選択 「#,##0」の前に「メンバーが」と入力「#,##0」の後ろに「人」と入力して「OK」をクリックすると「メンバーが4人」と自動表示されます

関連するQ&A