• ベストアンサー

順位を求める計算式

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です。       

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

  • ベストアンサー
  • m_and_dmp
  • ベストアンサー率54% (987/1817)
回答No.1

「各シートの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)
回答No.3

自分で計算できないような表を何故作るのでしょう。 =SUM(COUNTIF(INDIRECT("'Sheet"&{1;2;3;4;5;6;7;8;9;10}&"'!G5"),">"&G$5))+1

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 使用していない適当な列を作業列として使用します。  以下の説明では仮の話として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),"")  以上です。

関連するQ&A