• ベストアンサー

Excelの関数について教えて下さい

Excel97を使っています。 例えば、10人の生徒がいるとして、 A1~A10 10人の名前 B1~B10 テスト1の結果(点数) C1~C10 テスト2の結果(点数) という表があったとします。 で、<問題その1>が、 「IF関数を2つ使って、次の2つの条件に該当する場合はD列に「合格」と表示しなさい。」 条件「テスト1の結果が30点以上」    「テスト2の結果が40点以上」 ・2つの条件が該当する場合:「合格」と表示 ・2つの条件が1つでも該当しない場合:非表示(空白のまま) <問題その2>が、 ひとつのIF関数で<問題その1>と同じように表示させるようになっています。 (IF関数の論理式にAND関数を使う、というヒントがあります。) で、<その2>の方は分かったのですが、 <その1>の「IF関数を2つ使って~」というのが分かりませんでした。 どなたか教えていただけませんか? それと、複数の関数を組み合わせる場合、 関数ごとに関数の挿入ボックス(?)を使ってやると、 「関数+関数」という数式になってエラーが出ます。 「関数,関数」という風にするにはどうしたらいいのでしょうか? (分からないので手で入力しているのですが・・・) こんな説明で質問の意味が伝わるかどうか不安ですが・・・ どうかよろしくお願い致します。

  • sarnin
  • お礼率98% (169/172)

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

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

まず、ひとつの条件分岐を行い、該当する結果に対してもう一度条件分岐を行います。 IF… ・テスト1の結果が30点以上ならば => 更に条件分岐   IF…    ・テスト2の結果が40点以上 => ”合格”を表示    ・テスト2の結果が40点未満 => 空白を表示 ・テスト1の結果が30点未満 => 空白を表示 式にするとD1のセルはこうなります。 =IF(B1>=30,IF(C1>=40,"合格",""),"")

sarnin
質問者

お礼

返事が遅くなり申し訳ありません。 お礼は最後の方へまとめて書かせていただきます。

その他の回答 (6)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.7

<関数のネストの操作による指定について> 直接入力の方がずっと簡単ですが、下記やって見ました。 ツールバーのFxのアイコンをクリック =となる。 (関数の種類)論理をクリック 関数名IFをクリック OKをクリック 関数ボックスが出る 論理式のところにカーソルを置いてB1セルをクリック =2を入力 真の場合をタブで飛ばす(ここがミソ) 偽の場合に2と入れる OK 数式バーの=IF()の()内の第1引数(,,の真中) をマウスでクリック FXアイコンをクリック (関数の種類)論理をクリック 関数名IFをクリック OKをクリック A1をクリック =1を入力 真の場合に2を入力 偽の場合に3を入力 OKをクリック ---- OKを押して間違った部分に気づいたとき IFの部分にカーソルを置いて関数名IF関数を指定すると関数ボックスが現状の内容で出ます。

sarnin
質問者

お礼

みなさん、回答ありがとうございました。 =IF(B1>=30,IF(C1>=40,"合格",""),"") という式で出来ました。 私はすごく悩んでも分からなかったんですが、すぐに答えていただいて感動しました。 まだ何となくしか理解できてないんですが、もうちょっと勉強しようと思います。 あと、複数の関数の組み合わせはみなさんも直接入力でやってたんですね。 (自分が知らないだけかと思ってました。) でもこちらもやり方を書いていただいた方がいるので、勉強してみます。 ありがとうございました!

  • Mozisan
  • ベストアンサー率43% (130/299)
回答No.6

