ラベル rank関数 の投稿を表示しています。 すべての投稿を表示
ラベル rank関数 の投稿を表示しています。 すべての投稿を表示

1/08/2026

Excel。RANK関数は数値の大小で順位を算出します【RANK】

Excel。RANK関数は数値の大小で順位を算出します

<関数辞典:RANK関数>

RANK関数

読み方: ランク  

分類: 互換性 

RANK関数

RANK(数値,参照,[順序])

数値の大小で順位を算出する 

7/31/2022

Excel関数辞典 VOL.66。RANK関数~RATE関数【dictionary】

Excel関数辞典 VOL.66。RANK関数~RATE関数

<Excel関数>

今回は、RANK関数~RATE関数までをご紹介しております。


RANK関数

読み方: ランク  

RANK(数値,参照,[順序])

数値の大小で順位を算出する 



RANK.AVG関数

読み方: ランク・アベレージ  

RANK.AVG(数値,参照,[順序])

同順位を平均順位で算出する 



RANK.EQ関数

読み方: ランク・イコール  

RANK.EQ(数値,参照,[順序])

数値の大小で順位を算出する 



RATE関数

読み方: レート  

RATE(期間,定期支払額,現在価値,[将来価値],[支払期日],[推定値])

元利均等返済における利率を算出する 

5/16/2017

Excel。条件付き順位を算出するにはどうしたらいいの?【RANK】

Excel。条件付き順位を算出するにはどうしたらいいの?

<RANK.EQ関数・IF+COUNTIFS関数>


次のような表があります。

C列の数値に基づき、順位を算出するのですが、
D列の全体順位は、RANK.EQ関数で算出することが出来ますよね。

これは、定番の関数なので、難しくはないと思います。

ただ、今回厄介なのは、B列にある組を参照して、
E列F列にそれぞれの組ごとの順位を算出したいということなのです。
ようするに、【条件付き順位】を算出したいわけです。

RANK.EQ関数には、条件を加味して算出できるようになっていません。

では、復習を兼ねて、
D列の全体順位をRANK.EQ関数を使って算出してみましょう。

D4をクリックして、RANK.EQ関数ダイアログボックスを表示しましょう。

数値には、C4
参照には、$C$4:$C$10
オートフィルで数式をコピーしますので、
絶対参照の設定も忘れずに行っておきましょう。

順序には、ベストのランキングなので、0を設定します。

あとは、OKボタンをクリックして、オートフィルで数式をコピーしましょう。
D4の数式は、
=RANK.EQ(C4,$C$4:$C$10,0)
となっていますね。

さて、いよいよここからが本題。

1組に所属している人たちだけの順位を求めていきましょう。

本来なら、
組ごとに表を作ってもらえるとRANK.EQ関数で算出できるのですが、
今回はまとまってしまっています。

そして、RANK.EQ関数では、条件が付けられない。

そもそも、順位というのは、
その数値より大きい数値が何件あるのか?
ということで順位が算出できるわけです。

ということは、【件数】を求められる関数を使えば、
RANK.EQ関数の代用が出来そうですね。

そこで、COUNTIFS関数を使ってD列と同じように、
まずは全体順位を算出してみます。

数式を作る前に、この表の補足説明をしておきましょう。

E3とF4は、それぞれ1・2という数値が入力されていて、
表示形式を使って、1組順位としています。

では、E列にCOUNTIFS関数ダイアログボックスを表示しましょう。

検索条件範囲1には、$B$4:$B$10

B列の範囲ですね。
オートフィルで数式をコピーすることを考慮して、
絶対参照が設定されています。

検索条件1は、E$3。

これは、数値の1なので、1組かどうかを判定させています。

検索条件範囲2には、$C$4:$C$10
C列の範囲ですね。

検索条件2は、">"&$C4

C4よりも大きいものという意味になります。

なお、比較演算子とセル番地を合体させて使うときには、
””(ダブルコーテーション)と&を使ってセル番地を
結合させてあげる必要があります。

