「Googleスプレッドシートでデータ集計をしているけど、数式がどんどん長くなって、後から見返すと何が何だか分からない…」
「計算式の一部を修正したいだけなのに、どこを直せばいいのか探すのが大変…」
日々の業務でスプレッドシートを活用していると、このような悩みに直面することはないでしょうか。
特に、IF関数やVLOOKUP関数を組み合わせた複雑な数式は、作成した本人でさえ解読が困難になりがちです。
そんなあなたの悩みを解決してくれるのが、今回ご紹介するLET(レット)関数です。
LET関数を使えば、あの長く複雑だった数式が、スッキリと分かりやすくなります。
この記事ではLET関数の基本的な使い方から、実際の業務で役立つ具体的な活用例まで、丁寧に解説していきます。
この記事を読み終える頃には、あなたはLET関数を使いこなし、スマートで効率的なデータ管理を実現できるようになっているはずです。
LET関数とは?
LET関数とは、数式内で計算結果やセル参照に「名前」を付けて、その名前を数式内で再利用できるようにする関数です。
プログラミング経験のある方には、「数式内で変数を定義できる関数」と言うと分かりやすいかもしれません。
これまでスプレッドシートの数式では、同じ計算を何度も繰り返して記述する必要がありました。
しかしLET関数を使えば、一度計算した結果に名前を付けて保存し、必要な時にその名前を呼び出すだけで済むのです。
変数とは?
「変数」とは、数値や文字列などのデータを入れておく「箱」のようなものです。この箱に「売上金額」や「消費税率」といった分かりやすい名前を付けておくことで、後から中身を簡単に参照したり、変更したりできます。
LET関数を使う3つの大きなメリット
LET関数を導入することで、以下の3つの大きなメリットが得られます。
- 可読性の向上(数式が読みやすくなる)
数式の各部分に「単価」「割引率」のような具体的な名前を付けられるため、数式全体の処理の流れが直感的に理解しやすくなります。数式が複雑になればなるほど、このメリットは絶大な効果を発揮します。 - 保守性の向上(修正がしやすくなる)
例えば、計算に使用する消費税率が変更になった場合、従来の方法では数式内のすべての税率部分を一つひとつ修正する必要がありました。
LET関数を使えば、最初に税率を定義した一箇所を修正するだけで、数式全体の計算結果が正しく更新されます。これにより、修正漏れなどのミスを防ぎ、メンテナンスの効率が格段に向上します。 - パフォーマンスの向上(処理速度が上がる)
数式内で同じ計算(例えば VLOOKUP(A1, ‘商品マスタ’!A:E, 3, FALSE) のような)を何度も繰り返している場合、スプレッドシートはその都度計算処理を行います。
LET関数を使って一度計算した結果に名前を付けて再利用すれば、無駄な繰り返し計算がなくなり、スプレッドシート全体の動作が軽快になる効果が期待できます。
LET関数の基本的な使い方(構文)
それでは、LET関数の具体的な使い方を見ていきましょう。
LET関数の構文
LET関数の構文(数式の構造)は以下のようになっています。
=LET(名前1, 値の式1, [名前2, 値の式2, ...], 計算式)
引数 | 説明 |
名前1 | 最初の変数名(あなたが自由に付ける名前)です。 |
値の式1 | 「名前1」に格納する値や計算式です。 |
[名前2, 値の式2, …] | (省略可能)2つ目以降の変数名と値の式です。必要な数だけ追加できます。 |
計算式 | 最後に、定義した名前を使って行う最終的な計算式です。この計算結果がセルの値として表示されます。 |
簡単な例で動きを確認しよう
言葉だけでは少し難しく感じるかもしれませんので、簡単な例でLET関数の動きを見てみましょう。
ここでは、商品の本体価格(1,000円)から消費税(10%)込みの価格を計算してみます。
LET関数を使わない場合
=1000 * (1 + 0.1)
LET関数を使った場合
=LET(
本体価格, 1000,
税率, 0.1,
本体価格 * (1 + 税率)
)
このLET関数の式は、以下のように分解できます。
- 本体価格 という名前に 1000 を入れる。
- 税率 という名前に 0.1 を入れる。
- 本体価格 * (1 + 税率) という計算(つまり 1000 * (1 + 0.1))を実行する。
結果はどちらも「1100」ですが、LET関数を使った方が、それぞれの数値が何を表しているのか一目瞭然ですね。
【実践】法人の請求書作成でLET関数を活用する
それでは、LET関数のメリットが分かりやすい、より実践的な例を見ていきましょう。
ここでは、商品販売の「請求金額」を計算するシナリオを考えます。
計算の手順
- 小計 = 単価 × 数量
- 割引後金額 = 小計 × (1 – 割引率)
- 消費税 = 割引後金額 × 10%
- 請求金額 = 割引後金額 + 消費税
使用データ

