アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんは
エクセルはずぶの素人で、一生懸命関数を覚えているところです。
次のような場合に、どんな式を立てれば良いか教えてください。

「A>70かつB>70かつC>80の時、合格。ただしC>75の場合は補欠」

どうしても補欠のところが上手く出来ません。
自分なりに考えて作った式で、補欠のところ以外でできたのは
IF(B2>=70,IF(C2>=70,IF(D2>=80,"合格","不合格"),"不合格"),"不合格")
でしたが、なんだかスマートでないので、もっと良いやり方がありそうな気がします。

また、関数の挿入を使うと何故かIFが全て「+」でつながってしまうのですが(カンマになりません)、どうしてでしょうか?
よろしくお願いします。

A 回答 (7件)

質問中の説明が不明確なので、以下の質問であるとして回答します。



>「A列が70点以上、かつB列が70点以上、かつC列が80点以上の時、D列には"合格"を、ただしA列が70点以上、かつB列が70点以上、かつC列が75点以上の場合は、D列には"補欠"を、それ以外はD列に"不合格"を入れる。」

簡単で分かり易い式として、D列に

=IF(AND(A1>=70,B1>=70,C1>=80),"合格",IF(AND(A1>=70,B1>=70,C1>=75),"補欠","不合格"))

を入れる。

点数に小数点を含まない場合は、

=IF(AND(A1>69,B1>69,C1>79),"合格",IF(AND(A1>69,B1>69,C1>74),"補欠","不合格"))

とすれば、多少式が短くなります。
    • good
    • 0
この回答へのお礼

こんばんは
ご回答有難うございます。仰るとおりの条件です、説明が悪くて申し訳ありません…。
なるほど、小数点を含むと含まないとで、式もちょっと違うのですね!ANDはまだ学んでいないのですが、大体分かりました。有難うございます。

お礼日時:2006/11/13 22:17

方法はいくつかありますが


IF文を使う場合
=IF(AND(A1>70,B1>70,C1>75),IF(C1>80,"合格","補欠"),"不合格")
LOOKUP関数を使う場合
=LOOKUP((A1>70)*(B1>70)*C1,{0,75,80},{"不合格","補欠","合格"})
CHOOSE関数を使う場合
=CHOOSE((A1>70)*(B1>70)*((C1>80+C1>75))+1,"不合格","補欠","合格")
    • good
    • 0
この回答へのお礼

こんばんは
IFで一杯いっぱいなので…知らない関数が出てきました~(涙)という感じです。
もう少し勉強したら解る様になるかしら、頑張ります!
沢山の方に教えていただけて本当に助かりました。

お礼日時:2006/11/13 22:34

=IF((A1>70)*(B1>70)*(C1>80),"合格",IF((A1>70)*(B1>70)*(C1>75),"補欠","不合格"))



と書くことが可能です。

=IF((A1>70)*(B1>70),IF(C1>80, "合格",IF(C1>75,"補欠","不合格")),"不合格")

と書くことも可能です。

前者は、No2さんの式と同じです。
後者は、NO3さんの式と同じです。
    • good
    • 0
この回答へのお礼

こんばんは
アドバイス有難うございます
ANDでなくても*で表せるのですね。勉強になりました!
有難うございます。

お礼日時:2006/11/13 22:32

>ただしC>75の場合は補欠


この条件が曖昧ですね

A,Bの値に拘わらず、C>75の場合は補欠
=IF(AND(A1>=70,B1>=70,C1>=80),"合格",IF(C1>=75,"補欠","不合格"))

A>70かつB>70かつ、80>C>75の場合は補欠
=IF(AND(A1>=70,B1>=70,),IF(C1>=80,"合格",IF(C1>=75,"補欠","不合格")),"不合格")

但し、条件と式では「 = 」の有無で違いがありますね
ご自身で訂正下さい
    • good
    • 0
この回答へのお礼

こんばんは
アドバイス有難うございます
説明がおかしくて、皆様にご迷惑をかけ、申し訳ないです。やりたいのは後者のほうです。そして「>」ではなく「>=」が正しいです。
そういうわけで後者は答えが合いました。でも、ANDの後、どうしてIFが入るのか分からないのです。うーん、勉強しないと…。

お礼日時:2006/11/13 22:28

こんなのではいかがですかね…


=IF(OR(A<=70,B<=70,C<=75),"不合格",IF(C<=80,"補欠","合格"))
    • good
    • 0
この回答へのお礼

こんばんは
アドバイス有難うございます。
逆転の発想、ですか?ORもまだ学習していなくて、よく分かりませんが、エラーが出てきてしまいました。でも何がエラーなのか、分かりませんでした…(泣)勉強します。

お礼日時:2006/11/13 22:23

◆こんな方法もありますよ


=IF(AND(A1>=70,B1>=70),IF(C1>=80,"合格",IF(C1>=75,"補欠","不合格")),"不合格")
    • good
    • 0
この回答へのお礼

こんばんは
ご回答有難うございます。
確かに入れてみたら正しい答えになりました…が、IF(C1>=80だけANDの外に出すのが良く分かりません。もっと勉強します…。

お礼日時:2006/11/13 22:20

A,B,Cの全てが基準を超えたときだけ合格と解釈しましたので,


こんな式はどうでしょうか。
AがA1,BがB1,CがC1に入力されており,D1に式を入れるとします。

=IF(AND(A1>70,B1>70,C1>80),"合格",IF(C1>75,"補欠","不合格"))

解釈があっているとすれば,これでいいと思いますが,なぜこれで
いいかは,自分で勉強してみてくださいね。
ヒント:「かつ」は通常入れ子にしません。

もう一つのご質問については,現象が確認できず,よくわかりません。
    • good
    • 0
この回答へのお礼

こんばんは
早速ご回答いただき有難うございます。
ちょっと説明が悪くて申し訳ありません。補欠になる条件はAもBも70より大きく、Cが75より大きい場合なので、教えていただいた式だとCが75より大きければAやBはどんな数でも良い、ということになりますよね…?
実はまだANDの使い方については学習しておらず、全く分からないのですが、勉強して色々な式に対応できるようになりたいと思います。

お礼日時:2006/11/13 22:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!