ExcelのLET関数を考える

 しばらく前の話ですが、ExcelにLET関数が導入されることとなったそうです。

support.microsoft.com

 LET関数内ではまずいくつかの式に別名を与え、その別名を組み合わせた式を作ることができます。長い式を繰り返し記述する必要がなくなるため、全体の可読性を高めメンテを容易にし、速度もアップできるそうです。
 現在Office Insiderを使っていないのであくまでちょっと考えてみただけですが、思い付いた点は以下のとおり。

  • 慣れないとかえって見づらそう……確実に関数のネストが1段増えますので、それだけでも可読性に関してはマイナスからのスタートという感じです。ASの一言で片付くSQLは偉大だなあと思う次第です。
  • 式は短くならなさそう……最初にこの関数のことを聞いたときはまず式が短くなることを予想していたのですが、関数名が短いとはいえ別名定義部分を含めると結構な長さになりそうですし、さらに何でもいちいち注釈的に定義しておく作法が定着しそうですので、むしろ式としては長くなるのではないかと思えてきました。
  • 個別の新関数も検討するべきでは……IF関数とかFILTER関数のように構造的に同じ式を記述させてしまう関数については、それを省略できる新関数を作った方が早いのではないかと思えます。
 というわけで、100字とか200字に達するような力作ワンライナーでもない限りなかなか適用する機会はなさそうな感じがしてきました。
 また、この際についでですが、とにかく配列を結合する演算子を使えるようにしてほしいです。式の可読性以前にGoogleスプレッドシートに圧倒的に負けている部分がここかと思います。関数の引数として{A1:A5,C3:C5}とか{A1:A5,SEQUENCE(5)}みたいな配列を与えられないので何をやるにも作業列が増えまくり、全くスマートでない印象です。