こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

IF(OR…の関数

試験の結果を出したいです。

70点以上は合格、70点以下は不合格、それ以外は免除

自分で考えたのが
=IF(OR(A1>=70,"合格",),IF(A1<70,"不合格","免除"))

で、答えがVALUEになってしまいます。(TT)
どこが悪いのでしょうか…。

また、関数を調べるサイトは沢山ありますが、組み合わせの関数(応用)を勉強(理屈を理解)できるサイトはありませんか?本でもいいです。
宜しくお願いします。

投稿日時 - 2004-09-10 17:26:12

QNo.996563

すぐに回答ほしいです

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

A1が数値タイプになる為、エラーになりますね。結果が無い場合の条件を入れられては・・・・色々やり方はありますが・・・

=IF(A1="","免除",IF(A1>=70,"合格","不合格"))
私なら、上記のようにします。結果がなければ 免除 70以上が合格 それ以外は 不合格 です。

投稿日時 - 2004-09-10 17:37:44

お礼

早速の回答ありがとうございました。説明不足なのにずばりの回答ありがとうございます。
今後とも宜しくお願いします。

投稿日時 - 2004-09-10 18:07:38

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

=IF(OR(A1>=70,"合格",),IF(A1<70,"不合格","免除"))
を読み解くと、

もし、「A1が70以上」または「合格」ならば、
 もし、「A1が70未満」なら"不合格"、でなければ"免除"

前半、OR関数の部分が意味不明になっちゃってますね。
OR関数は、カッコ内の条件の内どれかを満たす、というものですから、今回は不要です。

条件のとおり素直に書くなら、
=IF(A1>=70,"合格",IF(A1<70,"不合格","免除"))
ですね。
ただ空白の場合他、他の方々が指摘されている問題点はありますので、
#4さんのご回答がよろしいかと。

投稿日時 - 2004-09-10 18:10:01

お礼

ありがとうございました。ORにはそのような意味があったんですね…(^^;
そんなことも知らず…。お恥ずかしいです。
また、宜しくお願いします。

投稿日時 - 2004-09-10 18:22:15

ANo.5

ORやANDは複数の条件ですのでこの場合は単純なIF文のネストでいいかと...
正解は#4さんの数式だと思います。
--------------------------------------
OR,ANDの使い方はこんな風です。
=IF(OR(A1>=70,B1>=70),"合格","不合格")'どちらかが70点以上なら合格
=IF(AND(A1>=70,B1>=70),"合格","不合格")'両方70点以上で合格

投稿日時 - 2004-09-10 17:55:32

お礼

結構色々な方法で結果が出せるんですね。お茶の子さいさいの皆さんがうらやましいです。
ありがとうございました。

投稿日時 - 2004-09-10 18:20:04

ANo.4

70点は合格?それとも不合格?
どんなときに免除なのでしょうか?

70点以上は合格、70点未満は不合格、数値以外は免除なのかなぁ。
であれば、

=IF(ISNUMBER(A1),IF(A1>=70,"合格","不合格"),"免除")

こんな感じですね。

投稿日時 - 2004-09-10 17:45:57

補足

こちらをお借りして、訂正します。すみません皆さん!

説明が不足しておりました。免除というのは試験が2科目あって1科目合格していると免除できるという意味です。
なので、この科目の試験に70点以上は合格、70点未満は不合格、空白は免除と言う式が組みたかったです。

投稿日時 - 2004-09-10 17:59:33

ANo.3

ごめんなさい。意味わかんないっす^^;

●それ以外って?
>70点以上は合格、70点以下は不合格、それ以外は免除

70点以上と70点以下・・・これですべてを含んでしまいます。
(正確には70点未満だと思いますが)
「それ以外は免除」この条件に当てはまるものがありません。

●OR関数
 ORは、条件式を二つ並べて、条件のどちらかが真であれば、
 真の答を返すものです。

 たとえば、「A1が70点以上か、A2が60点以上ならば、合格」という場合に、
  =IF(OR(A1>=70 , A2>=60),"合格","不合格")
 このように使います。

 質問者さんのように、条件が二つあるのではなく、
 答が三つに別れる場合は、ifを重ねればいいと思いますよ。

投稿日時 - 2004-09-10 17:42:31

お礼

すみませんでした。説明が不足しておりました。
細かくご説明いただきありがとうございます。
皆さんはなにで勉強しているんでしょうか。私もがんばります(^^;

投稿日時 - 2004-09-10 18:18:25

ANo.2

えーっと、これはEXCELの関数ですよね?
そうだという前提で。

まず「70点以上は合格、70点以下は不合格」という時点で、
「その他」はありえないのでは?

数値以外(例えば空白)が入っていたら「免除」ということであれば、
以下の式が使えるかと。

=IF(ISNUMBER(A1)=FALSE,"免除",IF(A1>=70,"合格","不合格"))

投稿日時 - 2004-09-10 17:39:24

お礼

ありがとうざいました。関数がわかっているかたには説明が意味不明になるんですね。(TT)もっと勉強します。

投稿日時 - 2004-09-10 18:15:33

あなたにオススメの質問