複数ある場合の関数式を使ったExcelの答え表示方法

このQ&Aのポイント
  • Excelの関数を勉強中の方へ、複数ある場合の関数式を使った答え表示方法をご紹介します。
  • 例えば、地震の揺れの強さをIF文やAND文を使って条件分岐させる場合、1~2, 3, 4, 5-, 5+, 6-, 6+や7に分けて表示することができます。
  • 具体的な関数式や条件分岐の方法については、詳細な説明を提供いたします。
回答を見る
  • ベストアンサー

Excelの関数を勉強始めました。複数ある場合は?

はじめてのExcelを使い出して勉強中です。 やっとIFの関数は理解できたのですが、複数ある場合の関数式がよく分かりません。 地震を例として、IF文?AND文?を使って下記のようなものを作りたいと考えています。 0.1~2.4 が入力された場合は、答えに「1~2」を 2.5~3.4 が入力された場合は、答えに「3」を 3.5~4.4 が入力された場合は、答えに「4」を 4.5~4.9 が入力された場合は、答えに「5-」を 5.0~5.4 が入力された場合は、答えに「5+」を 5.5~5.9 が入力された場合は、答えに「6-」を 6.0~6.4 が入力された場合は、答えに「6+」を 6.5~ が入力された場合は、答えに「7」を表示させるには、 どのような関数式を作れば良いのでしょうか。 どうぞ宜しくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

>複数ある場合の関数式がよく分かりません。 エクセルで関数を重ねて使うには,基本的に次の2つの方法があります。 方法1)重ね合わせ方式 =IF(A1="","", IF(A1<=2.4,"1~2", IF(A1<=3.4, 3, IF(A1<=4.4, 4,…,IF(A1<=6.4,"6+",7))) …) といった具合に, A1が空白なら空白 そうでないときA1が2.4以下なら1-2, そうでないときA1が3.4以下なら3 そうでないときA1が4.4以下なら… と,ひたすら「もし~なら,そうでないなら…」と分岐させていきます。 エクセルの関数初心者さんは,まずこうやってひたすら「自分の理解出来るIF関数だけひたすら重ねて」数式を書きたがる傾向があります。ただしエクセルの関数は,こうやって「重ね合わせできる段数」に数の限りがあります。 ご利用のエクセルのバージョンがご相談に明記されていないので具体的な説明は割愛しますが,バージョンによって重ねられる段数は違います。重ねられる段数を超えて関数を重ねようとすると,エラーになります。 方法2)継ぎ足し方式 =IF(AND(0.1<=A1,A1<=2.4),"1~2","") & IF(AND(2.5<=A1,A1<=3.4),3,"") & IF(AND(3.5<=A1,A1<=4.4),4,"") & … &IF(6.5<=A1,7,"") といった具合に, もし0.1~2.4なら「1~2」,それ以外は無言 もし2.5~3.4なら「3」,それ以外は無言 : と,条件限定でコタエを表示させ,それを合体させて最終結果を表示させるやり方でもできます。 この方式は,方法1と違って各分岐について「関数を重ね合わせていない」事を理解してください。重ねてないので,エクセルの関数の重ね合わせの制約に関係なく,必要なだけ継ぎ足していく事が出来ます。 難しい事は何一つしていないとても簡単なやり方ですが,全ての条件を継ぎ足して延々ダラダラと数式を書き連ねていくのはメンドクサイです。 方法3)もっと合理的な関数を使う 既に寄せられている回答のように,対応表を用意してVLOOKUPを利用してみるなど,エクセルには「使えるようになると便利な関数」が沢山用意されています。その一つ一つをここで紹介するのは大変ですしご質問の趣旨でもありませんので,ネットなど活用して適宜調べてみてください。

JET0240
質問者

お礼

今までは重ね合わせ方式でしたが、継ぎ足し方式やVLOOKUPなど、1つの目的でもやり方は複数あるんですね。 非常に勉強になりました。ありがとうございます。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 一例です。 ↓の画像のように表を利用する方法もあります。 画像ではB2セルに =IF(A2="","",VLOOKUP(A2,D:E,2,1)) という数式を入れオートフィルで下へコピーしています。 ※ VLOOKUP関数のTRUE型の方法になります。m(_ _)m

JET0240
質問者

お礼

VLOOKUPを使うと簡単に作れるようになるるんですね。 ありがとうございます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 今仮に、元の数値を入力するセルのセル番号がA1セルであるものとしますと、答えを表示するセルには次の様な関数を入力されると良いと思います。 =IF(A1<0.1,"",LOOKUP(A1,{0.1,2.5,3.5,4.5,5,5.5,6,6.5;"1~2","3","4","5-","5+","6-","6+","7"}))

JET0240
質問者

お礼

,LOOKUPって、あるんですね。 ありがとうございます。

