このシリーズでは「Excel 見積書 自動化」をテーマに、関数の仕組みを理解しながら自分で作れるようになることを目的にしています。
無料版サンプルは学習用として公開していますが、完成版は表紙や税計算などを整えた「すぐ使える見積ツール」として販売しています。
理解した内容をもとに自分でアレンジすることもできますし、時間を節約したい方は完成版をそのまま業務で活用いただけます。
関連記事
- 第1回:LETで計算式を整理
- 第2回:FILTER・VSTACK・HSTACKで明細を整理
- 第3回:XLOOKUPで品目コードから単価を自動参照
👉 完成版は BOOTHショップ 「P!rosh Lab」 にて公開中です。
[BOOTHショップはこちら]
Excelで複雑な数式を作ると、同じ計算を何度も書くことになり、数式が長く読みにくくなります。そんなときに役立つのが、便利な新関数 「LET関数」 です。
👉 この関数の仕組みを理解しておくことが、次回以降の「Excel見積書自動化」につながる第一歩になります。まずは基礎をしっかり押さえていきましょう。
VBAになじみのある方は「変数を使って値を一度代入し、繰り返し利用する仕組み」と考えると理解しやすいでしょう。LET関数も同じように、数式の中で名前を付けた値を再利用できるため、複雑な見積計算式をすっきり整理できます。
補足情報
LET関数は Microsoft 365で2020年11月頃に追加され、Excel 2021にも標準搭載されています。
Excel 2019以前では利用できないため、バージョンには注意してください。
VBAを使ったExcelファイルはウイルスと誤解されやすく、最近はメール添付などで敬遠されることもあります。
しかしLET関数はあくまで 「Excel標準の関数」 であり、マクロを含まないため安心して利用できます。
最新のExcelではWeb版でも利用できるため、環境を選ばず安全に活用できるのも大きなメリットです。
LET関数の基本構文
=LET(名前1, 値1, 名前2, 値2, …, 計算式)
- 名前:変数名(任意のラベル)
- 値:その変数に代入する値や式
- 計算式:最後に返す結果。ここで定義した変数を使える
基本例:同じ計算を繰り返すケース
通常の式
= (A1+B1) * (A1+B1)
これをLET関数で書き換えると
=LET(x, A1+B1, x*x)
👉 「A1+B1」を変数 x に代入し、再利用しているので数式がすっきり。
応用例
例1:平均と偏差の計算
=LET(avg, AVERAGE(A1:A10),
diff, A1:A10-avg,
SUM(diff^2))
avgに平均値を代入diffに各値との差を代入- その後の計算で再利用できる
例2:条件付き計算
=LET(total, SUM(A1:A10),
count, COUNTA(A1:A10),
total/count)
👉 合計と件数を変数にして、平均を計算。
例3:合計と件数から平均を計算
データが A1:A5 にあるとします。
データ例
A1:A5 = {12, 15, 18, 20, 25}
LET関数を使った式
=LET(total, SUM(A1:A5),
count, COUNTA(A1:A5),
total/count)
計算の流れ
- 合計
total = 90(SUM(A1:A5)の結果がtotalという箱(変数)に収納される) - 件数
count = 5(COUNTA(A1:A5)の結果がcountという箱(変数)に収納される) - 平均
total/count = 18(90 ÷ 5 の結果)
👉 「合計」と「件数」を変数にしておくことで、平均計算がシンプルになります。
例4:複雑な式の整理
例えば (A1+B1)*(A1+B1) を計算する場合。
データ例
A1 = 10, B1 = 5
LET関数を使った式
=LET(x, A1+B1, x*x)
計算の流れ
x = 10+5 = 15(10+5の結果がxという箱(変数)に収納される)x*x = 225(15×15の結果が返される)
👉 同じ計算を繰り返さずに済み、式が見やすくなります。
変数名の定義ルール
LET関数で定義する変数名は 任意の名前 を付けることができます。
アルファベットを使った短いラベル(例:x、total、avg など)が一般的ですが、複数文字でも問題ありません。
基本ルール
- 文字で始める必要がある
- Excelの予約語(SUM, IFなど)やセル参照と競合する名前は不可
- 名前マネージャーで使える有効な名前と同じルールが適用されます
- 数式内だけで有効(他のセルでは使えない)
- 日本語の名前も使えますが、可読性の面から英語の短いラベルがおすすめ
👉 つまり「変数名は自由につけられるが、分かりやすく整理すること」がポイントです。
例:日本語と英語の変数名
👉 日本語でも動作します
=LET(合計, SUM(A1:A5),
件数, COUNTA(A1:A5),
合計/件数)
英語ラベルの方が読みやすいケースもあります。
=LET(total, SUM(A1:A5),
count, COUNTA(A1:A5),
total/count)
変数名は 自由に付けることができます。
ただし、後から数式を見直したときにすぐ理解できるよう、意味の分かりやすい名前を付けることが望ましいです。
詳細解説
- 最低限必要:1つ以上の「名前/値ペア」を定義する必要があります。
- 上限:最大126組まで定義可能。つまり、変数を126個まで作成できます。
- スコープ(有効範囲):定義した変数はそのLET関数の中だけで有効。他のセルや数式には引き継がれません。
実務でのポイント
- 実務的には数十個も変数を使うケースは稀ですが、複雑な見積計算などでは便利。
- 126個まで使えるので「上限を気にするより、分かりやすい名前を付けて整理する」ことが重要です。
- VBAの変数と違い、LETの変数は数式内だけの一時的なラベルなので安全に使えます。
「LET関数は最大126個まで変数を定義できるが、実務では分かりやすさを優先するのがポイント」
まとめ
変数名のポイント
- 変数名は自由に付けられる
- 分かりやすさ・意味の伝わりやすさを優先する
- 既存の関数名やシステムで使われている名前 は「予約語」として扱われ、変数名として使えません。
予約語:プログラムやソフトウェアの中で すでに特別な意味や役割を持っている単語 のことです。
LET関数の特徴
- LET関数は「一度名前を付けた値を再利用できる」ので、複雑な数式を整理するのに最適。
- VBAの変数に似ているが、数式内だけで有効という違いがある。
- 実際の数値を入れると「平均」「偏差」「合計」などの計算がすっきり書ける。
利点まとめ
- 可読性向上:数式が短く整理される
- 再利用性:同じ計算を繰り返さずに済む
- パフォーマンス改善:複雑な計算を効率化できる
注意点
- Excel 365以降で利用可能(古いバージョンでは使えない)
- 変数名は日本語でもOKだが、英語や短いラベルの方が見やすい
結論
LET関数は「複雑な数式を整理するための道具」。特に設計や分析で長い式を扱う場面で威力を発揮します。
まずは簡単な再利用から試してみることで、その便利さを実感できるでしょう。
本記事は筆者がExcelのLET関数を整理した内容です。実務での活用にあたっては、環境やバージョンに応じて検証のうえご利用ください。
シリーズの流れ
この記事では、Excelの新関数 LET関数 の仕組みと活用例をご紹介しました。
数式の中で変数を定義して再利用できるため、複雑な式をすっきり整理できるのが大きな特徴です。
👉 このLET関数を理解していないと、次回以降の「Excel見積書自動化」のステップには進めません。まずはここでしっかり基礎を押さえてください。
この記事シリーズでは、Excel関数を使って「見積作成」の計算式を整理する具体的な方法をご紹介していきます。
複雑になりがちな要素を、変数を活用して分かりやすくまとめる体験をしていただけます。
「Excelで見積書を作りたいけれど、数式が複雑でわかりづらい…」
そんな悩みを、LET・HSTACK・VSTACK・FILTER関数を使った整理術でどう解決できるのかをシリーズで解説します。
最終的には 「見積書を自動作成できる仕組み」 にたどり着きます。ぜひ続けてご覧ください。
👉 あなたの業務でもすぐ応用できるヒントが見つかります。
