• ベストアンサー

       @@@IF関数で悩んでいます@@@

{A1}の合計が350点以上なら◎、300点以上350点未満なら○、300点未満なら×をつける。 という問題ですが、正しい答えが分かりませんでした。 当方は、IF(350<=A1,"◎",IF(350>A1>=300,"○","×"))と打ったのですが、これでは残念ながら280点でも○の印が付いてしまいました。申し訳ございませんが、正しい関数を教えて下さい。

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

  • ベストアンサー
  • soixante
  • ベストアンサー率32% (401/1246)
回答No.3

エクセルの条件を入れるときには、数学の書き方のような、 300 ≦ x < 350 のような書き方はできません。 300以上350未満、としたいのだと思いますが、その場合は、 AND(A1>=300,A1<350) と示します。つまり、「300以上 かつ 350より小さい」 と。 ですから、あなたの式であれば、 IF(350<=A1,"◎",IF(AND(A1>=300,A1<350),"〇","x")) であれば正しく機能します。 ただ、#1さんの回答の式のほうがシンプルで良いと思います。 なぜそれでよいかというと、IF式の定義を思い出してください。 IF(条件、真の場合の処理、偽の場合の処理) ですよね。 だとすれば、最初のIF条件:IF(350<=A1, の時点で、350以上ならば◎を返すということで処理が終わっています。 そうでなかった場合(偽の場合)に、2番目のIF式での判定に入っているわけですから、この2番目の判定に入ってきた数値は、必ず350より小さいものとなっています。 したがって、あなたの式の2番目のIF条件のうち、350>A1 は自明なので省略してもよいのです。 あなたの式の場合、2番目のIF条件は頭の350>A1だけが生きていると思われるので、280でも〇を返されたのではないでしょうか。

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

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

>当方は、IF(350<=A1,"◎",IF(350>A1>=300,"○","×"))と打ったのですが、これでは残念ながら280点でも○の印が付いてしまいました。 陥り易い典型的な例です。 論理演算が1つの式で表すと左側から順に計算しますので、人間のアナログ思考で正しくてもデジタルでは几帳面に順番通りに演算します。 350>280>=300 は 350>280 は TRUE であり、次の TRUE>=300 も TRUE になります。 対策としては内側のIF関数の論理式を A1>=300 のみにすると解決します。 判断対象のA1セルはIF関数の1段目で350以上を”◎”にする判断をしており、残りについて300以上を”○”にし、その残りを”×”にすれば目的通りです。

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

答えを出したいセルをアクティブにして次の式を・・・ =IF(A1>=350,"◎",IF(A1>=300,"○","×")) 

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

IF(350<=A1,"◎",IF(A1>=300,"○","×"))

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

関連するQ&A

  • IF関数について

    IF関数についてお尋ねします。 成績処理で使っているのですが、 たとえば、95点以上ならA 70点以上95点未満なら空欄 そして、70点未満ならC というように表示させるにはどのように入力したらよいですか?

  • IF関数

    A1に平均値で示した数値(0.0001~99.9999)を、下の1~9でカテゴリー分けしたいのです。 1.0.5時間未満 2.0.5時間以上~1.0時間未満 3.1.0時間以上~1.5時間未満 4.1.5時間以上~2.0時間未満 5.2.0時間以上~2.5時間未満 6.2.5時間以上~3.0時間未満 7.3.0時間以上~3.5時間未満 8.3.5時間以上~4.0時間未満 9.4.0時間以上 IF関数でしたのですが、下の式の通り8項目しか入らず良い方法がありましたらおしえてください。よろしくお願いします。 =IF(A1<0.5,"1.0.5時間未満",IF(A1<1,"2.0.5時間以上~1.0時間未満",IF(A1<1.5,"3.1.0時間以上~1.5時間未満",IF(A1<2,"4.1.5時間以上~2.0時間未満",IF(A1<2.5,"5.2.0時間以上~2.5時間未満",IF(A1<3,"6.2.5時間以上~3.0時間未満",IF(A1<3.5,"7.3.0時間以上~3.5時間未満",IF(A1<3,"7.3.0時間以上~3.5時間未満"))))))))

  • IF関数について

    IF関数を使って、『3歳未満には○を表示』という計算をさせるにはどうしたらよいでしょうか?『=IF(生年月日<3,"○"," ")』と入力したのですがうまくいかなくて…

  • IF関数教えてください><

    IF関数で、 売上金額が500,000未満の場合は「○」で、500,000以上、1,000,000未満の場合は「△」 1,000,000以上の場合は「×」にしなさい。 という問題の場合ってどういう式を作ればいいんですか。 ※売上金額の欄が仮にAの欄に書いてあるとする。 ※セルに直接式を入力する場合のやり方でお願いします。

  • IF関数でできますか?

    次のような条件でIF関数は使えますか? Aの値が50以上,Bの値は60以上,Cの値は150以上として3つとも条件をクリアしていれば○、A,B,C3つのうちどれか2つまでクリアしていれば△、1つもしくは3つともクリアしていなければ×をつけたいのですが、IF関数を使えばいいのでしょうか?○はANDを使えばいいと思うのですが、△、×はどうすればいいのでしょうか?

  • 複数条件のIF関数

    基本的な質問でかつ再投稿で恐縮ですが、IF関数の使い方を教えて下さい。 合計が100の未満の場合は50% 合計が100~300の場合は60% 合計が300以上の場合は70%のようなIF関数式を作りたい場合、 どのようにしたら良いでしょうか? ここを見ればわかる、のような参照リンクを教えていただくのでもかまいません。 よろしくお願いします。

  • IFとVLOOKUP関数を組み合わせて

    IFとVLOOKUP関数を組み合わせて条件に一致させた数値を出したいのですが引数の記述がわかりません具体的にはセルB5の値が2以上10未満の時は4,100を10以上15未満の時は6,500を15以上25未満の時は11,300を25以上35未満の時は16,100を35以上45未満の時は20,900をセルD5に標示させたい時はどんな記述をすればよろしいでしょうか?IF関数VLOOKUP関数を用いて別のセルにこの参照をさせる表(セルA7に2,B7に4,100 A8に10,B8に6,500 A9に15,B9に11,300…)を作成するすればできると思うのですが…

  • IF関数に、二つの条件を入れたいです

        A     B      C 1. 100     90     ○ このような場合で、もしA1-B1が1以上の場合のみ、C1に○が出るようにしたいのですが、A1に入力しただけで○が出てきてしまいます・・ B1を入れたときに、初めて○がでるようにしたいのですが、IF関数に条件を いくつか入れられるのでしょうか? この関数式がどうしても、分かりません。よろしくお願いします。

  • IF関数?

    関数に関して、教えて下さい。(Excel2013使用) もし、A1が40以上の場合はB1×0.1、A1が40未満の場合はB1×0.5 という答えを出す式を作りたいです。 よろしくお願いいたします。

  • IF関数が分かりません。

    書店で買ったテキストで勉強しているのですが、IF関数が分かりません。 見にくいかもしれませんが、本数が3万本以上はA、1万本以上はB、5千本以上C,5千本未満D にしなさい。ってあるんですが、求め方が分かりません。

専門家に質問してみよう