今回も条件分岐が複数ある場合について話を進めていこう。前回の連載では、関数を途中で改行することにより、関数を見やすく記述する方法を紹介した。今回は複数の条件を一気に処理するのではなく、個別に処理して、その結果を統合する手法を紹介していこう。条件が複雑になるときは、今回の例のように「個別に処理」していくのも効果的だ。

関数IFで個別に「条件に応じた判定」を行う方法

前回や前々回の連載で紹介したように、関数IFSを使って「複数の条件分岐」をいちどに処理することも可能である。ただし、関数IFSの記述が長くなるため、頭が混乱してしまう恐れがある。

そこで今回は、それぞれの条件分岐を「個別に処理」して、その結果を統合する手法を紹介していこう。色々な条件が複雑に絡み合うときは、各条件を個別に処理していく手法も探ってみるとよい。

  • 複雑な条件分岐を関数IFで個別処理

まずは、前回の連載と同じ「体脂肪率の判定」について、それぞれの条件を関数IFで個別に処理していく方法を紹介しよう。体脂肪率の判定基準は前回と同じで、それぞれ以下のようになっている。

【男性の体脂肪率】
  低:15%未満
 標準:15%以上、25%未満
  高:25%以上

【女性の体脂肪率】
  低:25%未満
 標準:25%以上、35%未満
  高:35%以上

このグループ分けを関数IFで個別に行うときは、「性別」と「体脂肪率」を基準に以下のような条件分岐を行えばよい。

 ・男、15未満 ・・・・・・・ 低
 ・男、15以上、25未満 ・・・ 標準
 ・男、25以上 ・・・・・・・ 高
 ・女、25未満 ・・・・・・・ 低
 ・女、25以上、35未満 ・・・ 標準
 ・女、35以上 ・・・・・・・ 高

まずは、処理用のセルを用意する。ここでは、以下の図のようなセル範囲を用意した。ここで、それぞれの条件分岐を関数IFで個別に処理していく。

  • 条件分岐を処理するセルを用意

最初の条件分岐は、性別が「男」で体脂肪率が「15未満」の場合に「低」と判定する、というものだ。これを関数IFで記述すると以下の図のようになる。なお、条件に合致しない場合(偽の場合)は「空文字」を出力するように指定してある。

  • 「男、15未満」を判定する関数IF

次の条件分岐は、性別が「男」で体脂肪率が「15以上、25未満」の場合に「標準」と判定する、というものだ。こちらは以下の図のように関数IFを記述すればよい。

  • 「男、15以上、25未満」を判定する関数IF

同様の手順で、以降の条件分岐についても関数IFを記述していく。たとえば、「男、25以上」の条件分岐は、以下に示した関数IFをJ3セルに入力すればよい。

■J3セルに入力した関数IF
 =IF(AND(D3="男",E3>=25),"高","")

念のため、性別が「女」の場合の条件分岐についても関数IFの記述を紹介しておこう。これらを実現する関数IFの記述は、それぞれの以下のようになる。

  • 「女、25未満」を判定する関数IF

■L3セルに入力した関数IF
 =IF(AND(D3="女",E3>=25,E3<35),"標準","")

■M3セルに入力した関数IF
 =IF(AND(D3="女",E3>=35),"高","")

これで6個の条件分岐をすべて処理できたことになる。以下の図に示した例の場合、「男、15以上、25未満」の条件に合致しているので「標準」の文字だけが表示されることになる。

  • それぞれの条件を判定する関数IFを入力した様子

これら6個の関数IFをオートフィルでコピーすると、以下の図のような結果が得られる。いずれのデータも「6個の条件分岐」のうち「1個だけに合致する」はずなので、各行に1カ所だけ文字が表示される、という結果になる。

  • 関数IFをオートフィルでコピーした様子

あとは、これらの結果から「文字が表示されているセル」だけを抽出すればよい。この処理は、文字列を結合する関数CONCATで実現できる。

  • 関数CONCATで文字を結合

上図のように関数をCONCATを入力すると、「H3~M3セルの文字を結合したデータ」が出力される。今回の例では「文字が表示されているセル」は1カ所しかないので、結果として「文字が表示されているセル」だけを抽出するのと同じ処理になる。

あとは、この関数CONCATをオートフィルでコピーするだけ。このような手法でも前回の連載と同じ結果を得ることができる。

  • 関数CONCATをオートフィルでコピーした様子

このように、条件に応じてデータを「グループ分け」するときは、関数IFと関数CONCATを組み合わせると、複数の条件分岐を「個別に処理」できるようになる。覚えておくとよい。

関数IFで個別に「条件に応じた計算」を行う方法

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら