• ベストアンサー

Excel IF関数 順位

エクセルで B1に今回の順位 C1に前回の順位 を入力し、A1に↑,↓,←,NEW と表示されるようにしたいのですが、上手くいきません(>_<) このように入力しました =IF(C1=不参加,"NEW",IF(C1=圏外,"↑",IF(B1=C1,"←",IF(B1<C1,"↑",IF(B1>C1,"↓",)))))

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

  • ベストアンサー
回答No.4

No.3です。何度もすみません。B1にVLOOKUPを使いましたが、MATCHのほうがより簡潔に書けるので、次の式に差し替えてください。 B1セル =choose(match(a1,{"C1=不参加","圏外","B1=C1","B1<C1","B1>C1","その他"},),"NEW","↑","←","↑","↓",)

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

その他の回答 (3)

回答No.3

やや式が長くなっちゃいますが、こんなのも書けますよ。メリットは、分かりやすさ。 A1セル C1=不参加 ※「C1=不参加」、「圏外」、「B1=C1」、「B1<C1」、「B1>C1」、「その他」から選んで入力 B1セル =choose(vlookup(a1,{"C1=不参加",1;"圏外",2;"B1=C1",3;"B1<C1",4;"B1>C1",5;"その他",6},2,),"NEW","↑","←","↑","↓",) ※「" "」で挟まれている文字列は、大文字/小文字、全角/半角を区別してください。

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

辛口ですが、失礼します。 まず、圏外や不参加は順位ではありません。 やりたいことをそのまま説明できればできると思います。 予想でわかりますが、 どういうときに、どういう結果になる これこそがif文なんで、やりたいことをそういう観点で見たり説明するように心がけると簡単です。 予想にて失礼しますが、今回の例なら 各順位に1~圏内順位最大値、圏外、不参加しか入れないことを前提に 前回が不参加で、今回が不参加以外 →NEW 上記ではなくて 前回より今回が大きいか、前回が圏外で今回が圏内順位最大値以下の自然数 →↑ 上記ではなくて 前回より今回が小さいか、前回が圏外順位最大値以下の自然数で今回が圏外 →↓ 前回と今回が等しい →← ※前回も今回も圏外の場合も←と判定される あとは、質問の式で比較対照の文字列は""で囲んでください。

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

「不参加」と「圏外」はダブルクォーテーションで括りましょう。 #NAME は、関数名が見つからない時に出るエラーです。 不参加と圏外が、ダブルクォーテーションで括ってないので 関数か何かだと思って、「そんなのねーよ!!」と言っているのです。 それと、これはエラーにはなりませんが、最後のIF で偽の時は 空の文字列「""」にした方がよくないですか?

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

