• ベストアンサー

Excelでデータの出現頻度を知りたい

1~40の任意の数値が入っている表から出現頻度が高いものから順に上位7位までの数値と回数を知りたいのですが、Excelでどうやれば可能でしょうか?

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

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.4

>データは行方向に40~50、列方向に5~200 ということですと、ピボットテーブルでは出来ませんね。 FREQENCE関数ではどうでしょう。 空いた列に1~40まで数値を入力します。 別シートでも出来ますので、仮にシート2のA1からA40に 1~40までの数値を入力しておきます。 B1~B40を選択して、 関数ウィザードの「統計」からFREQUENCYを選びます。 「データ配列」にデータの範囲を指定します。 「区間配列」にシート2のA1~A40を指定します。 Shift+Ctrl+Enterキーで確定します。 並べ替えは配列の一部を変更することになり出来ませんので、 A1~B40を選択してコピーし、空いたセルに値のみ貼り付けてから並べ替えます。 1位が3個あったら、次位は4位になってよいなら、RANK関数で 値を貼り付けた列がD、E列で、F列にランクを表示するとして、 F1に =RANK(E1,$E$1:$E$40,0) として、下方向にフィルします。

その他の回答 (4)

  • yokomaya
  • ベストアンサー率40% (147/366)
回答No.5

別シートで計算したほうがやりやすいかと、並べ替えとかこうりゅすると。データ値が1からいくつまであるかわからない場合A1に=ROW()をB1に=COUNTIFを入れたらオートフィルでいくつでも対応出来ます。範囲に名前を定義しておくと範囲が変わった時の修正も楽じゃないかな?ピボットはもっと楽だけど。

noname#204879
noname#204879
回答No.3

「上位7位」とのことだけど、同順位のものが複数個あった場合はどうしたいですか? 極端な例では、一位が8個、二位が1個、三位が5個とかの場合は、を尋ねています。

sonet2001
質問者

お礼

上記の例で言えば一位を8個、一位が3個、二位が6個なら二位6個まで表示したいです。

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.2

ピボットテーブルで出来ると思います。 タイトル行が必要ですので、最上行にタイトルをつけます。 データのあるセルを一つ選択して、 「データ」-「ピボットテーブル~」を選択します。 ピボットテーブルウィザードでタイトルのボタンを 「行のフィールド~」と「データアイテム」にドラッグします。 「合計」になっていたら、右クリックで「フィールドの設定」を選び、 「集計の方法」を「データの個数」にします。 「計」の数値のセルを選択して、降順に並べ替えます。 順位表示が必要なら、右隣の列にRANK関数で順位をつけます。

  • 134
  • ベストアンサー率27% (162/600)
回答No.1

どのセルにどういうデータがあるのか、よく分かりませんので、概念だけになりそうですけど 1.countif文で、1~40の出現頻度を計算 2.large文で、上位7つを選び出す (vlookup文で、順位順に並べる?) というような構成でできそうに 感じました。

sonet2001
質問者

お礼

データは行方向に40~50、列方向に5~200と不定ですが、教えていただいた関数を使えばなんとかなりそうですね。 ところで参考までにですが、仮にデータ数値が不定となりあらかじめcountifに固有の条件を書けなくなった場合に対処の方法ってありますか?

関連するQ&A