12/24/2020

Excel。新しく追加された「LET関数」ってどういう時に使ったらいいの?【New function】

Excel。新しく追加された「LET関数」ってどういう時に使ったらいいの?

<LET関数>

Office365に新しく追加された関数に、「LET関数」というのがあります。

ただ、使い勝手がわからないというか、どこで使ったらいいのかイマイチわかりにくい関数なんですね。


Microsoftさんの説明には、「LET 関数は、計算結果に名前を割り当てます。 これにより、中間計算、値、定義名などを数式内に格納できます。」とあります。


きっと、色々な使い方があるのでしょうけど、簡単に言ってしまえば、一度別のセルに計算結果を算出して、その算出結果を使って、回答を求めるような2段階なことはしなくてもいいということなんだと思います。


LET関数がもっている引数はというと、

LET(名前1,名前1の値,計算または名前2…)

です。


とりあえず、動きを確認してみましょう。

次の表を用意しました。


やりたいことは、H列に、C列・E列・G列の合算値が200点以上ならば、「Good!」と表示したいわけです。


早速、H2にLET関数をつかった数式を作っていきます。


=LET(W,C2,L,E2,H,G2,IF(SUM(W,L,H)>=200,"Good!",""))


C2には、Writingの「W」。

E2には、Listeningの「L」。

G2には、Hearingの「H」と名前を設定して、その名前を使って、IF関数。

WLHの合算値が200以上だったら「Good!」と表示する数式です。

オートフィルで数式をコピーしてみましょう。


ご覧のように、200点以上のものに、「Good!」と表示することができました。


普通ならば、C列とE列とG列の合算値を算出する列を用意して、算出された合算値をつかって、IF関数をつかった判定を行うことが多いと思いますが、合算値を算出する作業である、中間計算を合わせて、行っています。


しかし、よく考え見ると、別にIF+SUM関数のネストでも同じように結果を算出することができます。


=IF(SUM(C2,E2,G2)>=200,"Good!","")


まぁ、たしかに、SUM関数の引数が「,(カンマ)」で選択するのは大変面倒なのと、対象件数が増えてしまうと、わかりにくくなる傾向からミスを誘発しかねないことを考えれば、LET関数を使う方がいいのかもしれませんね。

とくに今回のように、途中途中に、日付の列があったりすると、次の数式のように


=IF(SUM(C2:F2)>=200,"Good!","")


とSUM(C2:F2)のように範囲選択してしまうと、日付はシリアル値であるために、合算対象になってしまうので、結果が200を超過してしまうために、すべてが「Good!」と表示されてしまいます。


新しく登場したLET関数。

新しく追加された理由があるはずなので、Excel VBAや、スピル機能との連動や新しく追加された関数などと、ネストしたり組み合わせて使ったりすることで、きっと効果を発揮するのではないかなぁ~思っています。