エクセル LET 関数:式や関数の結果に名前を付けて計算する

はじめに

エクセルの LET 関数の使い方を紹介します。

LET 関数は式や関数の結果に名前を付けて計算します。

名前の定義を関数にしたようなもので、VBA の変数のように使用できます。

数式に同じ関数があるときは、それを 1 回にできるのでパフォーマンスがよくなります。

この関数は 365 または 2021 から使用できます。
  • 目次
    • LET 関数
    • 使用例
    • 解説

LET 関数

LET(名前1, 名前値1, 計算)
LET(名前1, 名前値1, 名前2, 名前値2, … 計算)
名前値の値を名前に設定します。それを使用して計算した結果を返します。

引数「名前」引数「名前値」の名前を指定します。
引数「名前値」引数「名前」に設定する値を指定します。これより前の引数「名前」や数値、文字列、セル参照、関数などを指定できます。
引数「計算」返す値を指定します。引数「名前」、数値、文字列、セル参照、関数などを指定できます。

使用例

引数「名前」とセルの値を足し算します。

=LET(x,1,x+B3)
1

引数「名前」の合計から件数を割って平均を求めます。

=LET(合計,SUM(B3:B5),件数,COUNT(B3:B5),合計/件数)
2

Alt + Enter で改行すると、どのような計算をしているのかがわかりやすくなります。

=LET(
合計,SUM(B3:B5),
件数,COUNT(B3:B5),
合計/件数)
3

エラーチェックするときに、同じ計算を 2 回しなくてよくなります。

=LET(
結果,B3/C3,
IF(ISERROR(結果),"",結果))

LET 関数を使わないときは次のようにします。

=IF(ISERROR(B3/C3),"",B3/C3)
=IFERROR(B3/C3,"")
4

解説

複雑な計算をするときは、名前を付けて処理をわかりやすくできます。また同じ関数を複数使用するときは、1 回にできるのでパフォーマンスがよくなります。

引数「名前」の先頭の文字には英字、日本語、アンダーバー _ 、エクセルで意味のない記号などを使用できます。

引数「名前」の先頭以外の文字には加えて数字、絵文字を使用できます。例:a a2b a😀 _ 変数

引数「名前」に使用できる値は、「名前の定義」で使用できるものとほぼ同じです。

引数「名前」の大文字と小文字は区別しません。

引数「名前」に文字列 ( "" で囲まれているもの)やスペース、数値、セル名、シート名など、エクセルで意味のある値は使用できません。「R1C1 参照形式」を使用しているときは cr を使用できません。

引数「名前値」には、その前までに指定した引数「名前」を使用できます。引数「名前値3」で使用できるのは引数「名前1」と「名前2」です。

引数「名前値」や引数「計算」に作成していない名前を指定したときはエラー #NAME? になります。