エクセルの使い方

「関数をネストして使用する」Excel 上級講座 その18

ネストとは「入れ子」のこと。
マトリョーシカを日本語では入れ子人形といいます。
そんな感じで関数の中にさらに関数を入れて使用することをいいます。

さて、この関数のネスト(入れ子)について見ていきましょう。

説明と画像はExcel365でのものです。

みらんく

画像をクリックして拡大表示できます

使用するIF関数のおさらい

IF関数を使用していきます。
IF関数についてはこちらをご覧ください。

https://milank.jp/if-function-excel-mos-c46/

IF関数は基本中の基本ですので覚えているかと思います。
それではいってみましょう。

IF関数にIF関数を入れ子する

まずはIF関数にIF関数を入れ子してみましょう。

=IF(C4>=90,”優”,IF(C4>=80,”良”,IF(C4>=70,”可”,“不可”)))

処理の流れは、

C4のセルの…
点数が90以上?
 真→「優」を表示
 偽
 ↓
点数が80以上? 真→「良」を表示
 偽
 ↓
点数が70以上? 真→「可」を表示
 偽
 ↓
「不可」を表示

というようになっています。

このような処理は判定の順番に注意です。点数が90なのに
最初に「点数が70以上?」を行うと「可」になってしまいます。

入れ子は想像力と発想力が発揮される

ある程度関数を覚えると、
「関数で処理させたいけど適切な関数がない」
という局面にぶち当たることがあるかもしれません。

そんな時に関数を複数組み合わせると
意外とあっさりと処理を自動化できたりします。

そんな処理例が次になります。

IF関数に文字処理関数を入れ子

先ほどの一般的な使用法に対して特殊な状況での使用例になります。

「入力されるのが3文字か4文字の整数なんだけど、
3文字なら頭の1文字を、4文字なら頭の2文字を抽出したい。」
という場合。

この場合に私は次のようにLEN関数LEFT関数を使用しました。

=IF(LEN(B2)=4,LEFT(B2,2),LEFT(B2,1))

B2のセルの
文字数が4文字? 真→頭から2文字を抽出
 
 ↓
頭から1文字を抽出

というようにしてみました。
2文字や5文字以上などの場合も頭1文字が抽出されてしまいます。

が、3文字か4文字以外は入力ミスです。
そんな数値が入らないようにデータの入力規則で規制しましょう

これで入力制限を行い入力ミスも防ぎます。

話しがズレましたがいろいろな関数の組み合わせで
いろいろな処理が行えます。

このあたりにはまるとエクセルが楽しくなります。
ぜひぜひ習得してみてください。


ABOUT ME
みらんく
そのとき取り組んでいることを記事にして備忘録として作成。いろいろ手を出します。