エクセル関数の「入れ子」がわからない2つの理由とは?
エクセル関数の「入れ子」がうまく使えない、という場合。
大きく分けて2つの、
乗り越えるべき「関門」があります。
- どのような順番で関数(式)を使うと目的の値が得られるかわからない
- その関数(式)を、実際の(入れ子を使った)計算式に組み立てられない
「入れ子」がわかるための2つの関門
1つ目は、
そもそも「ロジックが組み立てられない」ということです。
ここを克服するには、
基本的な関数(約20個)を駆使して、
ロジックを組み立てる練習をするのが、一番の近道です。
2つ目は、
「ロジックは頭の中で組み立てられたが」
それを計算式の形で表現できない、という場合。
計算式の形で、ロジックを表現する場合、
処理の順番と、記述の順番が逆向き
になってしまうので、
そこが悩ましい部分です。
もし、入れ子が難しいと感じている場合には、
この2つのどちらで、つっかかっているかを考えましょう。
1.次のロジックが組み立てられますか?
例えば、
次のように、
「氏名」から「名字」と「名前」を分離するという場合。
まずは、
目的の値を抽出する「ロジック」が思い浮かぶでしょうか?
慣れないうちは、ロジックそのものは、
次のように「日本語」で考えるほうがいいと思います。
- 名字
-
①:A2セルの中で「,」のある位置を探して
②:「①」から1を引いて
③:A2セルの左から「②」文字を抜き出す - 名前
-
①:A2セルの中で「,」のある位置を探して
②:「①」に1を足して
③:A2セルの「②」文字目から999文字分を抜き出す
このように、
「どの処理を組み合わせれば、目的が実現できるか」を
きちんと考えるのが、入れ子をマスターするためでの第一関門です。
2.思いついた処理を入れ子で書けるか?
次の関門が、
思いついた処理を、入れ子の計算式で表現できるかどうか?
というところです。
先ほどのように、
ロジックがわかっている状態であれば、
- 各ステップをエクセルの計算式で置き換える
- 処理が進むごとに、後の処理を、「外側に配置」するようにする
(=処理を、内側から書いていく)
という考え方で、入れ子の計算式ができます。
※四則演算や& 等の場合も、
関数と同様に、内側から考えていきます。
処理の流れ、というのをイメージする場合、
普通は、左から右、とか上から下に流れていくイメージだと思うのですが、
エクセルでは、
処理の流れを「内側から外側」に流れていくイメージになります。
ここのギャップを埋められるかどうかが、
入れ子に慣れるための関門です。
実際に計算式を入れ子で表現すると、次のようになります。
- 名字を導出する部分(B列)の考え方
- 名前を導出する部分(C列)の考え方
- 目的の値を得るためのロジック
- ロジックを入れ子で表現する方法
「わからない」のは、どっちですか?
入れ子の計算式が苦手、という場合には、
のどちらがわからないかを、考えましょう。
わからない部分がわかってしまえば、
あとは勉強すればいいだけです。
すぐに入れ子がわかるようになって、
次のような計算式が思い浮かぶようになりますよ!