関連するQ&A

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • エクセルのIF関数について

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

  • エクセル関数について(IF関数)

    エクセルの関数について教えて下さい。 セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが、どのような式を入れればよろしいのでしょうか? 別のシートから呼び出す(?)というような方法でもいいのですが、どんな式を入れればよいのか、全く分かりません。 自分で調べてみた結果、IF関数を用いるということは解りました。 『IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 上記のような式を入れてみて、実際に実践してみたところ、結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 どうしたらいいのか解りません。 素人故に恥ずかしい質問ですが、お知恵を貸して下さい。 よろしくお願いします。

  • エクセルのIF関数について

    エクセルIF関数について教えていただきたいのですが A    B   C   5    5 -5       -5 上記のようにIF関数を組みたいのですが Aの値がプラスならBへ表示 Aの値がマイナスならCへ表示したいのですが IF関数で表すならどう関数を組めばよろしいでしょうか?

  • Excel 長すぎるif関数

    こんにちは。Excelを使って、条件によって表す表示を変える場合、 例えばa1のセルには0~100までの任意の数字を入れるとして、b1のセルにa1の数字に応じていろいろな表示をしたい場合(具体的には100ならAを表示、90~99ならB、70~89ならC、55~69ならD・・・といったように)、if関数を使うと思いますが、 =if(a1=100,"A"1,if(a1>=90,"B",if(a1>=70,"C",if・・・・)))というように長々と続きますね。条件が少ないうちはいいのですが、条件が多くなると、大変複雑な式になり、入力もしづらいし、頭も使うし、閉じる括弧の数もわからなくなるし、作成に時間もかかりますよね。2つ以上の条件が重なる(例えばA1が90~99の範囲でかつa2がAならb1にB1と表示するなど)など複雑になってくるともうお手上げです。 これらを短時間で要領よく作成する方法はないでしょうか?次の観点で教えてください。 1 if以外の良い関数はあるか?または良い機能はあるか?それとも複雑であってもif関数が妥当なのか? 2 (if関数が妥当であるとして)複雑なif文の作成を簡単にできる方法があるか?あるいはそんなソフトがあるか? 3 やっぱりそういうのはVBAとかで作った方がいいのか?(できれば使いたくないのですが。)

  • Excelのif関数を使ったのですがうまくいきません。

    Excelのif関数を使ったのですがうまくいきません。   | A | B | C | D | E ----------------------- 1 | A | A | A | A | 5 2 | B | A | A | B | 4 3 | C | C | A | C | 2 のようにA1~D4のセルに入力されたA,B,C の組み合わせによって E5のセルに1~5の数字を入れていきたいのですがAAAA~CCCCの組み合わせが 15通りあってif関数では入れ子ができません。 AAABもAABAも同じと判断させて1~5の数字を自動的に入力させたいのですが 何かいい方法はないでしょうか。 教えてください。

  • IF関数

    教えて下さい。 エクセルのIF関数について まずC1にA1-B1を計算させます。 そのときに、C1の値がマイナスの場合は0表示するようにし、プラスの場合はその値が表示されるようにしたいのです。 具体例 A1=10、B1=12 の場合C1=0     A1=10、B1=8  の場合C1=2 となるように! C1に入力する計算式を教えて下さい。

  • エクセル IF関数について

    エクセルのIF関数で困っています。 A1のセルは、他のセル(B1)から飛ぶような設定をしている(=B1) B1に入力しない事があるで、A1の「0」に表示しないようにユーザー設定で「#,##0;"△ "#,##0; 」としている。 A2のセルには、A1に文字が表示されたときのみ「日」と表示するようにIF関数を入れた。「=IF(A1="","","日")」 しかし、A1に何も表示されていないのに、「日」が表示されてしまう。 試しに「=IF(A1="0","","日")」としたが、これでも「日」が表示されてしまう。 このような場合、IF関数はどうすればいいのでしょうか。 説明が下手ですいません。 どうか教えてください。

  • エクセル IF関数について

    エクセルのD列に =IF(ISERROR(B5/C5),0.6,IF(B5/C5>=1,1,B5/C5)) 上記の数式を入力してあります。これに加え、B5/C5が0になるとき、60%になるようにはできますか?

  • エクセルで順位をつける関数教えてください

    エクセルで4つのデータの順位をつける方法(関数)を教えてくだい。 0~+域が上位で、-域は0に近いほうが上位にしたい。 例:データ             →  順位がこうなる  A    B    C    D    A   B  C  D -36  -26  -16   6     4  3  2  1 -16   0    6   16     4  3  2  1

このQ&Aのポイント
  • 僕は思い障害を持っており、睡眠薬を飲まないと眠れません。自治会の行事の欠席を彼女に求めました。彼女は自分の睡眠薬を提案しました。
  • 彼女の勧める医師から処方されていない薬を飲むことには不安があります。彼女はそれを理解しているようですが、それでも飲めると言っています。
  • 彼女の言葉からは、彼女が僕を行事に出席させたいという思いが伝わってきます。しかし、僕は彼女が嫌な気持ちになっているのではないかと感じています。
回答を見る

専門家に質問してみよう