BLOG
2022.03.22
最新!Excelの関数「LAMBDA」を追え!!
弊社ブログへのアクセスありがとうございます。
クラウドソリューション部 エンジニアの南里です。
日々、エクセルがないとにっちもさっちもいかないということはないのですが、先月新しく実装された関数を目にしました。
どんな関数かな?と、正式に実装されたものとちょっと前に実装されたものを勉強がてら調べたので、それらの関数についてすごーーく簡単にですがご説明します。
LAMBDA
まずは最新の関数「LAMBDA」です。
アコーディオンが聞こえた人~。(・∀・)/ ハーイ
ランバダ。もとい「ラムダ」です。
プログラミング言語をかじった人は耳にしたことがあるやつだと思います。(詳しくは「ラムダ式」で。)
この関数を簡潔に書くと
- 自分で名前を付けた関数が作れる
- 作った関数を再帰できる
です。
違うセルで同じ処理をさせたい場合は、コピペなどで同じ数式の貼り付け、
修正の場合は全部書き換えが必要でした。
(スピルが出来たのでここまでやらなくてよくなってはいますが。)
今回、下記のように「名前の定義」にLAMBDAを使って計算を関数として保存することが出来ます。
さらにLAMBDAの中で定義した関数を呼び出せるので再帰としてのループが可能になってます。
1から指定した数値までを足す「合計」という名前の関数です。「合計(x-1)」が再帰です。
LAMBDAについて詳しい使い方などは、他のサイトやYouTube等を参照されてください。
Office◯◯さんとかとても参考になりました。
受け売りになりますが、
この関数をセルにそのまま書いても使えますが実用としてはそのような関数ではないですし、
考え方がプログラミング寄りになっているので難しいです。
LAMBDAを使わないと実現できなかった処理ができるようになる、というのは一番の利点です。
しかし、作った人は分かるが、その後は…という問題がおおいにありえます。
難しい関数を使うのではなく、基本的なエクセルの使い方を覚えた方が幸せになれそうです。
なお、同時期にLAMBDAを引数にとれる関数も7つ実装されています。
LAMBDAによりエクセル関数がチューリング完全になったとのことです。
1点、この関数は執筆時点 Microsoft365 のエクセルでしか使えませんのでご注意ください。
買い切りのOffice2021ではまだ未実装です。
LET
もう1つは「LET」です。
こちらは
- セルの中で処理を変数として名前が付けることができる
です。
名前を付けられるってLAMBDAと同じじゃんと思われるかもしれませんが、違いは名前付けの影響が「セルのみ」か「ブック全体」かというところです。
「FIND(“-”, B2)」に「hyp」という名前を付けています。
セルに表示されるのは最後の引数部となり、IF文の中で宣言した「hyp」を使っています。
1つの数式で同じ処理をしたい場合に名前を付ければ結果が変数に格納されているので、無駄に処理が重くなることもないし、見やすくもなるというものです。
また、「A1:B3」といったセル範囲や「1000」のような定数値にも名前を付けることが可能です。
修正する場合も1つだけで済むので、ミス軽減につながりますね。
ちなみに変数は最大126個だそうです。まぁ1つの数式にそんなに書くことはないでしょう。
こちらはOffice2021で実装されています。
基本的にLETは1セルで完結するのでLAMBDAより使いやすそうでした。
しかし、どちらも使いこなすには私のエクセルレベルではまだまだ足りない様です。
今回は2つご説明にて終わりにします。
神エクセルなど不名誉なものもありますが、エクセルって奥が深いなぁと改めて思い知らされました。