課題:LETを使わないと…同じ計算の繰り返しが発生
上記の計算を、LET関数を使わずに一つのセルにまとめると、以下のようになります。(2行目のデータを参照する場合)
=(B2*C2)*(1-D2) + (B2*C2)*(1-D2) * 0.1

「割引後金額」を求めるための計算 (B2*C2)*(1-D2) が、数式内に2回も登場しています。これでも計算はできますが、数式が少し長くなり、どこで何をしているのか直感的に分かりにくいですね。
解決:LET関数で計算結果に名前を付け、再利用する
この数式を、LET関数を使って書き換えてみましょう。
=LET(
割引後金額, (B2 * C2) * (1 - D2),
割引後金額 + 割引後金額 * 0.1
)

LETを使わない数式と全く同じ構造のまま、繰り返し登場していた (B2*C2)*(1-D2) の部分だけを 割引後金額 という分かりやすい名前に置き換えることができました。
これにより、数式が何を計算しているのかが明確になり、可読性が大きく向上します。もちろん、同じ計算を繰り返す必要がなくなり、処理のパフォーマンス向上も期待できます。
【応用】LET関数で複雑な条件分岐をスマートに!
LET関数の真価が最も発揮されるのは、IFS関数などを使って条件分岐を行う際に、「もし〇〇(長い計算式)がA以上なら…、もし〇〇(同じ長い計算式)がB以上なら…」といった、同じ計算を何度も繰り返す場面です。
ここでは、「利益率」を算出して商品ランクを付けるシナリオを例に、LET関数がいかに強力かを見ていきましょう。
計算の手順
- 利益率 = (単価 – 原価) / 単価
- 利益率が50%を超えれば「Aランク」
- 利益率が20%を超えれば「Bランク」
- それ以外は「Cランク」
使用データ

課題:LETを使わないと…計算式が何度も登場し解読困難に
このランク付けをLET関数を使わずにIFS関数だけで書くと、以下のようになります。(B2セル:単価, C2セル:原価)
=IFS(
(B2-C2)/B2 > 0.5, "Aランク",
(B2-C2)/B2 > 0.2, "Bランク",
TRUE, "Cランク")

「利益率の計算式」である(B2-C2)/B2が、条件式の中に何度も登場しています。これでは数式が長くなるだけでなく、もし将来、利益率の計算方法自体を変更したくなった場合、すべての箇所を間違いなく修正しなければなりません。
解決:LET関数で「利益率」に名前を付け、劇的に見やすく!
ここでLET関数の出番です。最初に利益率の計算式に利益率という名前を付けてしまいましょう。
=LET(
利益率, (B2 - C2) / B2,
IFS(
利益率 > 0.5, "Aランク",
利益率 > 0.2, "Bランク",
TRUE, "Cランク"
)
)

LET関数を使った数式では、まず「利益率」を計算し、その結果を使ってIFS関数で条件分岐を行っています。
「何(利益率)を」「どう判定するか」という構造が明確に分離され、誰が見てもロジックを追いやすい、非常にメンテナンス性の高い数式になりました。
LET関数からLAMBDA関数へステップアップ
LET関数のように、数式内で一時的に名前を付けて処理を分かりやすくする考え方は、BYROW関数やBYCOL関数といった、より高度な関数にも応用されています。
これらの関数は、LAMBDA(ラムダ)関数と組み合わせて使用することで、複数の行や列にまたがる複雑な処理を一つの数式で実現できる、非常に強力な機能です。
LAMBDA関数やそのヘルパー関数(BYROWなど)の詳細については、こちらの記事で解説しています。LET関数に慣れた後のステップアップとして、ぜひご覧ください。
まとめ:LET関数でスプレッドシートを次のレベルへ
今回は、GoogleスプレッドシートのLET関数について解説しました。
【LET関数の重要ポイント】
- 数式内で計算結果や値に「名前(変数)」を付けられる関数。
- メリット1:可読性UP – 複雑な数式がスッキリして、処理の流れが追いやすくなる。
- メリット2:保守性UP – 修正が一箇所で済み、ミスが減り、メンテナンスが楽になる。
- メリット3:パフォーマンスUP – 無駄な繰り返し計算をなくし、動作が軽快になる。
- 多段階の計算や複雑な条件分岐と組み合わせることで絶大な効果を発揮する。
LET関数は、一見すると少し難しそうに感じるかもしれませんが、一度使い方を覚えてしまえば、あなたのスプレッドシート業務を劇的に効率化してくれる強力な武器になります。
まずは、あなたが今使っている数式の中で「この部分、何度も同じ計算をしているな」と感じる箇所を探し、LET関数で書き換えることから試してみてはいかがでしょうか。その分かりやすさと便利さに、きっと驚くはずです。
※Googleサービスは、Google LLC の商標であり、この記事はGoogleによって承認されたり、Google と提携したりするものではありません。