- ベストアンサー
順位を求める計算式
1つのBookに10のSheetがあります。 それぞれのSheetのG5に数値が入っています。 また、それぞれのSheetにK5があります。 Sheet1からSheet10のG5を対象とした順位をSheet1のK5に表示させたいのですが方法はどうすればいいでしょうか? (例)Sheet3までの場合 Sheet1のG5 に300 が入力されている Sheet2のG5 に150 が入力されている Sheet3のG5 に200 が入力されている このデータの順位を Sheet1のK5 に表示させるという関数です。 Excel 2013です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
「各シートのG5に入力されている数値の順位をsheet1 のK5 に表示する」 というのはどういう意味ですか?Sheet1~Sheet10 のG5の値の順位をSheet1 のK5 という一つのセルに表示するのはできないと思うのですが? Sheet1 のK5 に次の式を記述する。 =RANK(G5,Sheet1:Sheet10!G5,0) Sheet1 のK5 にSheet1 のG5の値の順位が表示されます。 Sheet2 のK5 にも同じ式を記述すると、そこに、Sheet2 のG5の値の順位が表示されます。 以下同じように各シートのK5 にそのシートのG5 の値の順位を表示することができます。 Sheet1 にすべてのシートのG5 の値の順位を表示したいなら、 Sheet1 のK5 に =RANK(G5,Sheet1:Sheet10!G5,0) Sheet1 のK6 に =RANK(Sheet2!G5,Sheet1:Sheet10!G5,0) Sheet1 のK7 に =RANK(Sheet3!G5,Sheet1:Sheet10!G5,0) 以下同様 でいけるのでは。 基本は、 =RANK(G5,Sheet1:Sheet10!G5,0) なので、RANK 関数のヘルプなどを見ながら工夫してください。
その他の回答 (2)
- Chiquilin
- ベストアンサー率30% (94/306)
自分で計算できないような表を何故作るのでしょう。 =SUM(COUNTIF(INDIRECT("'Sheet"&{1;2;3;4;5;6;7;8;9;10}&"'!G5"),">"&G$5))+1
- kagakusuki
- ベストアンサー率51% (2610/5101)
使用していない適当な列を作業列として使用します。 以下の説明では仮の話としてSheet11のA列を作業列として使用するものとします。 まず、Sheet11のA1セルに次の関数を入力して下さい。 =IF(ISNUMBER(Sheet1!G5),Sheet1!G5,"") 同様に、Sheet11のA2セルに次の関数を入力して下さい。 =IF(ISNUMBER(Sheet2!G5),Sheet2!G5,"") 同様に、Sheet11のA3セルに次の関数を入力して下さい。 =IF(ISNUMBER(Sheet3!G5),Sheet3!G5,"") 同様に、Sheet11のA4セルに次の関数を入力して下さい。 =IF(ISNUMBER(Sheet4!G5),Sheet4!G5,"") 同様に、Sheet11のA5セルに次の関数を入力して下さい。 =IF(ISNUMBER(Sheet5!G5),Sheet5!G5,"") 同様に、Sheet11のA6セルに次の関数を入力して下さい。 =IF(ISNUMBER(Sheet6!G5),Sheet6!G5,"") 同様に、Sheet11のA7セルに次の関数を入力して下さい。 =IF(ISNUMBER(Sheet7!G5),Sheet7!G5,"") 同様に、Sheet11のA8セルに次の関数を入力して下さい。 =IF(ISNUMBER(Sheet8!G5),Sheet8!G5,"") 同様に、Sheet11のA9セルに次の関数を入力して下さい。 =IF(ISNUMBER(Sheet9!G5),Sheet9!G5,"") 同様に、Sheet11のA10セルに次の関数を入力して下さい。 =IF(ISNUMBER(Sheet10!G5),Sheet10!G5,"") そして、Sheet1~Sheet10の各シートのK5セルには次の関数を入力して下さい。 =IF(ISNUMBER(G5),RANK(G5,Sheet11!$A$1:$A$10),"") 以上です。