LET関数の使い方|計算結果に名前を付けて式を短くする・複数の名前

LET関数の使い方|計算結果に名前を付けて式を短くする・複数の名前

エクセルで、式の中の計算結果に名前を付けて、短く読みやすい式にするには LET関数を使います。=LET(小計,SUMPRODUCT(B3:B7,C3:C7),ROUND(小計*1.1,0)) のように、「小計」という名前で途中の計算を使い回せます。

同じ計算を何度も書く長い式が短くなり、あとから見たときに意味も分かりやすくなります。この記事では、LET関数の基本、名前を複数付ける方法、前の名前を使った計算、範囲に名前を付ける方法、結果を文章にする使い方までを、1つの表で説明します。下の練習ツールで、単価や数量を書き換えて結果の変わり方を試せます。

目次

LET関数の書き方

LET関数の構文
数式=LET(名前1,値1,[名前2,値2],…,計算式)
ひとことで式の中の値に名前を付けて計算する
名前1
名前です(何組でも付けられます)
値1
その名前に入れる値・式です
[名前2,値2]
2組目の名前と値です(省略できます)
…
同じように続けて指定できます
計算式
名前を使った計算式です
引数入れるものポイント
名前式の中だけで使う名前「小計」「税率」のように日本語も使えます。セル番地(A1など)と同じ形は使えません。
値名前に入れる値・計算・範囲前に付けた名前を使って計算することもできます。
計算式最後に結果を出す式いちばん最後の引数が結果になります。

Microsoft 365・Excel 2021 以降で使えます。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

LET関数の使い方|やりたいこと別の式

やりたいこと式(例)結果
税込みの合計(LETなし)=ROUND(SUMPRODUCT(B3:B7,C3:C7)*1.1,0)3366
小計に名前を付ける=LET(小計,SUMPRODUCT(B3:B7,C3:C7),ROUND(小計*1.1,0))3366
税率にも名前を付ける=LET(小計,SUMPRODUCT(B3:B7,C3:C7),税率,0.1,ROUND(小計*(1+税率),0))3366
平均より高い商品の数=LET(平均,AVERAGE(B3:B7),COUNTIF(B3:B7,”>”&平均))2
範囲に名前を付ける=LET(単価,B3:B7,MAX(単価)-MIN(単価))370
結果を文章にする=LET(合計,SUMPRODUCT(B3:B7,C3:C7),”合計は”&合計&”円”)合計は3060円
エクセルのLET関数で計算結果に名前を付けた表
エクセルのLET関数で計算結果に名前を付けた表

計算結果に名前を付ける

手順:F4 に LET の式を入れて Enter

単価×数量の合計に「小計」という名前を付け、税込み(1.1 倍)の金額を出します。 F4 に次の式を入力して、Enter キーを押します❶。

F4 に入れる式
=LET(小計,SUMPRODUCT(B3:B7,C3:C7),ROUND(小計*1.1,0))
小計 名前1(小計)SUMPRODUCT(B3:B7,C3:C7) 値1(単価×数量)ROUND(小計*1.1,0) 計算式(税込み)
ひとことで単価×数量の合計に「小計」という名前を付けて、その名前で税込みの計算をする
式を分けて読むと(色は画像の枠と同じ)
名前1小計
何という名前?
→ 「小計」
値1SUMPRODUCT(B3:B7,C3:C7)
名前に何を入れる?
→ 単価×数量の合計
計算式ROUND(小計*1.1,0)
名前を使って何を計算?
→ 小計を1.1倍して丸める
自分の表で使うときは
オレンジに好きな名前、青にその中身、最後の紫に名前を使った式を入れます。例:平均に名前を付けて、平均より高い数を数える=LET(平均,AVERAGE(B3:B7),COUNTIF(B3:B7,">"&平均))
  • Microsoft 365・Excel 2021 以降で使えます。
エクセルのLET関数で計算結果に名前を付ける式と、名前・値・計算式を色分けした画面
エクセルのLET関数で計算結果に名前を付ける式と、名前・値・計算式を色分けした画面

確認:税込みの合計 3366 が出た

エクセルのLET関数で小計3060を1.1倍した税込み3366が出たことを示した画面
エクセルのLET関数で小計3060を1.1倍した税込み3366が出たことを示した画面