&を使わないと、">$C4"という文字を検索してしまいますので、
注意が必要です。

では、OKボタンをクリックして、
数式をオートフィルでコピーしてみましょう。

今は、1組と2組を「強引」に混ぜた状態ですので、
2位がおかしいとかありますが気にしないようにしましょう。

ただ、E7が0になってしまっています。

ここは1にしたいので、数式に、+1を加えます。
E4の数式は、
=COUNTIFS($B$4:$B$10,E$3,$C$4:$C$10,">"&$C4)+1
今はこのようになっています。

あとは、1組だけの順位に変更してあげます。

つまり、1組だったら、COUNTIFS関数、
そうでなければ空白という数式を作りますので、
先程作成したCOUNTIFS関数をIF関数でネストしていきます。

E4の数式を次のように修正します。
=IF($B4=E$3,COUNTIFS($B$4:$B$10,E$3,$C$4:$C$10,">"&$C4)+1,"")

あとは、1組・2組とも数式をオートフィルでコピーしてみましょう。

すると、『条件付き順位』を算出することができました。

このように、条件付き順位を算出する場合には、
IF+COUNTIFS関数で対応できます。

7/15/2016

Excel。Rankings。成績TOPをSとして次をAとした評価表を作成したい


Excel。成績TOPをSとして次をAとした評価表を作成したい

<RANK.EQ関数とCHOOSE関数>


アルファベットの評価表を作りたいというお話を受けまして、
なんでも、一番いい成績をスペシャルのSとして、次の成績がAとしていきたい。
そして、同点ならば、同じアルファベットのランキング。というような評価表。
順位表を作成したいというものでして。

なかなか、難題ですよね。

イメージがし難いと思いますので、下記のような表を作りたいわけです。

さて、どうしたらいいでしょうかね?

IF関数でしょうか?一番大きい数値ならSとかですかね?
けど、一番大きな数値はSとは出来ても、2番目。3番目はどうしましょうか?

そこで、このような場合、つまり多分岐するような場合には、
IF関数では太刀打ちが難しいので、CHOOSE関数を使ってあげると、いいように考えられます。

では、CHOOSE関数を使うとして考えた場合ですが、
CHOOSE関数の特性を知っておく必要がありますね。

CHOOSE関数は、1だったら、○○。2だったら、○○。
というように1・2・3という数値を用意してあげる必要があります。

では、どのようにしたら、1とか2という数値を用意できるのでしょうか?

成績が1位2位という順位を求めれば、1とか2とかという数値を用意できそうですね。

となると、RANK.EQ関数が使えそうですね。

そして、このような場合、一つの計算式にすると、煩雑になったり、わかりにくくなってしまうので、
作業列を作って、一度順位をRANK.EQ関数で算出させて、
それから、CHOOSE関数を使って、
アルファベットのランキングに変化させるという2段階で作っていきましょう。

F3をクリックして、RANK.EQ関数ダイアログボックスを表示しましょう。

数値は、C3
参照は、$C$3:$C$12。絶対参照を忘れないように設定しましょう。
順序は、0
を入力してOKボタンをクリックしましょう。

順位が算出されますので、オートフィルで数式をコピーしましょう。

F3の数式は、

=RANK.EQ(C3,$C$3:$C$12,0)

となっています。

順位がまずは算出できましたね。4位が2個ありますね。その代り5位はありません。

さていよいよ、本題のABC順位を求めていきましょう。

D3にCHOOSE関数ダイアログボックスを表示しましょう。

インデックスには、先程順位を算出した、F3。

値1から順々に、S・A・Bと入力していきます。今回は、Jまでになります。

あとは、OKボタンをクリックしましょう。そして、オートフィルで数式をコピーしていきます。
数式は、

=CHOOSE(F3,"S","A","B","C","D","E","F","G","H","I","J")

となっています。

これで、完成しましたね。

このようにすると、スペシャルのSから始めることができますよ。

なお、どうしても、作業列を作りたくない場合は、このような数式になりますね。

