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

エクセルでセルが E6 E21 E36 E51 E66 E81 E96 E111 E126 E141 E156の数字を元にのC列の同じ行に順位として大きい数字から1位、2位のように関数を組みたいのですがどのようにしたら良いのでしょうか? 例えばE36が10 E111が5 E156が8でしたらCの36に1 C11

A 回答 (5件)

回答4です。


C列に他のデータがあるときにC1セルに式を入れて下方にオートフィルドラッグはできないでしょう。その時はどこかのセルに =RANK(INDEX(E:E,ROW()),H:H)を入力してからこの式をコピーして、C列の該当するセルに貼り付けを次々に実施すればよいでしょう。
    • good
    • 0

とびとびのセルを式の上で指定するのは面倒なことですし、式も複雑になります。

作業列を作って対応するのがよいでしょう。

例えば次のようにします。
G1セルから下方に6,21,36,51,66,81,96,111,126,141,156のように入力します。
次にH1セルには次の式を入力して下方にオートフィルドラッグします。

=IF(G1="","",INDEX(E:E,G1))

最後にC1セルには次の式を入力して下方にオートフィルドラッグします。

=IF(COUNTIF(G:G,ROW()),RANK(E1,H:H),"")

これでC列の該当する場所には順位が表示されますね。

なお、I1セルに次の式を入力して下方にオートフィルドラッグすればI列にはG列に表示した行での順位が表示されますね。

=IF(H1="","",RANK(H1,H:H))
    • good
    • 0

>E6 E21 E36 E51 E66 E81 E96 E111 E126 E141 E156の数字を元に



コントロールキーを押しながらこれらのセルを順繰りクリックして飛び飛びに選択していき,
名前ボックス(数式バーの左端に通常A1などと表示が出ているところ)に「対象」と記入してEnterします。

C6セルに
=RANK(C6,対象)
と作成し,他のセルにもコピーします。


名前の範囲を間違えたり変更したいときは,2003までのExcelでは挿入メニューの名前の定義,2007では数式タブの名前の管理で修正します。


#あるいは
参考程度ですが,
=SUMPRODUCT((MOD(ROW($E$6:$E$156),15)=6)*($E$6:$E$156>E6))+1
などのような計算でも出来ます。
極めて多数の飛び飛びのセル範囲を対象にしたくなった時などに使えますが,そういうシチュエーションであれば実際には別に空き列を用意し,該当の行(6,21,36…)の値だけそちらに再掲して(他の行は空っぽのままにしておいて)
=RANK(E6,E:E)
などのように計算させた方が簡単です。
「エクセルでセルが E6 E21 E36 」の回答画像3
    • good
    • 0
この回答へのお礼

皆様教えて頂きありがとうございました。大変助かりました。

お礼日時:2010/05/11 17:08

飛び飛びのセル範囲を、以下のようにかっこでくくって1つの範囲にしたRANK関数を使ってください。



=RANK(E6,($E$6,$E$21,$E$36,$E$51,・・・・・・,$E$156),2)
    • good
    • 0

RANK関数が利用できませんか?

    • good
    • 0

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