IF関数を二つ使う=ネストするという設問なのでしょう。もう、回答がありますが、 =IF(B1>=30,IF(C1>=40,"合格",""),"") という式を求められているのでは? 関数のネストは、私も直接入力しているので使ったことはありませんでしたが、関数入力中にカイル君が「ほかの関数の結果を引数として使用する」を表示していましたよ。 例えば、関数ウィザードを使いIF関数入力すると「名前ボックス」(数式バーの左の部分)に「IF」と表示されますね。どれかのテキストボックス内でカーソルを点滅させて、名前ボックス右の▼ボタンをクリックすると関数リストが表示されます。リストから関数を選ぶと、選んだ関数の数式パレットに変わるので、そのまま引数を設定すればよいようです。 おかげさまで、一つ賢くなりました。

sarnin
質問者

お礼

返事が遅くなり申し訳ありません。 お礼は最後の方へまとめて書かせていただきます。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.4

あ、失礼。 ANDは 使わずにでしたね。 if(C1>=40,"合格","") これで ひとつの条件となります。 if(B1>=30,ここに上記の条件を入れる,"") とすればいいですね。

sarnin
質問者

お礼

返事が遅くなり申し訳ありません。 お礼は最後の方へまとめて書かせていただきます。

  • yomo3
  • ベストアンサー率32% (88/269)
回答No.3

こんばんは。 まず最初に、 >(分からないので手で入力しているのですが・・・) これは、これで正解です。 多分、みんなそうしています。 その1の答えは、多分、入れ子です。 =if(B1>=30,if(C1>=40,合格,),) ってな感じだと思います。

sarnin
質問者

お礼

返事が遅くなり申し訳ありません。 お礼は最後の方へまとめて書かせていただきます。

回答No.2

IF文でテスト1の結果が真のところにテスト2の結果が真のとき合格と表示させる仕組みにすればいいのではないでしょうか。 例えばこんな感じです。 IF(B1>=30,IF(C1>=40,"合格",""),"")

sarnin
質問者

お礼

返事が遅くなり申し訳ありません。 お礼は最後の方へまとめて書かせていただきます。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

=IF(AND(B1>=30,C1>=40),"合格","") としたらいいでしょう。

sarnin
質問者

お礼

返事が遅くなり申し訳ありません。 お礼は最後の方へまとめて書かせていただきます。

