• ベストアンサー

エクセル2002で関連セルの数値を並べ替える

エクセル2002を使っています。 画像の様なランキングがあり、それを関連するセルの数値順に並べ替えるにはどうしたらよいでしょうか? この場合、G9セルに41365782と表示させたいです。 これを関数のみでやりたいと思います。 よろしくお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

下記のURLで回答しましたKURUMITOです。 質問:No.7974300でわたくしが紹介した次の式をB7セルに入力してAR7セルまで横方向にドラッグコピーしたのちにセルの表示形式で整数表示にします。 =RANK(B8,$B8:$AR8,1)+COUNTIF($B8:B8,B8)*0.01 G9セルには難しい式を使わなくて次の式を入力することで41365782と表示させることができます。 =SUM(INDEX(B1:AR1,MATCH(SMALL(B7:AR7,1),B7:AR7,0))*10^7,INDEX(B1:AR1,MATCH(SMALL(B7:AR7,2),B7:AR7,0))*10^6,INDEX(B1:AR1,MATCH(SMALL(B7:AR7,3),B7:AR7,0))*10^5,INDEX(B1:AR1,MATCH(SMALL(B7:AR7,4),B7:AR7,0))*10^4,INDEX(B1:AR1,MATCH(SMALL(B7:AR7,5),B7:AR7,0))*10^3,INDEX(B1:AR1,MATCH(SMALL(B7:AR7,6),B7:AR7,0))*10^2,INDEX(B1:AR1,MATCH(SMALL(B7:AR7,7),B7:AR7,0))*10,INDEX(B1:AR1,MATCH(SMALL(B7:AR7,8),B7:AR7,0)))

gekikaraou
質問者

お礼

KURIMOTOさん ありがとうございます。 お蔭様で目的の結果を果たせましたが、他にも利用シーンがありますので使わせていただきます。 ありがとうございました!

その他の回答 (3)

回答No.3

=sumproduct(((mod(small(index(B$7:AW$7+column(B$7:AW$7)/10^3+9^9*(B$7:AW$7=0),),row(1:8)),1)*10^3-column($B:$B))/6+1)*10^(8-row(1:8))) データ数を 8 個でない数( 15 個以下)に変更する場合は、数式中の「AW」を変更後の列に修正。さらに、3 か所出てきている「8」を変更後のデータ数に修正。 なお G9 セルを結合しない場合、G 列の列幅が狭いと、「####」といった感じに計算結果が表示されます。幅を拡げてください。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

ん? >41912082って帰って来ました、、、何ででしょうか? 3や5が二回計算されてるからですね。 3と4、5と6のように、表示したい順で順位を付けてください。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

G9のセル結合を一回解除してから G9に =SUM(IF(B7:AW7=ROW(A1:A8),B1:AW1)*10^(8-ROW(A1:A8))) に記入し、必ずコントロールキーとシフトキーを押しながらEnterで入力 その後再度セル結合します。

gekikaraou
質問者

補足

回答ありがとうございます。 配列数式ですね、SHIFT+ENTERで確定、G9セルは結合されていませんのでそのまま入力。。。 えっと・・・41912082って帰って来ました、、、何ででしょうか?