LET 関数は、計算結果に名前を割り当てます。 これにより、中間計算、値、定義名などを数式内に格納できます。 これらの名前は、 LET 関数の範囲内でのみ適用されます。 プログラミングの変数と同様に、 LET は Excel のネイティブな数式構文を使用して実行されます。
Excel で LET 関数を使用するには、名前と関連する値のペア、およびそのすべてを使用する計算を定義します。 少なくとも 1 つの名前/値のペア (変数) を定義する必要があり、 LET 最大 126 組をサポートします。
利点
-
パフォーマンスの向上 1 つの数式内に同じ式を複数回記述した場合、Excel はその結果を複数回計算します。
LETを使用すると、式を名前で呼び出し、Excel で 1 回だけ計算させることができます。 - 快適な読み取りと構成 特定の範囲/セル参照が参照していた内容、計算が何を行っていたか、または同じ式をコピー/貼り付けたことを覚えておく必要はもうありません。 変数を宣言して名前を付ける機能を使用して、自分と式のコンシューマーにとってわかりやすいコンテキストを割り当てることができます。
構文
=
LET(name1, name_value1, calculation_or_name2, [name_value2, calculation_or_name3...])
| 引数 | 説明 |
|---|---|
|
name1 必須 |
最初に割り当てる名前。 文字で始まる必要があります。 数式の出力であったり、範囲の構文と競合していたりしてはなりません。 |
|
name_value1 必須 |
name1 に割り当てられている値。 |
|
calculation_or_name2 必須 |
以下のいずれかになります。
|
|
name_value2 任意 |
calculation_or_name2 に割り当てられている値。 |
|
calculation_or_name3 任意 |
以下のいずれかになります。
|
注
- 最後の引数は、結果を返す計算である必要があります。
- 変数の名前は、名前マネージャーで使用できる有効な名前と一致します。 たとえば、"a" は有効ですが、"c" は R1C1 形式の参照と競合するため有効ではありません。
使用例
使用例 1
単純な式 "SUM(x、1)" の場合、x は値を割り当てることができる名前付きの変数です (この場合、x には値 5 が割り当てられます)。
=
LET(x, 5, SUM(x, 1))
この数式をセルに入力すると、値 6 が返されます。
使用例 2
たとえば、未加工の売上データがあり、そのデータをフィルター処理して 1 人のユーザーを表示し、空白セルにダッシュを追加するとします。
| フィルター処理されていないデータ | フィルター処理されたデータ |
|---|---|
|
|
上記の操作は LETなしで実行できますが、 LET を使用すると数式の読みやすさが向上し、 LETを使用しない場合の 2 倍の速さで計算できます。
サンプル データ
この例を自分で調べる場合は、次の表を空白のワークシートのセル A1 にコピーします。
| 社員名 | 地域 | 製品 | 利益 |
|---|---|---|---|
| Amy | 東部 | りんご | $1.33 |
| Fred | 南部 | バナナ | $0.09 |
| Amy | 西部 | マンゴー | $1.85 |
| Fred | 北部 | $0.82 | |
| Fred | 西部 | バナナ | $1.25 |
| Amy | 東部 | りんご | $0.72 |
| Fred | 北部 | マンゴー | $0.54 |
元の数式
=IF(ISBLANK(FILTER(A2:D8,A2:A8="Fred")),"-", FILTER(A2:D8,A2:A8="Fred"))
使っている数式 LET
=LET( filterCriteria,"Fred", filteredRange, FILTER(A2:D8,A2:A8=filterCriteria), IF(ISBLANK(filteredRange),"-", filteredRange))