=CHOOSE(RANK.EQ(C3,$C$3:$C$12,0),"S","A","B","C","D","E","F","G","H","I","J")

これでもいいけど、一目でわかりにくいですよね。
現場では作業効率も考えないといけませんので、ケースバイケースで作成してみてください。

5/11/2016

Excel。RANK.EQ。別々の列にあるデータをまとめた順位を知りたい


Excel。別々の列にあるデータをまとめた順位を知りたい

<RANK.EQ関数の参照カッコ付>


Excelというのは、本当に現場レベルというか、現場現場で、
様々な使われ方をしているんだなぁ~と思うわけですね。

今回ご紹介するものの、その一つでして、こんなもの使っているのかなぁ~とは思いつつも、
何かアイディアはありませんか?
といわれれば、とりあえずご紹介はするのですが…ということで、
今回はまず、下記の表をご覧ください。

順位を求めている表なのですが、よくある順位を求める表ではなくて、
1回目と2回目と書いてありますよね。

すなわち、普通は、1回目と2回目それぞれの順位を算出するのでしょうけれど、
今回のリクエストは、なんと、1回目と2回目を合わせた中で順位を求めたいというものなんですね。

まぁリクエストの資料は、もっと回数があったわけでして、
なるほど、たしかに、一つずつでなく、全体の中から求めたいということもあるわけですね。

それでは、早速ご紹介していきます。

順位を求めるということで、RANK.EQ関数を使っていきますので、
D3をクリックして、RANK.EQ関数ダイアログボックスを表示しましょう。

数値は、C3。
参照は、離れたところ選択するので、ctrlキーを使えばいいはずなので、
$C$3:$C$11,$E$3:$E$11 

そして、絶対参照も忘れずに設定しましょう。
範囲選択直後なら、F4キーで全体に$マークがついて、絶対参照の設定がされますね。

順序は0とします。
そして、OKボタンをクリックしてみると、

参照の引数が多すぎるというメッセージが表示されてしまって、
算出することができませんでした。

困りましたねぇ~。

どうしたらいいのか?というと、
参照範囲が離れていているときには、( )カッコで、囲んであげれば、
ちゃんと範囲として処理をしてくれるのです。

関数の引数で困ったときには、今回のようなカッコでカッコってあげる。
または、”(ダブルコーテーション)で囲ってみるということで、うまく算出してくれることが多いですね。

では、改めてですが、D3をクリックして、RANK.EQ関数を作成していきます。

数値は、C3。

参照は、($C$3:$C$11,$E$3:$E$11)

先ほど、ご説明しましたように、この範囲をカッコで囲む必要がありました。

順序は0とします。

あとは、OKボタンをクリックして、数式をコピーしていきましょう。

すると、離れた場所の範囲だったとして、順位を求めることができましたね。

このように、RANK.EQ関数も普通に算出させるのではなくて、
様々なニーズに合わせて、離れた範囲を選択することができることを知っていると、
Excel力がアップしますので、何かの機会に作ってみてはどうでしょうか?

5/01/2016

Excel。ABC。アルファベットをランダムで重複しないで設定する方法


Excel。アルファベットをランダムで重複しないで設定する方法

<RAND+RANK.EQ+CHAR関数>


ちょっと前に、数値をランダムで、しかも重複しないで設定する方法をご紹介したところ、

「これ、数値じゃなくて、アルファベットのA~Zで振ることってできないですかね?」

というリクエストをいただきまして。なるほど、ちょっと考えてみますということで、
今回は、前回ご紹介した方法にプラスアルファして、
アルファベットをランダムで重複しないで設定する方法をご紹介しちゃいます。

途中までは、前回ご紹介したものと同じになるのですが…

まずは、下記のように作りたいわけですね。

では、まずは準備から行っていきます。下記のような算出する表を作っていきます。

E列は、スタッフ名
F列には、ランダムで算出した整数値を算出させます。ここは、RAND関数の登場ですね。
F3には、=RAND ()という数式が設定されています。

