エクセル if 複数。 エクセルIF関数でネスト(入れ子)して複数条件を指定する方法

複数分岐もIF関数

エクセル if 複数

ここで意味が分からない方も安心してください。 進んでいけばすぐに分かるようになります。 では実際に画像を見ながら、書き方と内容を確認していきましょう。 まずは以下の図をご覧ください。 結果列に式をいれ、値列の条件をもとに「OK」か「NG」を表示します。 この場合IF関数の式は以下のような内容になります。 1の場合、値が「真」のため結果には「OK」が表示されます。 続けてNo. 2の結果に式をいれてみます。 1の結果に「OK」が入りました。 同じようにNo. 2の結果列に式を書きます。 2の場合、値が「偽」のため結果のセルには「NG」が表示されます。 3以降も同様に式をいれた場合どのような結果が返ってくるでしょうか。 C列にD列の式が入っています。 3以降に値が「真」の行はないため、全て結果は「NG」が表示されました。 IF関数の基本的な書き方は以上です。 書き方は意外と簡単だったのでは? 実際にエクセルで使ってみると、すぐに覚えられると思います。 何度か使ってみて基本の形を覚えてしまいましょう。 」と表示されエラーとなります。 必ず文字列(ひらがな、カタカナ、漢字、アルファベット、記号など、数値でない文字)はダブルクォーテーションで囲んでください。 1-2. どんな風に使える? ではIF関数の基本的な使い方を、実際のビジネスシーンで遭遇しそうな例を用いてご紹介します。 (例1)従業員が在職している場合、在職フラグ列に「1」を表示したい。 例1の場合、退職日が入力されていないかどうかを条件に、在職フラグを判定しています。 「もし退職日が空白ならば、『1』を表示し、空白でないならば『0』を表示する」という内容です。 (フラグは数値のため、式内の結果の「1」「0」にダブルクォーテーションは必要ありません。 ダブルクォーテーションを連続で入力することで、セルに文字がない(空白である)ことを表します。 (例2)発注個数が0個の場合、合計計算はせずにハイフン - を表示したい。 例2の場合、個数の数値をもとに合計を判定しています。 複数条件の書き方を覚えよう IF関数の基本的な使い方はご理解いただけたでしょうか。 実際のビジネスシーンでは、上記の例のような簡単な式ではカバーできないことのほうが多いかもしれません。 ここからはIF関数の複雑な条件指定の方法を解説します。 2-1. たとえば「もしAがBで、かつCがDならば」というような条件を書きたい場合、AND関数を使います。 このようにこれら3つの関数は、条件が2つ以上ある場合に使用される関数です。 2-1-1. AND関数 AND関数は「AかつB」を行う関数で、IF関数内では以下のように書きます。 ポイントはAND関数の条件が全て真であるならば真の結果を返すということ。 AND関数の条件が1つでも偽であれば偽の結果が返ります。 たとえば上記で使用した例1の場合、鈴木Eさんは入社していないのに在職フラグが「1」となっています。 これでは在職フラグが正しいとは言えません。 F列の式では条件が不十分のため、AND関数を使用して条件を追加して正しい結果を導きます。 この場合「入社日が空白でなければ」という情報を式に加える必要があります。 「もし入社日が空白でない かつ 退職日が空白ならば、『1』を表示し、空白でないならば『0』を表示する」という内容になりました。 これを他の行にも適用すると以下の図のようになります。 鈴木Eさんは在職フラグが「0」となり、他の従業員は入社日が入力されているため在職フラグに変化はありません。 このようにAND関数は条件を「かつ」でつなげていきます。 また関数内はAND 条件1, 条件2, 条件3, 条件4… というように、カンマで区切っていく限り2つ以上つなげることが可能です。 2-1-2. OR関数 OR関数は「AまたはB」を行う関数で、IF関数内では以下のように書きます。 ポイントはOR関数の条件のいずれかが真であるならば真の結果を返すということ。 例2を「種別列がAまたは個数が11個以上場合にのみ合計を表示し、それ以外の場合はハイフンを表示する」ように修正してみましょう。 種別列が「A」でなく、また個数が11個以上ではない品目は「みかん」の行だけです。 期待する結果はこの行の合計列だけがハイフンになることです。 この場合「種別がAでないならば」という情報の追加と、「個数が11個以上(10より多い)」という情報の修正を式に加える必要があります。 これを他の行にも適用すると以下の図のようになります。 みかんは合計がハイフンとなり、もともと個数が0個のさくらんぼ以外、他の行は条件のいずれかに該当するため合計の変化はありません。 このようにOR関数は条件を「または」でつなげていきます。 AND関数と同様に関数内はOR 条件1, 条件2, 条件3, 条件4… というように、カンマで区切っていく限り2つ以上つなげることが可能です。 2-1-3. NOT関数 NOT関数はAND関数やOR関数とは異なり条件の否定を行う関数で、IF関数内では以下のように書きます。 ポイントはNOT関数の条件が偽であれば真の結果を返すということ。 条件の前に関数名を書き、カッコ内に条件を書くという形はAND関数、OR関数と同じですが、NOT関数は複数の条件を判定することはできません。 たとえばこの記事の冒頭で使用した以下の図にNOT関数を組み込んでみましょう。 「もし値が『真』でないならば、『OK』を表示し、そうでなければ『NG』を表示する」という内容になりました。 これを他の行にも適用すると以下の図のようになります。 NOT関数を条件に組み込むと、結果が反転しました。 このようにNOT関数は条件を否定します。 繰り返しになりますが、AND関数やOR関数と異なり、関数内に含むことができる条件は1つだけです。 2-2. 入れ子の書き方 では次に、IF関数内にIF関数を組み込む「入れ子」を解説します。 入れ子は真と偽の2つだけではなく、それ以上の結果を返すことができます。 この書き方を覚えるとIF関数の幅がぐっと広がります。 入れ子は以下のように書きます。 たとえば以下の表の所属をもとに、A部門なら区分A、B部門なら区分B、C部門なら区分Cをいれたい場合、区分は3種類の結果が返る式を書く必要があります。 書き方は数通りありますが、ここでは単純に「A部門なら区分に『A』、B部門なら区分に『B』、C部門なら区分に『C』を返す」式を作成します。 「もし所属が『A部門』ならば『A』を表示し、さらに所属が『B部門』ならば『B』を表示し、それ以外は『C』を表示する」という内容です。 これを他の行にも適用すると以下の図のようになります。 区分がしっかり判定されていますね。 このようにIF関数の入れ子を駆使することによって、多様な結果を得ることができます。 2-3. IF関数の複数条件で使われる関数はご理解いただけたでしょうか。 これらを組み合わせると複雑な条件もひとつの式で表すことが可能となります。 たとえば以下の図に売値列に、以下の4点を含ませた1つの式を入れます。 もし種別が『A』かつ個数が51個以上(50個より多い)ならば、合計の1. 2倍を表示する。 もし種別が『B』または『C』で、なおかつ個数が11個以上(10個より多い)ならば、合計の1. 5倍を表示する。 合計がハイフンではないならば、合計の2倍を表示する。 それ以外は合計を表示する。 2(真の結果1)を表示する。 5(真の結果2)を表示する。 このように複雑な複数条件のIF関数も一つずつみていくと、4つのIFがつながっているだけです。 複数のIF関数を一つにまとめることも難しく感じる場合は、実現したいことをまず分割して考え、最後に1つの式にまとめていけば、あっという間に式が完成するでしょう。 ポイントとしては偽の結果がなく、式は前から判定されていくため順番に気を付けることです。 優先される結果から順に書いていきましょう。 実際に式を作成してみましょう。 以下の図の結果列に、値を元に番号が振られるよう式を入力しました。 5行目の値は「A」です。 式に当てはまる条件は2つあります。 式の最後2つが当てはまりますが、結果には「4」と表示されています。 つまり判定は前から行われ、結果が返った場合は次の条件は判定されません。 そのため優先する結果を先に書いていく必要があります。 また6行目を見ていただくと、結果にエラーが表示されています。 これは値の「〇」が式内の条件に当てはまらないためです。 このようにIFS関数はIF関数の入れ子よりも簡単に複数の条件と結果を得ることができます。 条件と順番に気を付ければとても便利な関数です。 3-2. IFS関数の使えるエクセルバージョン IFS関数が使用できるエクセルのバージョンは限定されており、以下のエクセルバージョンのみ使用が可能です。

次の

【Excel】複雑なIF関数の数式とサヨナラ!エクセルでより簡単に複数条件の分岐を作れる新関数“SWITCH”を使いこなす

エクセル if 複数

注意点 お気づきかもしれませんが、 入れ子にすることで3つどころか、4つ、5つと処理を分けることが出来ます。 だからと言ってたくさん入れ子をすると、後で見返した時に処理の内容が分からなくなります。 私もこの方法を覚えたときは、調子に乗ってネストしまくりました。 )笑 そして、参照するセルが増えたのでIF関数の中身を修正しようとしたんですが、10個ほど入れ子にしていたので 数式を読み解くのに30分ほど時間がかかりました。 今思い返すと、他の数式で対応できた内容でした。 できれば、入れ子は3つ程度で収めるのがベターかと思います。 IF関数って、範囲指定はできないの? 実は、他の関数を組み合わせることで範囲指定もできます。 例えば、50点から70点の間はBランクといった判定ができるようになります。 関連記事: IF関数以外にもExcelの便利ワザを知りたいアナタへ よろしければ、こちらもどうぞ どうも、マサヤ@プログラム勉強中です! メイン記事はプログラムですが、楽しく生きていくための学びや料理など、色々好きなこと書いてます。 場所・時間に縛られず、好きに生たい。 それを実現するためエンジニアを目指すブログです。 by ニーバーの祈り タグ一覧.

