【Excel IF関数】前年より売り上げが落ちている製品を、ひと目で分かるようにするTech TIPS

Excelで、条件に合わせて正否を判定したり、割引率を変更したりすることもあるだろう。このような場合、IF関数を使うと便利だ。その使い方を紹介しよう。

» 2023年01月30日 05時00分 公開
[小林章彦デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Excel 2013/2016/2019/2021/365


ExcelでIF関数を使って条件に合わせた処理を行う ExcelでIF関数を使って条件に合わせた処理を行う
IF関数を使うと、条件(論理式)に合致したかどうかで、処理を変更することができる。ある点数以上ならば「合格」、未満ならば「不合格」と表示したり、数量によって割引率を変更したりといった処理が可能だ。

 「Microsoft Excel(エクセル)」の表で、条件に合わせて判定を行い、その結果をセルに表示したり、ある値を超えているかどうかを判定したりすることがあるだろう。例えば、テストの点数で、一定の点数以上を合格、未満を不合格と判定したいような場合だ。

 また、数量などによって割引率を変更したいような場合も多いと思う。このような場合、IF関数を使って、条件によって処理を変更すればよい。その方法を紹介しよう。

IF関数を使って条件に合致するかをチェックする

 例えば、前年よりも売り上げが落ちている製品の一覧を作成するような場合を考えてみよう。製品が10点程度ならば、前年と今年の売り上げ票を見比べても対して手間にならないだろうが、100点、1000点ともなると、目視では見落としが発生してしまうだろう。

 このような場合、「製品名」「2021年の売上」「2022年の売上」「売上マイナス」といった表を作成し、「売上マイナス」に「=<2022年の売上><2021年の売上>」という式を入力し、この値がマイナス(負の値)ならば、売り上げが落ちていることが分かる。ただ、視覚的には少々分かりにくい。

2021年と2022年の売り上げを比較する 2021年と2022年の売り上げを比較する
2022年の売り上げから2021年の売り上げを引くことで、2022年の売り上げがプラスになっているかどうかの判定は可能だ。ただし、見た目では分かりにくい。

 そこで、分かりやすいように「売上マイナス」の列に単純に落ちている製品のみ「×」と表示させたいような場合もあるだろう。そのような場合は、「=<2022年の売上><2021年の売上>」といった式ではなく、IF関数を使えばよい。

 IF関数の書式は以下のようになっている。

=IF(論理式, 真の場合, 偽の場合)


IF関数の書式

 「真」は論理式が満たされること、「偽」は論理式が満たされないことをそれぞれ表している。Excelでは、真の場合に「TRUE」、偽の場合に「FALSE」とそれぞれ表示される。

論理式 演算子の意味 説明
A1=5 等しい A1の値が5の場合に「真」
A1<5 小さい A1の値が5よりも小さい場合に「真」
A1>5 大きい A1の値が5よりも大きい場合に「真」
A1<=5 以下 A1の値が5以下の場合に「真」
A1>=5 以上 A1の値が5以上の場合に「真」
A1<>5 等しくない A1の値が5以外の場合に「真」
主な論理式

 そこで、「2021年の売上」が「2022年の売上」以上の場合、セルに「×」を表示するには、以下のような式を入力すればよい。

=IF(<2021年の売上> >= <2022年の売上>,"×","")


2021年の売り上げが2022年以上の場合に「×」を入力する式
IF関数の引数として、最後の「,""」を入れているのは、条件に合致しない場合に「FALSE」と表示されるのを防ぐためだ。

 これで、「×」の表示された製品が、2022年の売り上げが落ちていることが一目で分かるようになる。

IF関数を使って2021年と2022年の売り上げを比較する IF関数を使って2021年と2022年の売り上げを比較する
IF関数を使って、2022年の売り上げが下がっている場合には、「×」と表示するようにした。これならば、どの製品の売り上げが落ちているのか分かりやすい。

条件に合致した行だけをフィルターで取り出す

 条件に合致した行(例では前年から売り上げが落ちている製品)を取り出し、どういった製品が該当しているのか検討したい場合、「売上マイナス」列にフィルターを適用し、「×」の行のみを抽出すればよい。

条件に合致した行だけをフィルターで取り出す(1) 条件に合致した行だけをフィルターで取り出す(1)
フィルター機能を使って、「売上マイナス」列が「×」の製品のみ抽出する。「売上マイナス」列を選択し、[ホーム]タブの[編集]−[並べ替えとフィルター]を選択、表示されたメニューの[フィルター]を選択する。
条件に合致した行だけをフィルターで取り出す(2) 条件に合致した行だけをフィルターで取り出す(2)
「売上マイナス」列に[▼]アイコンが表示されるので、これをクリックする。「テキストフィルター」欄で「(空白セル)」のチェックを外し、[OK]ボタンをクリックする。これで「×」の行のみ抽出できる。
条件に合致した行だけをフィルターで取り出す(3) 条件に合致した行だけをフィルターで取り出す(3)
「売上マイナス」列が「×」になっている行のみ抽出できたので、これをコピーするなどすれば、売り上げが落ちている製品の一覧が作成できる。

IF関数を使って条件によって値を変更する

 個数によって見積もりの割引率を変更するということは比較的よく行われる。999個までは10%引きだが、1000個以上は15%引きにするといった場合だ。

=IF(<数量> >= 1000,<数量>*<単価>*0.85,<個数>*<単価>*0.9)


IF関数を使って条件によって値を変更する

 これで、1000個よりも多い場合は「<数量>*<単価>*0.85」が実行され、少ない場合は「<数量>*<単価>*0.9」が実行される。このように、最初の論理式(条件)が真(満たす場合)は、「真の場合」の式が実行され、偽(満たさない場合)は「偽の場合」の式が実行されることで、条件による割引率の変更が行える。

IF関数を使って条件によって値を変更する IF関数を使って条件によって値を変更する
IF関数を使うことで、条件によって、掛ける値を変更するといったことができる。

複数の条件がある場合はIFS関数を使う

 ただ、IF関数では論理式の「TRUE(真)」か「FALSE(偽)」しか処理が分けられない。そのため、999個までは10%引き、1000個以上は15%引きという前述の条件に加え、3000個以上は20%引きという条件が加わると困ることになる。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。