前回もご紹介しておりますが、RANDBETWEEN関数では、整数値でしかも、
重複をしてしまいます。そこで、小数点でのランダム数値を算出するRAND関数を使えば、
まだ重複する率は緩和されるので、このF列にはRAND関数を使ってとりあえず、
ランダムの数値を算出させたわけですね。

続いてG列ですが、F列で算出された数値の順位を算出するために、
まずは、RANK.EQ関数を使って順位を算出させます。

数値には、F3。
参照には、$F$3:$F$12。絶対参照を忘れてはいけませんね。
オートフィルで数式をコピーすると絶対参照をしないと、参照範囲がずれてしましますので、
忘れずに設定します。

順序は、0。

これで、OKボタンをクリックします。

ここまでの数式は、

=RANK.EQ(F3,$F$3:$F$12,0)


これで完成ではありません。ここからが今回のポイント。
アルファベットにするために加工をする必要があります。

文字には、それぞれ、文字コードが振られていますので、
アルファベットのAは、65という文字コードをもっています。

そこで、ここで算出された順位に【+64】すれば、
65という数値を作り出すことができますので、数式を次のように加工します。

=RANK.EQ(F3,$F$3:$F$12,0)+64


その結果が、G列のプラス64の列の数値なのです。

そして、その数値をアルファベットに変更させますので、
H列には、CHAR関数を使っていきます。
H3には、

=CHAR(G3)

という数式を設定してあげます。

あとは、オートフィルを使って数式をコピーしましょう。

これで、割り当ての列が算出することが出来ましたね。

このようにしてあげれば、
今回のリクエストのアルファベットで重複しないで設定することが出来ますので、
何か機会がありましたら、使ってみてはどうでしょうかね?

ちなみに、aは97なので、+96しれあげれば、
小文字のアルファベットで算出することもできますよ。

4/14/2016

Excel。Lottery。くじ引き番号。ランダムの数値を重複させない簡単な方法


Excel。くじ引き番号。ランダムの数値を重複させない簡単な方法

<RAND関数&RANK.EQ関数>


先日知り合いの方の講師の先生から、席替えをするんだけど、
番号を重複しないで振る方法って何かないかなぁ~とのこと。

なんでも、RANDBETWEEN関数を使うと、重複しちゃって、
しかも、削除をしたり、文字を追加したりなどすると、コロコロ変わっちゃって、
数値が固定されないので、困っているというもの。

確かに、RANDBETWEEN関数は、重複を防ぐことが出来ないんですよね。

便利そうなんだけど、ちょっと不便。

ランダム数が少ない場合は、「自力で」でもいいのですが、増えてくるとやっぱり、
面倒くさくなるし、重複を見逃しちゃうかもしれないし。

ということで、今回は、重複しないランダム数値の設定方法をご紹介していきます。

まず、下記の表があります。

こういう表を作りたい訳ですね。

では、RANDBETWEEN関数だとどうなるのかを確認してみましょう。

C3をクリックして、RANDBETWEEN関数ダイアログボックスを表示しましょう。

最小値は1
最大値は10
と入力してOKボタンをクリックしましょう。オートフィルで数式をC12までコピーしましょう。

すると、ランダムで1~10までの数値が振られてはみたものの…やっぱり重複している。

これでは、自力で何とかしないといけないわけです。

けど、面倒なので何かいいアイディアはないですか?という訳ですね。

そこで、重複するかもしれないけれど、重複しないような関数があるのです、

それは、RAND関数。


この関数は、小数点第7位までをランダムで表示する関数なのですが、
小数点第7位までならば、ほぼ重複することはないので、今回はこのRAND関数と、
順位を出す、RANK.EQ関数のコンビネーション技で、
重複しないランダムの数値を算出する方法をやってみましょう。

D2にRANDと入力して、
D3に、

= RAND()

と入力して、オートフィルでD12まで数式をコピーします。

まず、RAND関数を作って、ランダムな数値を算出させます。

そして、この数値の順位を算出すれば、1~10までの重複しない数値を算出できるという訳です。