次の

エクセルIF関数とVLOOKUP関数で検索する方法!複数範囲から検索

エクセル if 複数

IF関数&IS関数の使い方:Excel関数• IF関数&IS関数• 条件判定(IF関数 および複数条件を設定する時のAND関数、OR関数の使い方、セルや数式の状態を調べるIS関数の説明をしています。 補足 IF 関数は最大 7 つまで組み合わせることができます。 それを超える場合には他の関数を使って処理します。 【問題】国語の得点が60以上であれば[合格]、そうでなければ[不合格]と判定の列Dに表示しなさい。 B C D 2 国語 判定 3 相沢恭子 80 合格 4 今田浩次 50 不合格 5 上田美香 30 不合格 6 江口恭介 70 合格• 得点欄が空白の 入力されていない)場合にはD3セルに[不合格]と表示されてしまいます。 それを防ぐのに IF関数を使います。 を使う方法もあります。 」との意味合いで、IF関数を2重で使用しています。 を使うこともできます。 【文字列の比較】• 【問題2】 C列に正解であったら「OK」と入力して、得点「25」を与えたいと思います。 ところが入力ミスで「Ok」、「oK」とも入力されています。 D列の得点を表示する式を入れなさい。 大文字と小文字の区別をしたい時はどうすればよいでしょうか? 上の表で合計得点を25とするには?• EXACT関数を使います。 英字の大文字と小文字は区別されます。• 時刻の比較は小数誤差によってうまく処理されないことがあります。 TIMEVALUE関数でシリアル値に変換する• 時刻のシリアル値 小数値 を整数に直して比較する など、小数誤差の影響を受けないようにする必要があります。 C3セルは、右辺をTIMEVALUE "9:00" で シリアル値にしていますので、同じ値と判定されます。 C4セルも同様にTIME 9,0,0 として シリアル値での比較にしていますので、同じ値と判定されます。 こうすることで小数誤差の影響を排除することができます。 【問題1】 国語と算数の両方が60以上の場合に[合格]それ以外は[不合格]としなさい。 B C D E 2 国語 算数 判定 3 相沢恭子 80 85 合格 4 今田浩次 60 90 合格 5 上田美香 30 40 不合格 6 江口恭介 70 50 不合格• 【解答例1】• 【問題2】 国語か算数のどちらかが60以下であれば[不合格]そうでなければ[合格]と表示しなさい。 B C D E 2 国語 算数 判定 3 相沢恭子 80 85 合格 4 今田浩次 60 90 不合格 5 上田美香 30 40 不合格 6 江口恭介 70 50 不合格• 上の数式を解釈すると、『400で割り切れるか、あるいは、4で割り切れて100で割り切れない場合には「うるう年」そうでない場合は「平年」としなさい』となります。 数式は Microsoft サポート技術情報 [XL] うるう年を判定する方法 を利用しています。 【参考】• 原因は、Microsoft サポート技術情報を参照願います。 microsoft. 、 REF! 、 NUM! 、 NAME? または NULL! のいずれか• となります。 エラー表示をなくすためにIF関数とISERROR関数を組み合わせて使います。 」となります。 IFERROR関数がExcel2007で追加されています。 これらの関数では簡易な数式でエラー処理ができるようになっています。 詳細は をご覧ください。 イズブランク テストの対象 テストの対象が空白セルを参照するとき TRUE を返します。 ISBLANK関数を使って空白の判定をすると、下記のようにOR関数と組み合わせて使います。 【注意】ISBLANK関数で空白の判定ができない例• ISBLANK関数はIF関数などで空白 "" を返しているセルに対しては「FALSE」となります。 その他のIS関数• 、 REF! 、 NUM! 、 NAME? または NULL! のいずれか を参照するとき TRUE を返します。 ISBLANK 対象が 空白セルを参照するとき TRUE を返します。 ISLOGICAL 対象が 論理値を参照するとき TRUE を返します。 ISNONTEXT 対象が 文字列でない項目を参照するとき TRUE を返します 対象が空白セルを参照するときも TRUE になりますので注意してください。 ISNUMBER 対象が 数値を参照するとき TRUE を返します。 ISREF 対象が セル範囲を参照するとき TRUE を返します。 ISTEXT 対象が 文字列を参照するとき TRUE を返します。 次の戻り値になります。 などのエラー値 エラー値 その他 0• 例 計算式の中で文字列になる可能性があるセルを使用する場合。 四則演算で文字列が有るとエラーになるのを、文字列は「0」とみなして計算します。 折れ線グラフで値が「0」を無視したい時に使います。 【例】品目3の売上金額 B4 が「0」になっています。 データの方を変更します。 セル範囲を入力した場合は左上端のセルについての情報が表示されます。 検査の種類• 検査の種類には「"」 二重引用符、ダブルクォーテーションマーク で括った文字列を使用します。 検査の種類 戻り値 "address" 対象範囲の左上隅にあるセル番地を表す文字列を返します。 "col" 対象範囲の左上隅にあるセルの列番号を返します。 "color" 負の数を色で表す書式がセルに設定されている場合は 1、それ以外の場合は 0を返します。 "contents" 対象範囲の左上隅にあるセルの内容を返します。 "filename" 対象範囲を含むファイルの名前 絶対パス名 を表す文字列を返します。 対象範囲を含むファイルがまだ保存されていない場合、結果は空白文字列 " になります。 "format" セルの表示形式に対応する文字列定数を返します。 "parentheses" 正の数またはすべての値をかっこで囲む書式がセルに設定されている場合は 1、それ以外の場合は 0を返します。 "prefix" セルに入力されている文字列の配置に対応する文字列定数を返します。 "protect" セルがロックされていない場合は 0、ロックされている場合は 1を返します。 "row" 対象範囲の左上隅にあるセルの行番号を返します。 "type" セルに含まれるデータのタイプに対応する文字列定数を返します。 セルが空白の場合は "b" Blank の頭文字 セルに文字列定数が入力されている場合は "l" Label の頭文字 そのほかの値が入力されている場合は "v" Value の頭文字 になります。 "width" 小数点以下を切り捨てた整数のセル幅を返します。 セル幅の単位は、標準のフォント サイズの 1 文字の幅と等しくなります。 【使用例】以下の返される値の例は使用環境により異なります。 あくまでも私の使っているPC及び環境での表示例です。 A1が対象ですのでA列つまり1が返されます。 A1セルに「文字」と入力されていると、「文字」が返ります。 空白セルだと「0」が返されます。 xls]Sheet2 が返りました。 ファイル名およびシート名までが返されました。 なお、ファイルが保存されていないときは空白「""」が返ります。 セルの表示形式に対応する文字列定数を返します。 00 F2 , 0. 00;- , 0. 00 ",2" , 0. 00;[赤]- , 0. または?? G ge. 0 ;[赤] 0 のように正の数をかっこで囲む表示形式が設定されていると「1」を返す。 左揃えなどの設定に応じて一重引用符 ' などが返されます。 セルがロックされていたら「1」が返ります。 ロックされていないときは「0」となります。 シートの保護は関係ありません。 セルの行番号が返ります。 この場合は「1」となります。 セルに文字列が入力されていたら「l」(LabelのL エル の小文字、空白の時は「b」、数値などの場合は「v」となります。 セル幅の整数値を返します。 標準のフォント サイズの 1 文字の幅が1となります。 Excel2003以前では最大7個となっていましたが、Excel2007,Excel2010では64個となっています。 IF関数で多くの条件を使うことが可能にはなったのですが、数式の可読性が悪くなります。 多くの条件で分けたい場合は、リストを作成するなどしてLOOKUP関数、VLOOKUP関数、HLOOKUP関数を使うことをお勧めします。 ネスト 入れ子 の一例としては以下のような数式が挙げられます。 逆に真の場合に入れることもできますが、ちょっと理解しづらいかもしれません。 こちらも ご覧ください。 練習1• 条件の付け方によって数式はいろいろなものができます。 ここでは、得点の低い方から順番に処理してみます。 なお、空白の処理を最後に持ってくると、以下のように書くこともできます。 各区分ごとに判定すると考えると・・・• なお、CHOOSE関数のインデックスには、1〜254の数値、または1〜254 の数値を返す数式またはセル参照を指定することができます。 IF関数でのネストして作成する例とCHOOSE関数で作成した例で違いを見てみます。 問題例:A1セルの値が「1のときはAを表示、2のときはBを表示、3のときはCを表示、4のときはDを表示する。 それ以外はXを表示する」• しかし、CHOOSE関数では「それ以外はXを表示する」といった処理ができませんので、この部分はIF関数を利用します。 問題2• 得点が80以上は5、70以上は4、60以上は3、40以上は2、それ以外は1 と5段階表示したい。 B C D 2 名前 得点 評価 3 井上 80 5 4 上野 54 2 5 内田 30 1 6 榎田 51 2 7 岡本 77 4 8 大野 60 3• IF関数での解答例• 論理和を使って求めることができます。 LOOKUP関数で求めることもできます。 VLOOKUP関数で求めることもできます。 MATCH関数で求めることもできます。 5段階評価で1〜5と数値を返す例でしたので、上記のようにシンプルな数式になりました。 では、返す値が文字列であったら? A,B,C,D,Eの文字列で評価することにします。 B C D 2 名前 得点 評価 3 井上 80 A 4 上野 54 D 5 内田 30 E 6 榎田 51 D 7 岡本 77 B 8 大野 60 C• IF関数での解答例• 論理和を使って求めることができます。 LOOKUP関数で求めることもできます。 VLOOKUP関数で求めることもできます。 INDEX関数とMATCH関数で求めることもできます。

次の