Dellにて2年ぶりとなるPC購入です。動画再生や軽い編集用のデスクトップ機(i5 4460S)の置換えです。現在メインのRyzen 5 2500Uで全く不満なく使えているので完全にオーバースペックとしか思えませんが、ここで敢えて4700U/メモリ8GB/SSD512GBというスペックです。4500UでSSD512GBのものがあれば考えましたが無いようですし、比較対象に考えていたHPでは第3世代Ryzenを全部プレミアムノート機に回していてお手頃感がありません。とかくままならないものですが、それでもこんなモンスター機が8万円そこそこで買えるのですから文句を言うべきではないのでしょう。
到着見込みが1か月ほど先になりそうなのと、決済手段の選択が何かおかしい(銀行振込を選んだものの「できません」的な警告が出たのでコンビニ決済に代えたところ、結局振込先口座の案内メールが送られて来た。現在問い合わせ中)のがちょっと困りものですが、ゆっくり待つとします。
ExcelのLET関数を考える
しばらく前の話ですが、ExcelにLET関数が導入されることとなったそうです。
LET関数内ではまずいくつかの式に別名を与え、その別名を組み合わせた式を作ることができます。長い式を繰り返し記述する必要がなくなるため、全体の可読性を高めメンテを容易にし、速度もアップできるそうです。
現在Office Insiderを使っていないのであくまでちょっと考えてみただけですが、思い付いた点は以下のとおり。
- 慣れないとかえって見づらそう……確実に関数のネストが1段増えますので、それだけでも可読性に関してはマイナスからのスタートという感じです。ASの一言で片付くSQLは偉大だなあと思う次第です。
- 式は短くならなさそう……最初にこの関数のことを聞いたときはまず式が短くなることを予想していたのですが、関数名が短いとはいえ別名定義部分を含めると結構な長さになりそうですし、さらに何でもいちいち注釈的に定義しておく作法が定着しそうですので、むしろ式としては長くなるのではないかと思えてきました。
- 個別の新関数も検討するべきでは……IF関数とかFILTER関数のように構造的に同じ式を記述させてしまう関数については、それを省略できる新関数を作った方が早いのではないかと思えます。
また、この際についでですが、とにかく配列を結合する演算子を使えるようにしてほしいです。式の可読性以前にGoogleスプレッドシートに圧倒的に負けている部分がここかと思います。関数の引数として{A1:A5,C3:C5}とか{A1:A5,SEQUENCE(5)}みたいな配列を与えられないので何をやるにも作業列が増えまくり、全くスマートでない印象です。