ITライター 立山秀利
ExcelのIF関数を使うと、条件に応じてセルに表示する値を変更できる。今回はIF関数の基本的な使い方を解説する。
Excelでは、何かしらの条件に応じて、セルに表示する内容を変えたいケースにしばしば遭遇する。例えば、タスク管理の表があり、A列にタスク名、B列に期限がそれぞれ入力されているとする。期限を過ぎたタスクはC列のセルに「×」を表示したいなどのケースだ。
そのような際に役立つ関数がIF関数である。書式は以下の通りである。
-------------------------------
IF(論理式, 真の場合, 偽の場合)
・論理式 条件となる式
・真の場合 条件が成立する場合に表示する値や式
・偽の場合 条件が成立しない場合に表示する値や式
-------------------------------
条件となる式の指定には通常、比較演算子を用いる。主な比較演算子は下表で確認してほしい。
比較演算子 意味
-------------------------------
= 左辺と右辺が等しい
<> 左辺と右辺が等しくない
> 左辺が右辺より大きい
>= 左辺が右辺以上
< 左辺が右辺より小さい
<= 左辺が右辺以下
-------------------------------
先ほどのケースの場合、タスクの表が4~7行目にあり、かつ、現在の日付がB1セルに入力されているなら、表の先頭のC4セルの数式は次のように入力すればよい。
-------------------------------
=IF(B4>$B$1,"","×")
-------------------------------
引数「論理式」には、期限の日付(B4セル)が現在の日付(B1セル)より大きいかを判定する条件式を指定している。もし大きいなら条件式が成立し、期限を過ぎたと見なして、「×」を表示している。もし小さければ条件式は不成立となり、期限内と見なして、何も表示しないよう、空の文字列である「""」を指定している。
(画像をクリックすると拡大表示します)
C4~C7セルも同様にIF関数を使った式をオートフィルなどでコピーして入力すれば、目的の処理を実現できる。なお、上記式ではC4~C7セルにコピーすることを想定して、B1セルを絶対参照で指定している。
(画像をクリックすると拡大表示します)
また、見積もり書や納品書などの書類ではたいてい、商品名と単価、数量、そして単価と数量を掛けた小計の列がある表を掲載する。そして、あらかじめExcelのひな形を用意しておき、コピーして使いまわすケースが多い。
そのひな形の表の小計の列では、単価のセル×数量のセルの式をいちいち入力する手間を省くため、最初からすべての行にあらかじめ入力しておきたいもの。しかし、単純に単価のセル×数量のセルの式を入れたのでは、単価と数量のセルが空の場合、小計のセルには0が表示されてしまう。
例えば、単価をB2~B11セル、数量をC2~C11セル、小計をD2~D11セルに算出したい表があるとする。その場合、D2~D11セルのすべてに単価×数量の式(D2セルなら「=B2*C2」。以下、行数が増えていく)をあらかじめ入力しておいたとする。もし、単価と数量のデータが2~4行目しか入力されなければ、D5~11セルにはこのように0が表示されてしまう。
(画像をクリックすると拡大表示します)
そのような問題はIF関数で解決できる。もし、単価の列に何も入力されていないなら、小計の列に何も表示しないよう処理すれば、0が表示されるのを防げる。そのためのIF関数の式は、たとえばD2セルなら次のような式になる。
-------------------------------
=IF(B2="","",B2*C2)
-------------------------------
引数「論理式」には、単価(B2セル)が空かどうかを判定する条件式を指定している。もし空なら条件式が成立し、何も表示しないよう「""」を指定している。もし空でなければ条件式は不成立となり、データは存在するので小計を表示するよう、単価×数量の式「B2*C2」を指定している。
残りのD3~D11セルも、同様にIF関数を使った式に変更すれば、単価のセルに何も入力されていなければ、何も表示されなくなる。
(画像をクリックすると拡大表示します)
このように、IF関数は条件に応じてセルの表示内容を変更でき、使い方次第で様々な処理が可能である。
立山秀利(たてやま・ひでとし)
カーナビのソフトウェア開発、Webプロデュース業務を経て、現在は、システムやネットワーク、Microsoft Officeを中心に執筆中。 主な著書に『Excel VBAのプログラミングのツボとコツがゼッタイにわかる本』などがある。
(監修:日経BPコンサルティング)