[Excel 2021以降]
Excelの LET(レット)関数の使い方を紹介します。
Excel 2021の新関数であるLET関数を使用すると、数式の中に何度も出てくる式や値、セル範囲などに名前を付け、その名前を使った計算を行えます。
書式
数式や値、セル範囲に名前を付けて関数内で使用する
=LET(名前1, 式1,[名前2, 式2], …, 計算式)
[式1]に[名前1]、[式2]に[名前2]……、という名前を付け、その名前を使った[計算式]の結果を返します。[名前]と[式]は必ずペアで指定します。少なくとも1組指定する必要があります。
■引数
引数 | 説明 |
---|---|
名前 | [式]に付ける名前を指定する。 |
式 | [名前]に対応する式を指定する。式や定数、セル範囲を指定できる。 |
計算式 | LET関数の戻り値を求めるための式を指定する。[計算式]の中で[式]の代わりに[名前]を使用できる。 |
例えば次の数式は、
=▼*○○○○○+■/○○○○○+▲^○○○○○
LET関数を使用して「○○○○○」に「x」という名前を付けると、
=LET(x, ○○○○○, ▼*x+■/x+▲^x)
のように書き換えることができます。
[計算式]の中に同じ[式]が複数存在する場合、同じ計算を何度もすることになります。[式]に[名前]を付けておけば、その[式]の計算は1回で済み、パフォーマンスの向上を期待できます。また、数式の修正も1カ所で済むのでメンテナンス性も上がります。
なお、[名前]には、英数字、日本語、アンダースコア「_」を使用できます。ただし、先頭に数字を指定することはできません。また、「A1」のようなセル番号と重複する名前も使用できません。
使用例1…数式中に何度も出てくるセル範囲に名前を付ける
具体例を見ていきましょう。図1のセル I3の数式には「B3:H3」が 4回出現します。
セル I3 | =(SUM(B3:H3)-MAX(B3:H3)-MIN(B3:H3))/(COUNT(B3:H3)-2)
LET関数を使用して、セル I3の数式を書き換えてみましょう。ここでは「B3:H3」に「s」という名前を付けます。引数[名前1]に「s」、[式1]に「B3:H3」を指定します。さらに、図1の数式の「B3:H3」を「s」で置き換えて、[計算式]に指定します。
=LET(名前1, 式1, 計算式)
セル I3 | =LET(s,B3:H3,(SUM(s)-MAX(s)-MIN(s))/(COUNT(s)-2))
計算対象のセル範囲「B3:H3」を変更する場合、図1の数式では4カ所の修正が必要なのに対して、図2の数式では1カ所で済みます。
メモ
使用例2…数式中の一部の式に名前を付ける
次に、数式中の特定の式に名前を付ける例を紹介します。以下の数式には「FIND("市",B3)」が2回出てきます。
セルC3 | =MID(B3,FIND("市",B3)+1,FIND("区",B3)-FIND("市",B3))
「FIND("市",B3)」に「shi」という名前を付けて図3の数式を書き換えると以下のようになります。
=LET(名前1, 式1, 計算式)
セルC3 | =LET(shi,FIND("市",B3),MID(B3,shi+1,FIND("区",B3)-shi))
「FIND("区",B3)」にも名前を付けた場合、数式は以下のようになります。
=LET(名前1, 式1, 名前2, 式2, 計算式)
セルC3 | =LET(shi,FIND("市",B3),ku,FIND("区",B3),MID(B3,shi+1,ku-shi))
なお、引数[名前]は、定義した以降の[式]と[計算式]でしか使用できません。例えば、[名前2]は[式2]と[計算式]で使用できますが、[式1]では使用できません。
以下では、図4の数式中の「B3」に「r」(「range」の頭文字)という名前を付けて、[式2]と[式3]と[計算式]で使用しています。[式2]と[式3]で使用するので、「r」は[名前1]で指定する必要があります。
=LET(名前1, 式1, 名前2, 式2, 名前3, 式3, 計算式)
セルC3 | =LET(r,B3,shi,FIND("市",r),ku,FIND("区",r),MID(r,shi+1,ku-shi))
今回はLET関数の使い方の説明なので[式]自体は平易なものを使用ましたが、実際に便利さが実感できるのは長く複雑な[式]を指定するときでしょう。
メモ