見出し画像

Excel Tips ~LET関数


このノートは学校という場において、私が校務の中でExcelを使ってきた事について書き留めています。
具体的な操作というより、どういうシチュエーションでどんな使い方をしてきたか、ということを中心に綴っていきます。

Let関数の概略

Excel for Microsoft 365
Excel for the web
Excel 2021 
でサポートされているようです。
追加されたのは昨年のようですが,使いどころが良くわからなくてスルーしてた関数です。
で,改めてよくみると,意外に使えるんじゃないかと思ったしだい。
実際の業務でどういう風に使えるか考えて見ました。
詳しい事はインプレスの記事で。
私の下手な解説より1万倍わかりやすいと思います(^^ゞ


Let関数の利点

正直,この関数がなくても機能上全く問題はないのですが,関数を組み合わせて使う時に式の構造の見通しが良くなる所でしょうか。

=LET(x,y,x+y)

上の例ではあまりありがたみがありませんが,関数の引数としてセル番地を使う時などは大変記述が複雑になります。
それをx,yというような文字に置き換えるときに式がx+Yと見やすくなるわけです。
あとは,必要な引数を変数に置き換えることで,おなじ値を何度も引数に使う時記述が楽になります。

=LET(x,y,X-y/x)

利用の実例

あるデータを別のセルで参照する場合を考えます。
このとき

書式
=(参照セル番地)

例
=L7

とするのが基本ですが,このとき参照元にデータが無いときは”0”と表示されてしまいます。
これは”0”という数値が存在しうる場合(たとえば試験の点数など)は不都合が生じます。

このばあい表示したくない場合は「セルの書式設定」で"#"とすれば何もないように見えますが,この参照データを用いて計算する必要があるときは困ります。
上の例では平均値の計算結果が異なります。

”0”を表示させない

そこで参照元のセルにデータが無い場合は空文字列("")を返すようにします。

=IF(L7<>"",L7,"")
または
=IF(ISBLANK(L7),"",L7)

これによって参照元にデータが無い場合は”0”を表示されず,平均を計算しても問題はありません。
ただ,式を入力するとき引数として参照元のセル番地"L7"が2回登場しています。
これぐらいの単純な式ならさほど問題はないと思いますが,LOOKUP系の関数を用いている場合は引数が多いのでけっこうごちゃごちゃします。
そこでLET関数の出番です。

LET関数を使う

=LET(X,L7,IF(X<>"",X,"")
または
=LET(X,L7,IF(ISBLANK(X),"",X))

くり返しますが,もともとの式がシンプルなのでLET関数を用いると冗長にはなっています。
LET関数を用いることによって,第3引数に記述された数式がすっきりして見通しが良くなります。
その恩恵として,後々手直しが必要になったとき無駄に悩む時間が少なくなるはずです。

おわりに

ちょこっとしたものであればLET関数を使うまでもありませんが,そこそこの規模があり,後々も使い続けていくものであればメンテナンスは必須です。
業務アプリとして作成するならば,コードや数式を見通しよく記述して,メンテナンス性も考慮に入れる必要はあります。
そういうときにLET関数は役に立つのではないでしょうか。

おまけ

同じようなことをXLOOKUP関数でやって見ました。

LET関数を使わなかった場合

LET関数を使用した場合

LET関数を使うと,ぐっと見通しが良くなるのがわかりますね。

この記事が気に入ったらサポートをしてみませんか?