マイクロソフトのサイトでは、プログラミング言語でいう変数というワードではなく、計算結果に名前を割り当てるもの、と説明されている。
仕様
詳細は LET 関数 を参照して欲しい。
= LET (name1, name_value1, calculation_or_name2 [name_value2, calculation_or_name3...])
VBAのLETステートメントとは別物。(もっとも、LETステートメントは省略できるので書いている人を私は見たことが無い。Visual Basicの元になったBASIC言語の初心者向けマニュアルにはLETが頻出していたと記憶するが・・・)
使用例
A1セルにある、氏名「山田 太郎」から、名「太郎」のみを抽出するとき、
= RIGHT(A1, LEN(A1) - FIND(" ", A1))
のように書いていたと思う。事務屋さんでは良く出てくる式だ。
LETを使うと次のように書ける。
= LET(name, A1, RIGHT(name, LEN(name) - FIND(" ", name)))
式としては長くなっているが、参照先がひとつなので保守性が高い。
この例だと名前付きセルと大差ないが、分かり易さ優先で挙げた。
入れ子になると見にくいので、今後は、数式エディタというかフォーマッタの実装が期待される。
その他
Microsoft Tech Communityでは、「Excelが同じ計算を繰り返す必要がないため、LET関数使用時は2倍の速さで計算できる」と説明している。
Office Insiderでは既に使えるので、興味のある人は試してみたら如何だろうか Office Insider になる
正式リリースは2020年の後半を予定しているとのこと。
先日のXLOOKUP関数リリースといい、最近のOfficeは進化が速いので、ウォッチしておくと良いかも。