• ベストアンサー

エクセル2003 RANK関数

A列に0を含め、正の数、負の数(セルの書式設定で「-」を付けた)が混在したデータがあり B列にLANK関数を使って昇順で順位を付けたいのですが、マイナス表示のデータがあるため うまくいきません。この問題を解決する方法があれば教えてください。

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

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

 LANK関数という関数は存じませんが、もしかすると、RANK関数の間違いではないでしょうか。  Excel2003では、どうなっているのかは分かりませんが、少なくともExcel2002では、マイナスの数値が含まれていても、RANK関数を使用して、普通に順位を付ける事が出来ます。  昇順で(即ち値が小さいものから)順位を付ける場合には、B1セルに次の数式を入力してから、B1セルをコピーして、B2以下に貼り付けると良いと思います。 =RANK($A1,$A:$A,1)  尚、A列にが空欄のセルが含まれている場合には、次の様な数式に修正して下さい。 =IF(ISNUMBER($A1),RANK($A1,$A:$A,1),"")  又、昇順で順位を付けるのではなく、0に近い順に順位を付ける場合には、次の様な数式となります。  A列の数値データーがA2~A99の範囲に存在する場合のA2の数式 =IF(ISNUMBER($A2),SUMPRODUCT((ABS($A$2:$A$99)<ABS($A2))*1)+1,"")  A列の数値データーがA2から始まるが、最後のデーターが存在する行が不明の場合の数式 =IF(ISNUMBER($A2),SUMPRODUCT((ABS($A$2:INDEX($A:$A,MATCH(99^9,$A:$A)))<ABS($A2))*1)+1,"")

uramesenryou
質問者

お礼

タイトルにはRANKとしているのに、本文ではLANKとなっていました。 ご推察していただいたように空白のセルが問題だったようです。 ご丁寧な回答をありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

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

A1セルから下方にデータがあるとしてA列を選択して昇順で並べ替えをします。 その上でB1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(A1<0,A1=""),"",IF(AND(A1>0,ROW(A1)=1),1,MAX(D$1:OFFSET(D1,-1,0))+1)) または =IF(OR(A1<0,A1=""),"",RANK(A1,A:A,1)-RANK(INDEX(A:A,MATCH(0,A:A,1)),A:A,-1))

uramesenryou
質問者

お礼

なるほど。こんなやり方もあるのですね。 今後の参考にさせていただきます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

A列のデータをコピー メモ帳に貼り付け メモ帳のデータをコピー ExcelのA列に貼り付け 順位を付ける関数は =RANK(数値,範囲,順序) 最小値が1なら =RANK(A1,$A$1:$A$100,1)

uramesenryou
質問者

お礼

参考にさせていただきます。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

どういう順にランクを振りたいのか質問にかけてないので質問にならない。 絶対値にでも基づいて振りたいのか(余り意味のある場面を想像しにくいが)。 自分の質問をよく読んで公にすること。自分でそのことで頭はいっぱいでも、重要なことで文章に表現できてないことが多々あるよ。

uramesenryou
質問者

お礼

ご指摘のように説明不足でした。大変失礼いたしました。

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A列例えば100,50、0、-50、-100のデータがあるときに昇順でしたら-100の行が1、-50の行が2になりますが、そうはならないということでしょうか?

uramesenryou
質問者

お礼

A列に空白があることが問題だったようです。説明不足で申し訳ありませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

どのような書式設定でマイナスをつけているのか不明ですが 実際のデータそのもにマイナスをつけるしかないと思われます。

uramesenryou
質問者

