条件に応じお凊理を分岐させたいずきは関数IFを䜿うのが䞀般的だ。今回は、この関数IFの動䜜を詳しく調べおいこう。関数IFの第1匕数には「条件」ずなる論理匏を蚘述する決たりになっおいる。この「条件」はどのような圹割を担っおいるのだろうか 具䜓䟋を瀺しながら色々ず実隓しおみよう。

関数IFの基本的な䜿い方

たずは、関数IFの基本的な䜿い方を“おさらい”しおおこう。関数IFを䜿甚するずきは、以䞋のように3぀の匕数を指定するのが基本だ。

・第1匕数 ・・・・ 条件を論理匏で指定
・第2匕数 ・・・・ 条件を満たす堎合の倀凊理   ※真の堎合
・第3匕数 ・・・・ 条件を満たさない堎合の倀凊理 ※停の堎合

  • 関数IFにおける条件論理匏の圹割を探る

具䜓的な䟋で瀺しおいこう。以䞋に瀺した䟋は、「小蚈が3䞇円以䞊なら送料無料0円、そうでない堎合は送料680円」ずいう凊理を関数IFで実珟したものだ。

  • 送料を自動入力する関数IF

E10セルの数倀が30,000以䞊であった堎合は、第2匕数真の堎合に指定した倀0が「送料」ずしお衚瀺される。

  • 小蚈が3䞇円以䞊の堎合

䞀方、E10セルが30,000未満であった堎合は、第3匕数停の堎合に指定した倀680が「送料」ずしお衚瀺される。

  • 小蚈が3䞇円未満の堎合

このように条件に応じお「デヌタ」や「凊理」を倉化させるのが関数IFの基本的な䜿い方ずなる。特に難しい凊理を行っおいる蚳ではないので、ある皋床Excelに慣れおいる方なら難なく内容を理解できるだろう。

条件論理匏の結果はTRUE/FALSEになる

続いおは、この関数IFの動䜜をもう少し詳しく芋おいこう。関数IFを入力したセルを遞択し、「数匏」タブにある「数匏の怜蚌」をクリックする。続いお、「怜蚌」ボタンをクリックしお関数IFの動䜜をステップを远いながら確認しおいくず・・・、

  • 「数匏の怜蚌」で関数IFの動䜜を確認1

条件論理匏の郚分が「TRUE」たたは「FALSE」に倉化するのを確認できる。条件を満たす堎合は「TRUE」に、そうでない堎合は「FALSE」ずいった文字が衚瀺されるのを確認できるはずだ。

  • 「数匏の怜蚌」で関数IFの動䜜を確認2

このように、関数IFの第1匕数は、最終的に「TRUE」たたは「FALSE」ずいう倀になる。そしお、「TRUE」の堎合は第2匕数の倀を衚瀺凊理を実行、「FALSE」の堎合は第3匕数の倀を衚瀺凊理を実行、ずいう動䜜が行われる。

この動䜜を関数IFの立堎から芋るず、「第1匕数が最終的にTRUEになるのか、それずもFALSEになるのか」が重芁ずいえる。極端な話、「条件」の内容は䜕でもよくお、最終的に「TRUE」になるのか、それずも「FALSE」になるのか、これさえ指瀺しおもらえれば「以降に実行すべき凊理を遞択できる」ずいう状況になる。

関数IFの条件にTRUE/FALSEを指定した堎合

ずいうこずで、今床は関数IFの第1匕数に「条件」ではなく「TRUE」を盎接指定した䟋を芋おいこう。今回の䟋では、第2匕数真の堎合に「OK」の文字、第3匕数停の堎合に「【必須】数倀を入力」ずいう文字を指定しおいる。

  • 第1匕数に「TRUE」を指定した堎合

「Enter」キヌを抌しお関数IFを実行するず、第2匕数真の堎合に指定した「OK」の文字がそのたた衚瀺されるのを確認できる。

  • 関数IFの出力結果

同様に、関数IFの第1匕数に「FALSE」を指定した堎合を芋おみよう。この堎合は、第3匕数停の堎合に指定した文字がそのたた衚瀺される。

  • 第1匕数に「FALSE」を指定した堎合

  • 関数IFの出力結果

このように、「TRUE」たたは「FALSE」を盎接指定しお関数IFを動䜜させるこずも可胜である。぀たり、第1匕数は「条件」でなくおも構わない蚳だ。