なお、D列は再計算され続けますので、気にせず、
C3にRANK.EQ関数を作っていきますので、
RANK.EQ関数ダイアログボックスを表示しましょう。

数値はD3
参照は、$D$3:$D$12
順序は、昇順でも降順でも構わないので、今回は0にしておきます。

あとは、OKボタンをクリックしましょう。オートフィルを使って数式をC12までコピーします。

これで、重複しないランダムな数値を作ることができました。

が、D列が固定していないので、値の貼り付けを使って、数値を固定化します。
D3:D12を範囲選択して、コピーします。

貼り付けボタンから、値を選択します。すると、数式ではなく値に代わりました。

これで、C列の数値は変わることが無くなりましたので、このようにすれば、
重複しないランダムな数値を作ることが出来ますので、何か機会がありましたら、
やってみると面白いですよ。

4/10/2016

Excel。RANK。順位を、順位/全体数で、表示する順位を作成したいというリクエスト


Excel。順位を、順位/全体数で、表示する順位を作成したいというリクエスト

<RANK.EQ関数とCOUNTA関数>


順位を求める、【RANK.EQ関数】と【RANK.AVG関数】。

特に、RANK.EQ関数に関しては、初心者さんの研修でも、企業研修でも、
当然、新人さんの研修でもご紹介する、比較的ポピュラーな関数なのですが、
今回は、このRANK.EQ関数をご紹介した時にいただいた質問を取り上げてみたいと、
思っております。

現場というのは本当に、様々なケースがあるんすね。

今回も現場ならではというご質問だなぁ~と。

その質問というのは、

「順位を出す関数ってありますよね。
これを、順位だけじゃなくて、5位/8 というように全体数も合わせて、
表示した順位を求めることはできませんかね?」

というもの。

お仕事で使うようでして、「順位/全体の件数」で算出したい、表示したいということなんですね。

最初に聞いた時には、一瞬無茶なリクエストだと思いましたが、
結構あっさり、解決しましたので、今回は、これをご紹介してみようと思います。

下記の表をご覧ください。

D列のように通常の順位をRANK.EQで作成するだけではなくて、
F列のように、順位と全体数が表示されているようにした順位を表示していきたいわけです。

そこで、どうやったら表示できるのかを考えてみると、
順位と全体数を求めた数を結合してあげればいいことに気がつけばしめたもの。

&で結合できますから、早速、数式を作っていくことにしましょう。

F3:F7を削除して、RANK.EQ関数ダイアログボックスを表示しましょう。

数値には、C3
参照には、$C$3:$C$7。参照は全体のことですね。そして、絶対参照も忘れずに。
この参照が初心者さんには、ちょっと難易度があるようですね。
どっちかというと、「範囲」っていうほうが、しっくりくるようですね。

順序には、0

そして、OKボタンをクリックして、まずは、順位を算出させます。

数式バーには、

=RANK.EQ(C3,$C$3:$C$7,0)

と入力されていますね。
このあとに、全体の件数を算出するために、COUNT関数または、
COUNTA関数を使って数式をアレンジしていきます。

今回は、COUNTA関数を使ってみます。

=RANK.EQ(C3,$C$3:$C$7,0)の後ろに、&”/”&と入力しましょう。

これで、”/”を表示することができますので、
あとは、COUNTA関数ですが、難易度が高くないので、
ダイアログボックスを表示しなくても直接入力していきましょう。

数式の後ろに、COUNTA($C$3:$C$7)と追加します。

F3の数式は、

=RANK.EQ(C3,$C$3:$C$7,0)&"/"&COUNTA($C$3:$C$7)


これで、F3には、1/5と表示できましたね。

あとは、この数式を、オートフィルを使ってコピーしていきます。

結果は、

このように、F列を算出することができましたね。

5/13/2015

Excel。RANK_EQ。指定した順位までの構成比を算出したいというリクエスト


Excel。指定した順位までの構成比を算出したいというリクエスト

【Rank.EQ関数と構成比】