関連するQ&A

  • 【エクセル】if関数 or条件に関して

    エクセル初心者です。 A列を検索条件とし B列から検索 一つでも該当がある場合にはCにチェックを入れる (もしくは該当セルの色を変える等) という関数を作りたいと思っています。 IF関数を使って試しに作ってみました。 =IF(OR($A$1=$B$1:$B$26,$A$2=$B$1:$B$26,$A$3=$B$1:$B$26),"○","×") ※結果は画像を参照お願い致します。 A列の(a,f,m)という文字列を条件としてB列を検索し、一つでも該当する場合には C列に○を、該当しない場合は×をつける。 検索条件を(A1,A2,A3)と3つだけの場合はこちらで対応出来るのですが、 本来やりたいものは、 (A列)検索条件が100個以上、 (B列)検索をかける対象も1000個以上といったものをやりたいので (A1,A2,A3・・)を手打ちだとものすごく時間がかかってしまいます。 なので、文字列の条件を簡単に範囲指定(複数指定)出来るような書き方があれば 教えて頂きたいと思い質問をさせて頂きました。 また、以下のIF文を最初に思いついたのですが、 こちらは書き方が間違っているようで、「!」が出てしまいました。 =IF($A$1:$A$3=$B$1:$B$26,"○","×") 自分ではなにがいけないのかがわからなかったので、 出来ればこちらの関数の矛盾点も指摘して頂きたいです。 関数の単語だけでも、なにかヒントを頂きたいと思っています。 よろしくお願いします。

  • エクセルでIFとANDを使った関数について教えて下さい

    A B C D E F G 1 1 2 3 結果 2/3 2/4 2/5 2 2/3 2/4 2/5 合格 0 0 1 3 上記のような表を作成しようとしています。条件が、 D1が「合格」で、 C2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じなら「1」、 違うなら「0」、 B2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」なら「1」、違うなら「0」、 A2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」で、B2が「空欄」なら「1」、違うなら「0」 を返しなさい。 という関数を作りたいのですが、上手くいきません。 IFとANDを使えばいいと思うのですが、どのように組み合わせれば 良いでしょうか。 真を返す、優先順位は、C2、B2、A2、のセルです。 C2に日付が入ってるときはB2とA2に日付が入っていても カウントされないように(偽が入るように)したいのです。 ちなみに、最初は、 =IF($D2="合格",IF($C2=E$1,1,IF($B2=E$1,1,IF($A2=E$1,1,0))),0) と、入れてましたが、これだと、C2に日付が入った時にC2だけカウント したいのに、B2もA2もカウントされてしまいます。 どうか、良きアドバイスをお願いします!!

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

     こんにちわ。仕事で成績の評価表の作成をしたくて、エクセルで表を作成しました。    表は、  Aのセル・・・氏名 Bのセル・・・テストの点数 Cのセルが平常点          Dのセル・・・BとCのセルを合計した合計点数          Eのセル・・・成績評価  Fのセル・・・合計点数による順位    という表を作成しました。    Eのセルに Dのセルの合計点数を基準として 5段階の評価をつけたい。    条件が、 85点以上が5、60点以上が4、50点以上が3、35以上が2、1~34点までが1    =IF の関数 =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とかで作った方がいいのか?(できれば使いたくないのですが。)

  • IF関数についておしえてください。

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • エクセルの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,・・・・)って感じです。こんな方法しか無いでしょうか?

  • EXCELの関数で・・・

    受験者の試験の点数がセルに入力されています。 A列にA試験の点数が B列にB試験の点数が C列にC試験の点数が 入っています。 A試験が35点以上なおかつ、B試験が35点以上なおかつ、C試験が70点以上であるの人の数を数えるにはどういった式を入力すればよろしいのでしょうか? COUNTIF関数を使うのだと思うのですが、条件を組合すことがうまくできず困っています。 分かる方教えてください。よろしくお願いします。

  • EXCELのIF関数の結果の表示

    IF関数で、セルに「=IF(A1>=0.8,"合格",IF(A1>=0.6,"A",IF(A1>=0.3,"B","C")))」と入力してあります。 Windows2000上のExcel2000ではきちんと結果が表示されるのですが、 Windows98上のExcel2000ではきちんと結果が表示されず、セルに「ll」と表示されてしまいます。これをきちんと表示させるには、どうしたらいいでしょうか?

  • EXCELの関数の書き方

    A1,B1,C1に数値(1~)が入っていて、 D1に結果”○”及び”×”を表示したいです。 結果が”○”の条件としましては、 A1,B1,C1のどこかにそれぞれ1、2、3が 入っていた場合です。 A1~A3の内容がそれぞれ 1,2,3 1、3、2 2、1、3 2、3、1 3,1、2 3,2、1  になった場合になります。(○) 1、2、4 3、4、1  とかは対象外になります。(×) 同じ数字は入りません。 足して6になればよいとは思うのですが、 今後汎用的に使用したい為に関数で書きたいです。 どうやって書けばよいのでしょうか? COBOLで書くとこうなると思います。 (すいませんコボラーです) IF A1=1 OR 2 OR 3 AND B1=1 OR 2 OR 3 AND C1=1 OR 2 OR 3 THEN MOVE "○" TO D1 ELSE MOVE "×" TO D1 END-IF. よろしくお願い致します。

  • FilemakerのIF関数の関数式

    FilemakerのIF関数の正しい関数式の作り方について教えてください。 Aが、「BまたはC」の条件を満たす場合は45を、満たさない場合は60を表示させるIF関数として、以下の関数式を作成・入力しましたが、うまく結果が出ません。どこが間違っているのか教えてください。困ってます(T-T) ちなみにB、Cは全角文字という想定で“”をつけています。 If ( A=”B” or “C”; 45; 60 )

専門家に質問してみよう