- 締切済み
if関数について教えてください。 空欄は空欄で返す
成績の振り分けです。これまでの回答から、80点以上A、70から79はB、60から69はC、60点以下はD、と下記の関数でどうにか振り分けることができました。 しかし、データが入力していない空欄に「D」とでます。Dがでないようにしたいのですが、その方法を教えてください。 また、もっとシンプルな方法がありましたらそちらも教えてください。よろしくおねがいします。 =IF(AF5>=80,"A",IF(AF5>=70,"B",IF(AF5>=60,"C",IF(AF5<60,"D",""))))
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
質問の意味が途中から、下記のどちらか、はっきりしない。 (1)IF関数以外で振り分けしたいと言う点を聞きたいのか VLOOKUP関数で出来る. Googleででも、「エクセル VLOOKUP TRUE型」で照会すれば沢山記事がある。 仕事からみでエクセル関数を使うのにVLOOKUP関数を知らないのは、エクセル関数の一括した解説書などを読んでない証拠で、勉強不測。 (2)Dがでないようにしたいのですが これなら常識。ここのエクセル関数の質問と回答を少数なりと読んでもいないのだね。 =IF(AF5="","",・・・)を最初のほうに付け加えれば仕舞い。
- KURUMITO
- ベストアンサー率42% (1835/4283)
点数の区分けの条件が多くなっても対応できる方法はVLOOKUP関数を使う方法です。 例えばシート1にデータがあるとして区分けの条件をデータベースとしてシート2に表として作成します。 シート2のA1セルには0、A2セルには60、A3セルには70、A4セルには80と入力し、B1セルにはD、B2セルにはC、B3セルにはB、B4セルにはAと入力します。 シート1のB2セルから下方に点数が入力されるとすればC2セルには次の式を入力して下方にオートフィルドラッグコピーすればよいでしょう。 =IF(B2="","",VLOOKUP(B2,Sheet2!A:B,2,TRUE)) 上記のような方法はエクセルを取り扱う上ではぜひとも覚えておきたい方法です。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 なるべく、IF文のネストは2ぐらいまでにしないとすっきりしませんし、 後々の変更が煩わしいでのでLOOKUPとかVLOOKUP関数による照合が 良いと思います。 LOOKUP関数例です。 =LOOKUP(AF5,{0,1,60,70,80},{"","D","C","B","A"})
- tom04
- ベストアンサー率49% (2537/5117)
- KURUMITO
- ベストアンサー率42% (1835/4283)
次のような式で良いでしょう。 =IF(AF5>=80,"A",IF(AF5>=70,"B",IF(AF5>=60,"C",IF(AND(AF5<>"",AF5<60),"D",""))))
- LA_keyman
- ベストアンサー率25% (163/627)
こんにちは。 =IF(AF5="","",IF(AF5>=80,"A",IF(AF5>=70,"B",IF(AF5>=60,"C",IF(AF5<60,"D",""))))) 最初に「スペースだったらスペースのまま」を追加すればOKです。
お礼
早速、教えて頂きありがとうございます。できました。 最初に「スペースだったらスペースのまま」を追加すれば良いのですね。今の考えの延長線上なので理解しやすいです。ありがとうございます。
補足
早速、回答して頂きありがとうございます。 if関数だけでは長くなるので、AND関数の使い方を教えて頂きうれしいです。ありがとうございます。もう少し、教えてほしいのですが、ANDのあとの「<>」はどのような意味になりますか。重ねて質問してすみませんが、よろしければ教えていただけますか。