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

Excel LET関数の使い方|計算式に名前を付けて式を短くする(FILTERとの組み合わせ)

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

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

目次

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

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

LET関数の書き方

LET関数の構文
数式=LET(名前1,値1,[名前2,値2],…,計算式)
ひとことでLET
名前1
です
値1
です
[名前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関数で計算結果に名前を付けた表

計算結果に名前を付ける

1
結果を出したいセル(F4)を選びます。
2
「=LET(小計,SUMPRODUCT(B3:B7,C3:C7),」と入力し、名前「小計」と、その中身の計算を書きます。
3
「ROUND(小計*1.1,0))」と入力して Enter キーを押します。
LET関数の構文
数式=LET(小計,SUMPRODUCT(B3:B7,C3:C7),ROUND(小計*1.1,0))
ひとことでLET
小計
です
SUMPRODUCT(B3:B7,C3:C7)
です
ROUND(小計*1.1,0)
です

単価×数量の合計(3060)に「小計」という名前を付け、最後の式で 1.1 倍して丸めると 3366 です。LETを使わない =ROUND(SUMPRODUCT(B3:B7,C3:C7)*1.1,0) と同じ結果ですが、何を計算しているかが名前で分かります(SUMPRODUCT関数の使い方)。

名前を複数付ける

LET関数の構文
数式=LET(小計,SUMPRODUCT(B3:B7,C3:C7),税率,0.1,ROUND(小計*(1+税率),0))
ひとことでLET
小計
です
SUMPRODUCT(B3:B7,C3:C7)
です
税率
です
0.1
です
ROUND(小計*(1+税率),0)
です

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

同じ計算を何度も使う

LET関数の構文
数式=LET(平均,AVERAGE(B3:B7),COUNTIF(B3:B7,">"&平均))
ひとことでLET
平均
です
AVERAGE(B3:B7)
です
COUNTIF(B3:B7,">"&平均)
です

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

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

LET関数の構文
数式=LET(合計,SUM(C3:C7),件数,COUNT(C3:C7),合計/件数)
ひとことでLET
合計
です
SUM(C3:C7)
です
件数
です
COUNT(C3:C7)
です
合計/件数
です

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

範囲に名前を付ける

LET関数の構文
数式=LET(単価,B3:B7,MAX(単価)-MIN(単価))
ひとことでLET
単価
です
B3:B7
です
MAX(単価)-MIN(単価)
です

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

結果を文章にする

LET関数の構文
数式=LET(合計,SUMPRODUCT(B3:B7,C3:C7),"合計は"&合計&"円")
ひとことでLET
合計
です
SUMPRODUCT(B3:B7,C3:C7)
です
"合計は"&合計&"円"
です

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

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

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

LET関数のよくある質問

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

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

自分で関数を作るには?

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

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

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

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

この記事を書いた人

コメント

コメントする

目次