• 締切済み

エクセル 複数のデータのカウント

A列に複数の重複した名前、B列に1と0のみのデータがあります。 B列のデータは隣の名前に対応しています。 重複している名前のデータを他の列で一つにまとめ、名前に対応した1と0のデータの個数をカウントし、それぞれ表示したいのです。 (図のようなグラフを作りたいため、1と0のデータを足した数との割合を表示しています) A,B列をD,E,F列のような形にしたいと察していただけるとありがたいです。 よろしくお願い致します。

みんなの回答

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

ご希望のデータを補助列なしに表示するなら以下のような関数になります。 D2セルに以下の式を入力し下方向にオートフィル =INDEX(A:A,SMALL(INDEX((MATCH($A$2:$A$100&"",$A$2:$A$100&"",)<>ROW($A$2:$A$100)-1)*1000+ROW($A$2:$A$100),),ROW(A1)))&"" E2セルに以下の式を入力し、右方向および下方向にオートフィル =IF($D2="","",COUNTIFS($A:$A,$D2,$B:$B,E$1)/COUNTIF($A:$A,$D2))

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 画像を拝見するとExcel2003のような感じがしますので、 Excel2003でも対応できる数式にしてみました。 質問ではA列は2名だけのようですが、実際はもっとたくさんのデータがあるのではないかと思います。 そこで何人いても対応できるようにしてみました。 作業用の列を1列設けます 作業列D2セルに =IF(COUNTIF(A$2:A2,A2)=1,ROW(),"") という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。 そしてF2セルに =IF(COUNT(D:D)<ROW(A1),"",INDEX(A:A,SMALL(D:D,ROW(A1)))) G2セル(%表示)に =IF($F2="","",SUMPRODUCT(($A$1:$A$1000=$F2)*($B$1:$B$1000=G$1))/COUNTIF($A:$A,$F2)) という数式を入れ隣りのH2セルまでコピー! 最後にF2~H2セルを範囲指定 → H2セルのフィルハンドルで下へコピー! これで画像のような感じになります。 ※ 1行目の「1」と「0」のセルは数値のみの入力とします。m(_ _)m

関連するQ&A