IF関数の中に関数を入れる方法を5選ご紹介します。
IF関数と別の関数を組み合わせることによって細かい条件指定ができるようになります。
この記事で学べること
・簡単な条件指定ができる
・データの置き換えができる
・部分一致でデータを抽出することができる
それでは実際に学んでいきましょう!
自己紹介
IT業界でのキャリアを活かし、業務効率化に欠かせないMicrosoft365や便利ツールを紹介しています。少しのコツで膨大な可能性を最大限引き出すためのヒントやテクニックを提供し、読者のビジネスパフォーマンス向上に貢献することを目指しています!
IF関数の中に関数を入れる
=IF(理論式,値が真の場合,値が偽の場合)
Excelで関数の中に関数を入れることをネストといいます。
ネストを使用することで、複数の条件を組み合わせたり、より詳細な条件分岐を実現することができます。これにより、複雑なロジックを表現することが可能になります。
また、必要に応じて分岐条件を追加したり、変更したりすることも可能です。
IF関数×別の関数の組み合わせ方法を学べます。
IF関数の中にIF関数
ExcelのIF関数は、特定の条件が真であるか偽であるかに応じて異なる値を返します。これをネストさせることで、複雑な条件分岐を実現できます。具体的には、IF関数の中に別のIF関数を入れ子にすることができます。
たとえば、下記のキャプチャのように「名前と点数」が記載されている表を作成しました。
点数に応じて評価をつけたい場合は、IF関数の中にIF関数を入れて求めていきます。
=IF(C4=””,”欠席”,IF(C4<50,”不可”,IF(C4<64,”可”,“良”)))
関数式の説明
▼1個目のIF関数
C4=””,”欠席”
┗C4セル空白の場合は欠席という指示。
“良”
┗どれにも該当しない値は「良」で返す指示。※関数式の最後の「良」のこと。
▼2個目のIF関数
IF(
┗2個目のIF関数を挿入
C4<50,”不可”
┗C4セルが50より小さければ「不可」を返す指示。
▼3個目のIF関数
C4<64,”可”
┗C4セルが64より小さければ「可」を返す指示。
実際にD4セルに関数を入力してD8セルまで関数を「ctrl+D」で伸ばしてあげると下記のようなキャプチャになります。
=IF(C4=””,”欠席”,IF(C4<50,”不可”,IF(C4<64,”可”,”良”)))
IF関数とOR関数
ExcelのIF関数は、特定の条件が真であるか偽であるかに応じて異なる値を返します。一方、OR関数は、複数の条件のうち少なくとも1つが真である場合に真を返します。
IF関数の中にOR関数を入れることによって「複数の条件に1つに当てはまれば真を返し、どれにも当てはまらなければ偽を返す」という指示をすることが可能となります。
たとえば、下記のキャプチャのように「名前と点数と評価」が記載されている表を作成しました。
評価に応じて合否をつけたい場合は、IF関数の中にOR関数を入れて求めていきます。
今回は評価が「可・良」であれば合格、「欠席」であれば再試験、それ以外であれば不合格という指示をしていきたいとします。
=IF(OR(D12=”可”,D12=”良”),“合格”,IF(D12=”欠席”,”再試験”,”不合格”))
1個目のIF関数
=IF(
┗最初にIF関数を挿入。
“合格”
┗最初のIF関数に含まれるOR関数の条件が真であれば、合格を返す指示。1個目のIF関数の中のOR関数OR(D12=”可”,D12=”良”)
┗D12が”可”または”良”であれば、真を返すという指示。2個目のIF関数
IF(D12=”欠席”,”再試験”,”不合格”)
┗D12が欠席の場合、再試験を返し、どの条件にも当てはまらない場合は不合格を返す指示。
実際にE12セルに関数を入力してE16セルまで関数を「ctrl+D」で伸ばしてあげると下記のようなキャプチャになります。
=IF(OR(D12=”可”,D12=”良”),”合格”,IF(D12=”欠席”,”再試験”,”不合格”))
IF関数とAND関数
IF関数は条件に応じて特定の値を返すために使用されます。
=IF(条件式, 真の場合の値, 偽の場合の値)
AND関数は複数の条件がすべて真であるかどうかを評価するために使用されます。基本的な構文は以下の通りです。
=AND(条件1, 条件2, …)
これらのIF関数とAND関数を使用して「複数の条件が当てはまれば真を返し、1つでも条件が当てはまらなければ偽を返す」という指示ができます。
たとえば、英語と国語の点数が記載された表があるとします。それぞれ65点以上は合格で1つでも65点未満の場合は不合格としたいとします。
IF関数の中にAND関数を挿入して(英語点数セル>=65,国語点数セル>=65)を入力してあげ、真の場合「”合格”」、偽の場合は「”不合格”」と指示することができます。
テキストだけだとイメージしにくいと思いますので、B列に名前、C列に英語の点数、D列に国語の点数がある表を作成しました。
E20セルに両方の科目が65点以上の人は合格で、1つでも65点未満がある場合は不合格としたいとします。
この場合の関数式は下記になります。
=IF(AND(C20>=65,D20>=65),“合格”,”不合格”)
関数式の説明
=IF(
┗最初にIF関数を指定する。
AND(C20>=65,D20>=65)
┗AND関数で、英語の評価C列と国語の評価D列を指定し、65以上という指示をする。
“合格”,”不合格”)
┗真の場合は合格、偽の場合は不合格と指示。
実際にE20セルに関数を入力してE24セルまで関数を「ctrl+D」で伸ばしてあげると下記のようなキャプチャになります。
=IF(AND(C20>=65,D20>=65),”合格”,”不合格”)
IF関数とVLOOKUP関数
IF関数は条件に応じて特定の値を返すために使用されます。
=IF(条件式, 真の場合の値, 偽の場合の値)
VLOOKUP関数は、垂直方向にテーブル内を検索し、指定された値に対応するセルの値を返します。基本的な構文は以下の通りです。
=VLOOKUP(検索値, テーブル範囲, 列番号, [近似一致])
IF関数の中にVLOOKUP関数を入れることによって、条件検索をしながらOKであれば真のデータを返し、NGであれば偽のデータを返すことができます。つまり、データの置き換えができるということです。
たとえば、出版社が出稿マスタと出稿前のデータを最終チェックしているとします。出稿マスタと出稿前があたっていれば真を返し、間違っていれば出稿マスタのデータを紐づけることができます。
わかりやすくするために下記の表を作成しました。
出稿マスタが正しい値だとして、出稿前データが出稿マスタとあたっているかE列にIF関数とVLOOKUP関数を入れてチェックをしていきます。
=IF(VLOOKUP(B28,$B$28:$D$32,3,0)=C28,”OK”,C28)
関数式の説明
=IF(
┗最初にIF関数を指定します。
VLOOKUP(B28,$B$28:$D$32,3,0
┗IF関数の論理式にVLOOKUP関数を挿入。ここではBセルの出稿前データを抽出するように指示。
=C28,”OK”,C28)
┗VLOOKUP関数で紐づいた値がC28セルの出稿マスタと同じであれば、OKを返し、偽であればC28セルを返すように指示。
実際にE28セルに関数を入力してE32セルまで関数を「ctrl+D」で伸ばしてあげると下記のようなキャプチャになります。
=IF(VLOOKUP(B28,$B$28:$D$32,3,0)=C28,”OK”,C28)
IF関数とCOUNTIF関数
IF関数は条件に応じて特定の値を返すために使用されます。
=IF(条件式, 真の場合の値, 偽の場合の値)
COUNTIF関数は、指定された条件を満たすセルの数を数えるために使用されます。基本的な構文は以下の通りです。
=COUNTIF(範囲, 条件)
IF関数とCOUNTIF関数を使用することでCOUNTが1の場合は真を返し、0の場合は偽を返すことができます。
たとえば名前に「田」が入っているか調べたいとき(COUNTIF(対象セル,”*田*”)と指定し、真の場合はOK、偽の場合は「田」なしと表示することができます。
実際に表を使って学んでいきましょう。
B列に記載のある名前に「田」が含まれる場合はC列にOKを表示し、含まれない場合は「田」なしと表示していきたい場合は下記の関数式を挿入することができます。
=IF(COUNTIF(B36,”*田*“),”OK”,”「田」なし“)
関数式の説明
=IF(
┗最初にIFを入力してあげます。
COUNTIF(B36,”*田*”
┗B36セルに「田」を含む場合はアスタリスク(*)で田を囲ってあげればOKです。
),”OK”,”「田」なし”)
┗真の場合はOK、偽の場合は「田」なしを表示するように指示。
実際にC36セルに関数を入力してC40セルまで関数を「ctrl+D」で伸ばしてあげると下記のようなキャプチャになります。
まとめ
今回学んだことを簡単に振り返りましょう。
①IF関数とIF関数で複雑条件分岐を指定すること
②IF関数とOR関数で1個でも条件に当てはまれば真
③IF関数とAND関数で複数条件すべてに当てはまれば真、
④IF関数とVLOOKUP関数でデータの置き換え
⑤IF関数とCOUNTIF関数で部分一致で紐づけ
IF関数の中に関数を入れることによって、さまざまな使い方ができるようになりましたね。
これらを使いこなすことによって作業効率がグッとUPすると思います。
また関数は形で覚えるのではなく、関数の意味を理解して使用していくことで応用もできるようになります。
何度も記事を見返して復習していきましょう!
最後まで読んでいただきありがとうございました。
また次回の投稿で会いましょう!