答えは 3366 になりました❷。式は、次の順に計算しています。

  1. 単価×数量の合計を計算して、「小計」と名付ける
    ⇒ 360+400+900+1200+200=3060
  2. 小計×1.1を整数に丸める
    ⇒ 3060×1.1=3366
ヒント:LET なしでも同じ結果
=ROUND(SUMPRODUCT(B3:B7,C3:C7)*1.1,0) も 3366 です。LET を使うと、何を計算しているかが名前で分かります。

名前を複数付ける

LET関数の構文
数式=LET(小計,SUMPRODUCT(B3:B7,C3:C7),税率,0.1,ROUND(小計*(1+税率),0))
ひとことで式の中の値に名前を付けて計算する
小計
名前です
SUMPRODUCT(B3:B7,C3:C7)
その名前に入れる値・式です
税率
名前です
0.1
その名前に入れる値・式です
ROUND(小計*(1+税率),0)
名前を使った計算式です

「名前,値」の組を続けて書くと、名前をいくつでも付けられます。税率にも名前を付けると、式の中の 0.1 が何の数か一目で分かり、変えるときも1か所で済みます。結果は同じ 3366 です。

同じ計算を何度も使う

LET関数の構文
数式=LET(平均,AVERAGE(B3:B7),COUNTIF(B3:B7,">"&平均))
ひとことで式の中の値に名前を付けて計算する
平均
名前です
AVERAGE(B3:B7)
その名前に入れる値・式です
COUNTIF(B3:B7,">"&平均)
名前を使った計算式です

単価の平均(230)に名前を付け、平均より高い単価の数を数えると 2(ぶどう・もも)です。同じ計算を式の中で何度も使うとき、LET関数なら1回の計算で済むので、式が短く、計算も速くなります。

前の名前を使って計算する

LET関数の構文
数式=LET(合計,SUM(C3:C7),件数,COUNT(C3:C7),合計/件数)
ひとことで式の中の値に名前を付けて計算する
合計
名前です
SUM(C3:C7)
その名前に入れる値・式です
件数
名前です
COUNT(C3:C7)
その名前に入れる値・式です
合計/件数
名前を使った計算式です

後の名前の計算や最後の式では、前に付けた名前を使えます。数量の合計 15 を件数 5 で割って、平均の数量は 3 です。

範囲に名前を付ける

LET関数の構文
数式=LET(単価,B3:B7,MAX(単価)-MIN(単価))
ひとことで式の中の値に名前を付けて計算する
単価
名前です
B3:B7
その名前に入れる値・式です
MAX(単価)-MIN(単価)
名前を使った計算式です

値には範囲も指定できます。単価の範囲に「単価」と名前を付けると、最高 450 と最低 80 の差は 370 です。

結果を文章にする

LET関数の構文
数式=LET(合計,SUMPRODUCT(B3:B7,C3:C7),"合計は"&合計&"円")
ひとことで式の中の値に名前を付けて計算する
合計
名前です
SUMPRODUCT(B3:B7,C3:C7)
その名前に入れる値・式です
"合計は"&合計&"円"
名前を使った計算式です

最後の式で文字とつなげると、合計は3060円 のように文章で表示できます。

LET関数がうまくいかないときの確認表

症状考えられる原因対処
「#NAME?」になる名前のつづりが違う、または Excel 2019 以前名前の字を確かめる。古いExcelでは使えない。
式を確定できない(メッセージが出る)「名前,値」が組になっていない、最後の計算式がない「名前,値」の組と、最後の計算式があるか確かめる。
式を確定できない(名前の形)A1・TAX1 のようにセル番地と同じ形の名前「税率」「単価」など、セル番地と区別できる名前にする。

LET関数のよくある質問

付けた名前はほかのセルでも使える?

使えません。LET関数の名前は、その式の中だけで使えます。ブック全体で使いたいときは「数式」タブの「名前の定義」を使います(名前の定義の使い方)。

自分で関数を作るには?

LAMBDA関数を使うと、名前を付けた引数で計算する自分だけの関数を作れます。

あわせて読みたい:関連記事

練習用ファイル:練習用Excelファイル(.xlsx・無料)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次