先日、指定した順位までの売上の構成比を求める表を作成しないといけなくて大変だったということを聞きまして、最終的には、一日業務で大変だったとのこと。
で、聞いた感じですと、こんなのみたい。

確かに大変ですよね。テクニックとしては、順位と累計とさらに構成比を駆使することになりますからね。隠し味は、累計のところでしょうかね?
ということで、今回は、これを作っていくことにしましょう。

ここまでの表に関して補足しておきましょう。C10は合計を算出しております。
F3:F9までは数値に表示形式のユーザー定義を使って、○位までという表示にしております。

セルの書式設定ダイアログボックスでも確認をしておきましょう。
お馴染みですが、セルの書式設定ダイアログボックスはCtrl + 1で表示することが出来ますよね。

G/標準でもOKですが数値なので、0(ゼロ)に”位まで”を連結しております。
最初にD列の順位を算出しましょう。
RANK.EQ関数を使っていきます。(Excel2007まではRANK関数です)
D3をクリックして、RANK.EQ関数のダイアログボックスを表示しましょう。

数値にはC3ですね。
参照には、$C$3:$C$9
C3:C9まで範囲選択をしたあとにF4キーを押すと、絶対参照が設定差ますよね。
順序には、0(ゼロ)または省略が可能。省略ができますが、省略しないようにした方がいいですね。
このRANK.EQ関数がわかりにくいのは、数値と参照ですね。数値は、ランキングを知りたいセル番地になります。参照は、全体の範囲です。
それでは、OKボタンをクリックして、オートフィルで代々木まで順位を算出しましょう。

これで、順位は出来ました。今度は、この順を基にして、順位の累計を算出していきます。
累計の算出方法は、SUM関数で簡単に算出することが出来ますが、順位順に並んでないので、そうもいきませんね。では並び替えましょうと言いたいところですが、並び替えのできない資料というのは、現場ではよくあることですので、並び替えをしないで算出していくことにします。

では、順位毎の累計を算出するのには、SUMIF関数を使っていきます。手動という訳にはいきませんからね。
G3をクリックして、SUMIF関数のダイアログボックスを表示しましょう。

範囲には、$D$3:$D$9
この範囲は、次に入力する検索条件のデータが入っている列になりますので、今回は、D列。$D$3:$D$9。オートフィルでこの数式をコピーしますから、絶対参照の設定を忘れないようにしましょう。
検索条件には、”<=”&と入力した後にF3を入力します。
"<="&F3
これは、F3に1と入力されていますね。ですから、1以下という意味になりますから、
例えば、F5だと3なので3以下だったらという条件になります。ここがポイントで、比較演算子をこのように使うアイディアがあります。
最後に、合計範囲は、
$C$3:$C$9
絶対参照を忘れないようにしましょう。
あとは、OKボタンをクリックすれば算出されますので、オートフィルを使って数式をコピーしましょう。

G9の7位までの数値とC10の合計数値が合致していますよね。このように飛び飛びのセルを使った累計の算出方法もあるんですよ。
ここまでくれば、あとは、G列を使って、構成比を算出しましょう。
○○比ですから、割り算。除算ですね。
H3には、
=G3/$G$9
という数式が入りますよね。あとは、オートフィルハンドルを使って連続コピーして完成ですね。

このように、一つの表に様々なテクニックを入れて作っていくのは大変ですが、少しずつスキルアップして、日ごろ使っている表も改善していきましょう。

10/01/2014

Excel2010。RANK.EQの作り方を改めて書いてみました。


Excel2010。RANK.EQの作り方を改めて書いてみました。

RANK.EQ関数


様々な講座で、必ずご紹介で登場する関数の中に、RANK.EQ関数があります。
昔はRANK関数でしたが、Excel2010からは、EQとAVGに分かれました。
ただ、使い方は同じですので、ビックリすることないのですが、IF関数を紹介する前に、
関数のダイアログボックスを紹介するにあたり、
このRANK.EQ関数を使って説明したりしております。