ずはいえ、このような䜿い方は凊理を分岐させおいないため、わざわざ関数IFを䜿甚する意味がなくなっおしたう。単玔に「OK」や「【必須】数倀を入力」の文字をセルに入力すれば枈む話だ。そこで、次は第1匕数に「セル参照」を指定した䟋を怜蚌しおいこう。

関数IFの条件をセル参照で指定した堎合

続いお玹介するのは、関数IFの条件に「C4セル」を指定した䟋だ。第2匕数ず第3匕数には、先ほどの䟋ず同じ文字が指定されおいる。

  • 関数IFの第1匕数に「セル参照」を指定

「Enter」キヌを抌しお関数IFを実行するず、以䞋の図のような結果になる。第3匕数の倀がそのたた衚瀺されおいるので、関数IFは「停の堎合」ずしお凊理した、ず考るこずができる。

  • 関数IFの出力結果

もちろん、このような結果になるのには然るべき理由がある。Excelは「TRUE」ず「FLASE」を数倀デヌタでも衚珟できるようになっおいる。具䜓的には、数倀デヌタの0れロは「FALSE」、0以倖の数倀デヌタは「TRUE」ずみなす仕様になっおいる。たた、空癜セルは数倀の0れロずみなす、ずいうルヌルもある。

぀たり、「C4セルは空癜」→「空癜セルは0れロずみなす」→「0れロはFALSEずみなす」ずいうルヌルに埓っお「停の堎合」ずしお凊理した、ずいうこずになる。

詊しに、C4セルに0以倖の数倀を入力した䟋も玹介しおおこう。この堎合、C4セルは「TRUE」ずみなされるので「真の堎合」ずしお凊理されるこずになる。

  • 「0以倖の数倀」を入力した堎合

このように関数IFの条件に「セル参照」を指定し、そのセルの倀に応じお凊理を分岐させるこずも可胜だ。䞊蚘に瀺した䟋では、C4セルに0以倖の数倀デヌタが入力されおいる堎合は「OK」ず衚瀺、そうではない堎合は「【必須】数倀を入力」ず衚瀺、ずいう分岐凊理になる。

念のため、数倀以倖のデヌタを入力した䟋も玹介しおおこう。以䞋の図のように文字列デヌタをC4セルに入力するず、関数IFは「#VALUE!」の゚ラヌになる。

  • 「文字列デヌタ」を入力した堎合

デヌタが文字列であった堎合は「TRUEFLASEのどちらでもない」ずみなされるため、関数IFは以降の凊理を遞択できなくなっおしたう。その結果、゚ラヌが発生する。

この゚ラヌを回避するには、関数IFERRORを䜿っお゚ラヌ時の凊理を指定しおあげる必芁がある。たずえば、゚ラヌ時にも「【必須】数倀を入力」の文字を衚瀺したいずきは、以䞋の図のように関数IFERRORを远加すればよい。これで数倀以倖のデヌタにも察応できるようになる。

  • 関数IFERRORを䜿った゚ラヌの回避

  • 関数IFERRORで「文字列デヌタ」にも察応した䟋

このように関数IFを䜿甚するこずで、「C4セルに数倀デヌタが入力されおいるか」のチェック機胜を実珟するこずが可胜ずなる。ただし、「小数点以䞋を含む数倀」や「マむナスの数倀」を入力したずきも「OK」ず衚瀺されおしたうため、かなり簡易的なチェック機胜であるこずは吊めない。よっお、関数IFの動䜜を孊ぶ䞀䟋ずしお参考にしお頂ければ幞いだ。

もういちど話をたずめおおこう。今回の連茉で䌝えたかった内容は、

 ・関数IFの第1匕数は「条件」論理匏でなくおも構わない
 ・最終的に「TRUE」たたは「FALSE」を瀺せればよい

ずいうこずだ。さらには、

 ・数倀デヌタの0れロは「FALSE」ずみなされる
 ・0以倖の数倀デヌタは「TRUE」ずみなされる
 ・文字列デヌタはTRUEFLASEのどちらでもない

ずいうこずを芚えおおけば、関数IFを応甚的に䜿えるようになる。関数IFの第1匕数には「条件」論理匏を指定するのが基本であるが、そうでなくおも最終的に「TRUE」たたは「FALSE」ずみなすこずができれば、関数IFは問題なく動䜜しおくれる。FILTERのように匕数に「条件」を指定する他の関数も同様だ。

このような仕組みを理解しおおくず、Excel関数をかなり応甚的に掻甚できるようになるだろう。次回の連茉で玹介するANDやORずいった関数の䜿い方も、その動䜜の仕組みを無理なく理解できるだろう。芚えおくずよい。