• ベストアンサー

rankは配列数式で使えないのでしょうか

たとえばA列とB列(各列3行までデータがあるとする)の和の順位をC列に返したいとき、C1に {=RANK($A1+$B1,$A$1:$A$3+$B$1:$B$3)} と入れましたが計算してくれませんでした。1列和の列を用意せずにダイレクトに順位を返すことはできないでしょうか?アイディアがあればお聞かせ願いたく存じます。

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

  • ベストアンサー
  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.1

> rankは配列数式で使えないのでしょうか 使えます。ただしルールを間違えなければですが。 =RANK(数値,参照,順序) 「参照」はセル範囲以外は受け付けません。計算結果は「配列」なので これを「参照」に入れても当然エラーになります。ヘルプにはよく読む と色んな情報が詰まっています。 とりあえず 今回の場合 RANKではなく =SUM((A1:A4+B1:B4>A1+B1)*1)+1 Ctrl + Shift + Enterで確定 これでいいと思います。

Tofu-Yo
質問者

お礼

なるほど!配列数列としての使い方が簡単なsumを使ってrankを表現するとは何とクレバーな!「順位=自分より大きいものの数+1」とは思いつきませんでした。自分はまだまだ未熟です・・・。

関連するQ&A

  • Rank付けについて

    エクセルでRank付け(順位)を考えています。 Rank関数で処理しようと考えたのですが,A列のコード番号が一定ではないため、処理に困っています。場合によってはマクロも考えています. どなたかアドバイス頂けないでしょうか。 A列にコード番号,B列に数値,C列に順位を入れます. 例えば、A2~A4まで1、A5~A6まで2とあり,A2~A4とA5~A6にはそれぞれおなじ数値が入ります。A列コードは3行分だったり2行分だったりと不規則に下に続いていきます。ただし,まとまたコード番号で固まっています. そのA列の同じコード番号全てに対して、B列の値を元にC列に順位を入力したいのです. コード    数値     順位 1       10       3 1       14       1 1       12       2 2       10       2 2       40       1 5       18       3 5       12       2 5       10       1 5       20       4

  • エクセルでのランクの出し方

    以下のような表でランク関数を使うと、空白(計算式は入っています)を0と計算して順位をだしてしまいます。    A   B   C   D  E 1 山田  50   40  90  1 2 加藤 -75   20  -55  4 3 田中  25  -60  -45  3 4                  2 D列にB,Cの合計を求める式として、=IF(A1="","",SUM(B1:B2)という数式を入れています。この表のデータは2人~4人になる可能性があります。 E列には、=RANK(D1,D1:D4)という数式が入っています。 そうしますと、セルD4を0とみなすのか、E4に順位2が入ってしまいます。 このD4を空白とみなし、1位から3位までで表示する方法はありますでしょうか?

  • Excelのrankがおかしい

    少々面倒なのですが、どうしても解決できないのでお教えください。   A   B    C   D 1:結果1 結果2  合計  順位 2:8    8    16    1 3:8.275  7.325  15.6   2 4:7.125   8.475  15.6   3←どうして? 5:6    6    12    4 Cの列は「=SUM(A2,B2)」のようにしています。 Dの列は「=RANK(C2,C$2:C$5,0)」のようにしています。 順位は1、2、2、4となって欲しいのですが、上のように1、2、3、4となってしまいます。 A3、B3、A4、B4の値を変えると1、2、2、4になるのですが、上の値だとどうしてもなりません。 面倒ですが、どうしても解決できないので、お教えください。

  • 再度、Excelの数式について、今朝

    再度、Excelの数式について、今朝 今朝、KURUMITO様から、下記1)~3)の条件での数式を親切に教えて頂きました。 教えて頂いた数式 =SUMPRODUCT(A4:A55,B4:B55)/H2 その後、条件が1)2)は同じですが、4)が増えたため3)が5)に変更になりました。 自分なりに次のように作ったのですが、エラーになります。=SUMPRODUCT(C4:C55="S")*(A4:A55,B4:B55)/H2 正しい数式を教えてください。バージョンは Excel2003 です、 宜しくお願いいたします。 1)A列 A4からA55まで、数字のデータが入ってるセルと、入ってないセルがあります。 2)B列もA列同様、B4からB55まで、数字のデータが入ってるセルと、入ってないセルがあります。(データの入ってる行は、A列で入っていれば、B列の同じ行に入っています)、 3)A列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。 4)C列もA列B列同様、C4からC55まで、B又はSの”文字のデータ”が入ってるセルと、入ってないセルがあります。(データの入ってる行は、C列(文字データ)で入っていれば、A列(数字データ)、B列(数字データ)の同じ行に入っています) 5)C列の”文字データ”がSならばA列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。

  • エクセル 配列数式+ワイルドカードの使い方

    以下のように、列A,BにそれぞれA,B,Cまた、D,E,Fで始まるデータが存在します。 そのデータ数をサマリーするテーブルを列C-列Fに作成しようとしております。 たとえば、列D,2行目の???には、列AはAで始まり、かつ列BはDで始まるデータの数を数えたいと思ってます。 "???"の列に記述すべき数式を教えていただけないでしょうか? -----データ------------- --------サマリーテーブル---- 列A 列B 列C 列D 列E 列F 1 ABC DDD D* E* F* 2 ABB DFE A* ??? ??? ??? 3 AAB EFF B* ??? ??? ??? 4 CBB FGH C* ??? ??? ??? 5 BAC EGG 6 CAD FFF 7 BBB DGD 8 BCB DGG

  • Excel RANK関数 条件に一致する数値の順位

    EXCELのRANK関数で条件に一致する数値の順位を出したいのですが、そのような関数は出来ますか? A列 B列 C列(RANK) A  10  1 B 9 1 A 8 2 B 7 2 A 6 3 B 5 3 A列とB 列からC列を求めたいのですが、できますか?

  • ランクの低い順に並び替えたい

    エクセル2003で、下記のように入力されています。 なおポイントは別シートの計算式を参照して入れており、順位はRANKを使って入れています。 ポイントは日々変わります。  A     B   C 1 チーム名 ポイント ランク 2 チームA 8.84    4 3 チームB 11.41   2 4 チームC 13.81   1 5 チームD 8.81   5 6 チームE 3.61   7 7 チームF 6.61   6 8 チームG 9.01   3 これを順位の低い順に並べ替えたいのですが、どのようにすればよいでしょうか?

  • Excel 配列数式の応用?

    先の質問で、下記のことができるようになりました。 下記のような土日を除いた日付データでセルA11、A12に期首、期末の日付を指定すると、その期間の合計がセルC11に{=SUM(IF((A1:A9>=A11)*A1:A9<=A12),C1:C9,""))}の式で出せるようになりました。 平均もSUMをAVERAGEに変えて出せるのですが、 期間中のマイナスのデータ個数 =COUNTIF(C3:C9,"<0") のような値を 期首、期末の日付の指定で求める式は、どのような式でできるのでしょうか?お教え下さい。 ( 9行以降は行の挿入で新たなデータが追加されます。A列・・日付 B列・・曜日 C列・・数値等) 列行 A  B  C  1 10/01 金 3 2 10/04 月 0 3 10/05 火 空欄 4 10/06 水 -2 5 10/07 木 文字 6 10/08 金 -1 7 10/11 月 4 8 10/12 火 2 9 10 ------------------------------------ 11 10/04 (期首) 2 (←セルC11にマイナスのデータ数を出したい) 12 10/11 (期末)

  • 【エクセル】重複項目内でのみのrankは・・・

    エクセルでのrank関数について教えてください! 下のような表になっています。   A   B    (理想の結果) 1 あ  30    2 2 あ  50    1 3 あ  10    3 4 い  60    1 5 い  15    2 6 う  38    1 とあります。ここで、単純にrank関数を使って順位を 示すのではなく、A列の「あ」の中での順位、 「い」の中での順位・・・といった結果にしたいのです。 重複データを抽出・・・といった関数の組立方が さっぱりわかりません。 手動でrank範囲を指定するのには膨大なデータで、 気が遠くなりました。 お手数ですがよろしくお願いします。 

  • 関数の「RANK」について(Excel)

     小売業で働いており、皆の売上の順位を出すことになりました。「RANK」という関数を使ってみようと思い、30名のうちの1人目に計算式を入れてうまくいきました。次に、後の29名分も書式をコピーして(ドラッグ)して簡単に出そうとしたところ、1列ずつ計算式に入れた「範囲」がずれて、正しいデータが出せません。結局、1列ずつそのつど「RANK」の計算式を入れて順位を出しました。どなたか範囲がずれないやり方をご存知の方、教えてください。

専門家に質問してみよう