関連するQ&A

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

  • エクセルの複数条件に対する関数について

    皆様初めまして。 エクセルの関数についての質問となります。 以下の複数条件がある場合のIF関数の式がどうしてもわかりません。 申し訳ありませんが、どなたご教授頂けないでしょうか。 条件:目標値の30%以上である場合は”◎”、目標値を達成していれば”○” わかる方なら簡単なのでしょうが、関数に不慣れな私には複数条件となった場合の式がわかりません。 宜しくお願い致します。

  • エクセル IF関数で質問です。

    エクセル IF関数で質問です。 教えてください。下記の式はどういう意味ですか? =IF(I38=0,"",SUM(C38:I38)/$B$38) なかなかIF関数が覚えられません。簡単に理解できる方法はありませんか? IFを入力するときにみなさんはどうイメージしてますか? アドバイスください。

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

    Excelの関数で分からない事があるので教えて下さい。 D9のセルにD9=DATEDIF(D3,E3,"d")という式を設定しています。 D3に2004/5/31、E3に2004/6/30という日付を入力しており、その期間を 計算させる式です。従ってD9の答えは30となります。 この関数自体は問題なく機能しているのですが、DATEDIF(D3,E3,"d")の 1つ1つの意味を教えて頂けないでしょうか。 IF関数の使い方がそもそも理解出来ていません。 質問の意味が分かりにくい場合は補足致しますので言って下さい。 宜しくお願い致します。

  • 一つの数式内に複数の関数!!

    よろしくお願いします。 関数式で一つの式内に複数の式を入れる場合の入力方法ですが、以前のEXCEL95では関数ウイザードがあって その中の文字列を入力する所のボックスの前に≪fx≫の関数ボタンがあって簡単に入力できました。 でも現在Excel2002ではそのボタンが見当たりません。直接入力するしかないのでしょうか? 是非教えてください。 =IF(A4>89,"A",IF(A4>79,"B", IF(A4>69,"C",IF(A4>59,"D","F")))) 上のような式を入力したいのですが。。。。

  • エクセルの複数条件関数

    エクセル関数の複数条件について初歩的な質問だと思うのですが、どうか関数式を教えていただけないでしょうか? IF関数でできるのではないか?と思ったのですが、うまくいかずうまくいく関数式を教えていただければ助かります。 ・AD列は作業担当者になりATSかPCTSDを選択できる(ここは既存で設定済み)<例>=IF(B21=1,VLOOKUP(Y21,作業担当!$A$2:$B$30,2,FALSE),0) ・AE列は分類コードで100/200/400のどれかが表示されるようになる(ここは設定済み)<例>=IF(B21=1,VLOOPLUP(J21,分類!$A$2:$B$8,2,FALSE),0) ・AF列はATS onlyとして<例>(AD21="ATS",AE21,"")と入力している。ここも設定済み。ATS only列はPCTSDであれば空白になるようにしている。 ・AG列はATS 100 to 500で以下のような条件式にしたいです。ここがうまくいっていません。AD列がATSでAE列が200であれば500、AD列がATSでAE列が100であれば300、AD列がPCTSDでAE列が100/200/400であれば空白にしたいです。 ・AG列の結果をもってAH列のファイナル分類コードに引き継ぎたいです。既に設定済みで<例>=IF(AG39="",AE39,AE39)としています。 AG列の条件を満たす関数式を教えていただけないでしょうか? よろしくお願いいたします。

  • EXCELのIF関数 複数の条件と複数の結果

    初心者ですすみません。 IF関数で、複数の条件の入れ方はなんとなく わかりました。(ANDを使えばいいんですよね?) 今回、条件も結果も複数ある式を作りたいのですが、 どういう式にしたらよいのでしょうか?? 例えば、もしA2の答えがマイナスで、且つA1の答えが整数だったら、C2*D2、A2が整数で、A1がマイナスだったら、c2-D2、A2が整数で、A1がマイナスだったら、C2*D2のような感じです。

  • excelのand関数、IF関数について

    エクセルのand関数、IF関数について質問です。 非常に簡単なことで申し訳ないのですが、仮にセルA2が5でかつセルB2が0の時にtrueとしたいときの関数は=and(A2=5,B2=0)であっているでしょうか。また、これをIFの関数で表す場合、=IF(A2=5,IF(B2=0,1,0),0)で同じ意味になるでしょうか?(IFの方は条件を満たす場合を1、満たしていない場合を0としたつもりです) ANDの方の関数は、多分合っていると思うのですが…。エクセルに入力しても、正しい結果が得られなかったので、質問させていただきました。初心者です。つまらない質問で申し訳ないのですが、よろしくお願いします。 

  • if関数とAND関数の使い方

    エクセルのif関数とANDをつかって複数条件を設定したいのですが、上手く行かずに困っています。 D13のセルの値が以下の場合 29以下なら”1” 30以上34以下なら”2” 35以上39以下なら”3" 40以上44以下なら"4" 45以上なら"5" そこで、次のように式を作ってみたのですが、 「この関数に対して多すぎる引用が入力されています。」とエラーがでてしまいます。 どなたか、お詳しい方、教えていただけたら幸いです。 お願い致します。 =IF(IF(D13<=45,"5"),AND(D13>=40,D13<=44),"4",IF(AND(D13>=35,D13<39),"3",IF(AND(D13>=30,D13<34),"2",IF(D13>=29,"1")))))

  • これはエクセルのIF関数を使ってできますか?

    こんばんは。 エクセルで悩んでいます。 A列に、"大学"・"高校"をオートフィルタで選べるようにして、 B列に、大学なら1~4の数字、高校なら1~3の数字を入力します。 そして、C列に、A1="大学"かつB1=1なら30(ポイント)、         A1="大学"かつB1=2なら40、         A1="高校"かつB1=1なら20、         それ以外は空白 というような自動計算式を作りたいと考えています。 この場合、IF関数とAND関数で作成すればできますでしょうか。下記のような式を作成しましたが、うまくいきません。 =IF(AND(A1="大学",1),30,IF(AND(A1="大学",2),40,IF(AND(A1="高校",1),20,""))) 説明が下手で申し訳ありませんが、 なんとかアドバイスいただければ幸いです。 よろしくお願いします。

専門家に質問してみよう