アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCELで頻度の一覧を作るときに関数FREQUENCYを使いますが
区間を降順にできませんか。

区間の内容  区間  頻度
30以下      40   5
50以上69以下  69   15
70以上89以下  89  30
90以上100以下100  26

これを次のように降順にする方法はありますか

区間の内容  区間  頻度
90以上100以下100  26
70以上89以下  89  30
50以上69以下  69  15
30以下      40    5

A 回答 (3件)

元の関数が


{=FREQUENCY(A1:A100,B1:B4)}
であれば
{=FREQUENCY(-A1:A100,-B1:B4)}
のようにFREQENCYの引数に-(マイナス)をつければ 数値の大小関係が逆になるため降順に評価することが出来ます。

 但し 元の関数は 『区間配列の値以下』の頻度を得るの対し、『区間配列の値以上』の頻度を返すようになりますので、適宜の変更が必要となります。

例えば 区間配列の値が 例題のように 
{40; 69; 89; 100} であれば
本来  [ 40以下 69以下 89以下 100以下] の意味ですから 
これを [ 0以上 41以上 70以上  90以上] と読み替えて
{0; 41; 70; 90} としてください。

言い訳つきのやり方ですが、如何でしょうか?
    • good
    • 1

頻度はCOUNTIF関数を使って求めることができます。



区間の表を次のように作成し(データが0以上とする)、

    A      B    C
1 区間の内容  区間 頻度
2 90以上100以下 90  
3 70以上89以下  70
4 50以上69以下  50
5 30以下      0
           ↑
    ※区間の列に以上の値を入力する

データがセルE2~E6、区間の値がセルB2~、頻度の文字列がセルC1だとすると、次のような数式をセルC2に入力して下にコピーします。

=COUNTIF($E$2:$E$6,">="&B2)-SUM($C$1:C1)

計算の仕組みは、「70以上89以下」ならCOUNTIF関数で70以上の件数を求め、その件数から上の頻度のセルの合計(90以上の頻度)を引いて求めます。
    • good
    • 0

元のテータテーブルが昇順に並んでいれば、=VLOOKUP( )を使って作成する方法があります。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!