お礼

ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ExcelのRANK関数で。

    こんにちは。宜しくお願い致します。 ゲームの得点を集計するフォームをエクセルで作成しているのですが、 もしも同点のものがあった場合は、順位をより上のセルに入力されているものが上位になるように設定したいのです。 例) B列(得点)  C列(順位) 10       2 20       1 10       3 10       4 と、このような形にしたいのです。 今現在、RANK関数を使用して作成していたのですが、同点の場合に不都合があることに気が付いて、その解決方法がわかりません。 もっとほかの関数を使うべきなのでしょうか? どなたか教えてください。宜しくお願い致します。

  • エクセル2010でRANK関数に条件を付けるとき

    エクセル2010を使っている者です。 RANK関数で順位をつけても同順位だった場合、他の条件で判定することは可能でしょうか? 過去の質問も見たのですが、私のしたいこととは違う事例なんですね。 具体的には、添付画像のような表でドント式で順位をつけようと思っています。 オレンジ色にしたセルに、一つ右のセルの値について数値の高い順に順位をつけていき(全列のオレンジ色のセルの右の値の中での順位です)、値が同じであれば「総数」の値の大きい列のセルのほうが上位になるというようにしたいと思っています。 どうぞ、よろしくお願いいたします。

  • エクセルで「ー」(ハイフン)と「ー」(マイナス)を

    エクセルにデータをエクスポートするソフトがあります。 このデータをさらに処理するのですが、ある列にはデータがない場合「ー」(ハイフン)が出力されます。 これにある関数を施したいのですが、「ー」では処理できないため、これを「0」にする必要があります。 そのため、「ー」を「0」に置換するという方法を用いたのですが、そうしますと負の値「-」(マイナス)の「ー」も置換されて正の数になってしまうという弊害が発生します。 この、「ハイフンは置換するがマイナスはしない」ということができるのでしょうか。 どなたかご存じの方がいらっしゃいましたら、ご教授くださると幸いです。 どうぞ宜しくお願い申し上げます。

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

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

  • 【関数】あるセルの負の結果を負の記号を表記させない

    A1にはあるセルの結果が入ります。 また、書式設定でA1がマイナスの場合に負の記号を表記されるように設定されています。 B1にA1を反映させたいときには「=A1」という数式ですが、このとき、A1が負の結果の場合、正の記号(つまり「-」を表示させない)とする関数式を教えてください。

  • RANK関数の基本?

    教えてください。 順位をつける表があります。(元の問題は、「合計点をもとに成績の順位を求めましょう」です) RANK関数をつかったのですが、=Rank(数値、セル範囲、順序)と なりますよね。 で、答えを見ると順序が、省略されています。(0は省略できますよね) 問題には、昇順とか、降順は全く表示されていません。 これは、順位をつける関数は、順序は降順(点数(数値)の高い順でつける)でつけるのが当たり前という概念に基づいているからなんでしょうか。 宜しくお願いいたします。

  • エクセル2003で関数の組み方を教えてください。

    エクセル2003で関数の組み方を教えてください。 A1セル  EE02 B1セル  02059 この2つのセルを&で合体しEE02-02059と表示させたいのです。 =A1&”-”&B1と入れれば、B1のセルの書式を文字列にしても「EE02-2059」と表示されます。 B1のセルは頭が0だけであれば”-0”入れたらよいのですが、1や2の場合があるので教えてください。よろしくお願いします。

  • エクセル 関数

    sheet1 エクセルのA列に名前が入力されています。 B列にはその個数が正の数または負の数で記入されています。 小数点を含む数はありません。 尚、A列の名前は同じ名前が何度も入力されていて、その行ごとに 個数は異なっています。 上記の状態でsheet1のB列全体の負の数を0(数値)として 同じB列に表示させるには、 どのような数式をシート内のどの部分にはりつければよいのか教えてください。 ROUNDDOW関数を使っていろいろためしましたが、エラーばかりで質問させていただきました。 よろしくお願いします。

  • エクセルで特定の文字列を別の数値にしてグラフ表示

    普段あまりエクセルを使わないので、エクセルの関数もよくわからないレベルです。 エクセル2007を使用しています。 やりたいことは、日毎に計測した順位をグラフ化したいのですが、 順位が100位以下の場合はセルに「-」と入力しています。 (現在は、A列に日付、C列に順位が入っています。) そのままグラフにすると、「-」は「0」と解釈されてしまうようで 図的にはそこだけ順位が跳ね上がっているのですが、 実際は100位以下なので、正しく順位が落ちているように表示して欲しいのです。 単純に、「-」を全て「100」に置きかえれば解決する話ではあるのですが、 それも正しい情報ではないので、データ上は「-」という情報を維持したいと考えています。 そのため、「-」というデータがセルに入っている時は とりあえず「100」と判断し、グラフ表示を行う というようにしたいと考えているのですが、可能でしょうか?

  • EXCELの関数について教えてください。

    EXCELの関数について教えてください。 A列のセルに「18:00 」or 「18:30」 or「19:00」 or「19:30」と入力するとB列のセルに「8:00」と表示され、「17:30」と入力すると「7:00」と表示される方法を教えてください。 セルの書式の表示形式は「文字列」ではなく「時刻」に設定したいです。 多分IF関数をつかうを使うのではないかと思うのですが、書式が「時刻」のためかうまくいきません。 よろしくお願いします。

TS6330のインク、BCI-370は使える?
このQ&Aのポイント
  • TS6330のインクにはBCI-380が搭載されていますが、BCI-370も使用可能でしょうか?
  • 現在TS6030を使用中で、BCI-370の在庫がありますが、同じインクをTS6330に使用できるのか疑問です。
  • キヤノン製品のTS6330の互換性について、BCI-370が利用できるか知りたいです。
回答を見る

専門家に質問してみよう