LET 関数
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2021 Excel 2021 for Mac その他…表示数を減らす
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 必須 | 以下のいずれかになります。 |
- LET 関数内のすべての名前を使用する計算。 LET 関数の最後の引数でなければなりません。
- 2 番目の name_value に割り当てる 2 番目の名前。 名前が指定されている場合、name_value2 と calculation_or_name3 が必須です。
name_value2 任意 | calculation_or_name2 に割り当てられている値。
calculation_or_name3 任意 | 以下のいずれかになります。
- LET 関数内のすべての名前を使用する計算。 LET 関数の最後の引数は計算でなければなりません。
- 3 番目の name_value に割り当てる 3 番目の名前。 名前が指定されている場合、name_value3 と calculation_or_name4 が必須です。
注:
最後の引数は、結果を返す計算である必要 があります。
変数の名前は、名前マネージャーで使用できる有効な名前と一致します。 たとえば、"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 を使用した数式**