そこで、今回は、初心者向きな関数ではありますが、
RANK.EQ関数の作り方を改めて紹介したいと思います。

まず下記の表があります。

このA~Eを合計金額のいい順で、順位をつけてみたい場合で考えてみましょう。
まぁ、やる前から、Aは一番低いと見てわかりますが、それでは、元も子もないので…

では、ご紹介していくことにしましょう。
考え方として、【Aの合計は、全体の中で何番目?】ということになりますよね。
なので、まず、F2をクリックして、RANK.EQ関数のダイアログボックスを表示していきましょう。

この時に注意するのは、今回はRANK.EQですので、AVGでない方を選びましょう。
RANK.EQ関数を選択して、OKボタンをクリックすると、
RANK.EQ関数のダイアログボックスが表示されましたね。

まず、数値ですが、Aの合計が何番目なの?ということですから、
これは、Aの合計になりますよね。

つづいて、参照ですが、これは、A~Eまでの中でということなので、E2:E6になりますね。
そして、このAの順位を算出した後にオートフィルを使用してB~Eを算出することになりますので、範囲が、ずれてはいけませんので、必ず【絶対参照】を設定することを忘れずに。

範囲選択後すぐに、F4キーを押しましょう。

最後は、順序ですが、これは省略が可能ですが、0を入れると、
値のいい順でランキングしてくれます。
ゴルフなどの数値が悪いほうがいい場合は、1をいれるといいでしょう。

それでは、OKボタンをクリックしてみましょう。

あとは、オートフィルを使ってランキングを算出していきましょう。
これで完成ですね。
それでは、もし、参照のところで、絶対参照の設定をやらなかったら、
どうなってしまうのか?も確認してみましょう。

参照のところを、E2:E6にしてあります。それでは、OKボタンをクリックしましょう。

ここまでは、同じなのですが…オートフィルを使って、Eまでの順位を算出してみましょう。

そうすると…

アレレ!順位がおかしくなりましたね。このように、摩訶不思議な事が発生した時には、
必ず数式バーで数式を確認してみましょう。

今回は、F6をクリックして、数式バーを確認してみましょう。

参照が、E6:E10になっていますね。E6:E10って…何か変ですよね。
E2:E6でなければならないのに、ずれちゃていますね。これではうまくいきませんね。
オートフィルは、便利なのですが万能ではありませんので、
このような摩訶不思議な事が発生した時は、
範囲がおかしいのでは?と勘ぐってみてもいいでしょうね。

8/01/2013

Excel。RANK関数ほど有名じゃないけど、順位の関数も便利です。


Excel。RANK関数ほど有名じゃないけど、
順位の関数も便利です。

LARGE関数・SMALL関数

研修やらなんやらで、結構ご紹介することがある、

RANK関数。


RANK関数は、順番を付ける関数なのですが、あくまでも順番を付ける”だけ”の関数。

たとえば、データが膨大になると、
どれが、1位はどれか、2位はどれだ、と探すのが大変。
並び替えをすれば、見つかりますが、最初から、1位・2位を見つけるだけなのに、
RANK関数をつかって、並び替えてとか、
オートフィルターを使って、抽出するのも、工程数がかかるわけですね。

たしかに、最大・最小を見つけるだけなら、
MAX関数とMIN関数で用は足りますが、
2位以降~ブービーまでは対応できない。

そこで、紹介するのが、

LARGE関数・SMALL関数。


この関数を使えば、
ダイレクトに、どのデータが何位なのかを見つけることが出来ます。
下記のデータを使って、ご紹介。


まずは、

LARGE関数。

1位をMAX関数ではなく、LARGE関数で算出してみます。
F4をクリックして、LARGE関数のダイアログボックスを表示させたら、

配列は、データを選択して、順位は1位の1。これでOK。

今度は、

SMALL関数。

作り方はLARGE関数と同じですね。

順位に2をいれることによって、ブービーを求めることができます。
なお、同じ値の場合は、同じ順位で、それ以降の順位が繰り下がっていきます。