ExcelのLET関数で数式を読みやすくする。計算速度の向上と効率的な使い方の解説

2026年3月3日

English version.

はじめに

Excelで複雑な数式を組み立てている際、「数式が長くなりすぎて、後で見返したときに意味がわからなくなる」「データ量が増えるにつれて、再計算の動作が重くなる」といった課題に直面することはないでしょうか。

これらの課題を解決するための有力な選択肢が「LET(レット)関数」です。一見するとプログラミングのような記述スタイルに見えるため、難しそうだと感じてしまうかもしれません。しかし、その本質は「数式の中身を整理整頓して、名前を付ける」という非常にシンプルなものです。

現在、実務の効率化や高度なデータ分析を求める現場では、このLET関数を使いこなすことが、メンテナンス性の高いシートを作るための「新しい作法」となりつつあります。数式に名前(変数)を割り当てることで、誰にとっても読みやすく、かつExcelの計算負荷を抑えたスムーズな動作を実現できます。

本記事では、IT初心者から中級者の方に向けて、LET関数の基本的な仕組みから、明日からの業務にすぐ取り入れられる具体的な活用シーンまでを丁寧に解説します。複雑な数式に振り回されるのではなく、自らコントロールして管理するための第一歩として、ぜひ本機能を活用してください。

概要解説動画

LET関数の基本仕様と引数の構成

=LET(名前1,値1, ~ 名前126,値126,数式)
引数省略時の値説明
名前1~126省略不可任意の命名を行います。
数字以外で始まる必要があります。
名前と値のセットは最低1つ指定する必要があります。
2以降は126まで指定可能です。
値1~126省略不可名前に対応する内容を指定します。
数値、文字列、数式のどれでも構いません。
数式省略不可最後(奇数個め)の引数が、
これまで定義した名前を使用する数式になります。
引数の詳細

使用例

基本ケース

単純な使用例です。引数は以下の通りです。

=LET(a,25,a)
引数設定値
名前1a
値125
数式a

最後の数式でaという名前が25として扱われます。aは文字列ではないので"は付けません。

範囲に名前を付けるのと同じ扱い)

値に文字列

値を"で囲めば文字列を指定可能です。

=LET(a,"ABC",a)
引数設定値
名前1a
値1"ABC"
数式a

複数の名前を定義

複数の名前を定義するパターンです。

数式が長くなる場合は、名前と値のセット毎にセル内改行すると読みやすくなります。

また値2~126には、より左側で既に定義した名前を使用可能です。

=LET(
  a,3,
  b,a+2,
  a+b
)
引数設定値
名前1a
値13
名前2b
値2a+2
数式a+b

この場合、a=3、b=5で結果が8になります。

注意点

LET関数は有用ですが、比較的新しい機能であるために認知度が低く、これまでのExcelの数式とは性質がかなり異なる関数です。

よって他の人が数式を見る可能性がある場合はLET関数について説明しておくことも検討しましょう。

LET関数を利用する3つのメリット

意図なく使用すると数式が理解しにくくなってしまうため、使用が適切かを判断する必要があります。

数式の可読性が高まる(変数の活用):複雑な数式を簡略化

Excelの数式が複雑で解読しにくくなる主な原因は、同じセル参照や計算ロジックが何度も繰り返され、数式が「入れ子(ネスト)」構造になってしまうことにあります。LET関数で「変数」を活用すると、数式の各パーツに名前を付けられるため、数式全体を整理整頓できます。

例えば、複雑な条件分岐や計算の塊に「売却価格」や「判定基準」といった名前を割り当てると、最終的な計算式ではその「名前」を使って記述できるようになります。これにより、数式が単なる記号やセル番地の羅列ではなく、意味を持った論理的な文章に近い形に整理されます。

このように、数式内で「何が計算されているか」を明確に定義することは、作成者本人だけでなく、後からそのシートを確認する第三者の理解を助けることにもつながります。

例えば次のような例では特定の文字列以前・以降・間の文字を抽出する例では重複除外と合わせて効果があります。

=MID(B3,FIND(C3,B3)+LEN(C3),FIND(D3,B3)-FIND(C3,B3)-LEN(C3))

C列の文字ととD列の文字の間の文字をMID関数で文字列を切り出すのがメインですが、切り出し位置を決めるためのFIND関数LEN関数が入り組んでいます。

また重複した数式も存在します。(背景色で色付けしている個所)

まず重複除外のみを行うと次の数式になります。

=LET( 
  前文字の開始位置,FIND(C3,B3), 
  前文字数,LEN(C3), 
  MID(B3,前文字の開始位置+前文字数,FIND(D3,B3)-前文字の開始位置-前文字数)
)

意味のある数式のかたまりに名前を付けて明確にすると以下のようになります。

=LET( 
  前文字の開始位置,FIND(C3,B3),
  前文字数,LEN(C3),
  切り出しの開始位置,前文字の開始位置+前文字数,
  切り出し文字数,FIND(D3,B3)-前文字の開始位置-前文字数,
  MID(B3,切り出しの開始位置,切り出し文字数)
)

これによりMID関数の数式の構造が明確になります。

計算負荷を軽減し、処理速度を向上させる

Excelのブックが重くなる主な原因の一つに、「同じ計算の繰り返し」があります。特にデータ量が多いシートで複雑な関数を使用している場合、再計算のたびにPCに大きな負荷がかかり、作業の停滞を招くことがあります。

LET関数が処理速度の向上に寄与する最大の理由は、重複する計算を「一度だけ」にまとめられる点にあります。

例えば、以下のような数式を考えてみましょう。 「VLOOKUP関数で計算した結果が一定の値以上であれば、その計算結果を表示し、そうでなければ別の処理をする」

このような条件分岐(IF関数など)を行う場合、これまでの数式では同じVLOOKUP関数を二度記述する必要がありました。このとき、Excelは内部で同じ計算を二回実行することになります。

一方、LET関数を使用して「計算結果を変数に格納」すると、Excelはその計算を最初の一回しか行いません。二回目以降は、メモリに保存された結果を呼び出すだけで済むため、計算リソースの消費を大幅に抑えることができます。

一つひとつの計算時間の差はわずかかもしれませんが、数万行に及ぶデータや、多数のシートを抱えるファイルでは、この差がブック全体の快適な動作を支える重要なポイントとなります。「Excelが重くて作業が進まない」という課題を抱えている場合、LET関数による数式の最適化は、非常に効果的な解決策の一つといえます。

修正時のミスを減らせる(デバッグ)

Excelの数式を修正する際、「数式内の複数箇所にある同じセル参照を、一つだけ直し忘れて計算結果が合わなくなった」という経験はないでしょうか。 LET関数を活用することで、こうした人為的な修正ミスを構造的に防ぐことが可能になります。

これまでの複雑な数式では、例えば「もし検索結果が空白なら空白を返し、そうでなければ検索結果を返す」といった処理を行う場合、同じVLOOKUP関数などの記述を二度繰り返す必要がありました。この場合、後から参照範囲や検索条件を変更しようとすると、数式内の全ての該当箇所を正確に書き換えなければならず、修正漏れが発生するリスクが常に付きまといます。

LET関数を使用すれば、計算ロジックに名前を付けて一箇所で定義できるため、修正が必要な際もその定義部分だけを書き換えれば完了します。修正箇所が「一箇所で済む」ということは、それだけミスが入り込む余地を減らせるということです。

数式の構造をシンプルに保つことは、単なる作業の効率化だけではなく、数ヶ月後の自分や他の担当者がシートを引き継いだ際の「解読と修正のしやすさ」にも大きく貢献します。エラーの特定(デバッグ)に費やす時間を削減し、より本質的なデータ分析に集中できる環境を整えましょう。

実践的な活用シーン:VLOOKUP関数の重複を排除する

例えば下の数式では同じVLOOKUP関数が2つあります。

VLOOKUP関数で結果が0になる場合の対処方法の例)

=IF(VLOOKUP(C2,B6:C8,2,FALSE)="","",VLOOKUP(C2,B6:C8,2,FALSE))

このような場合は次のようにすると重複を除外して改善可能です。

=LET(vl,VLOOKUP(C2,B6:C8,2,FALSE),IF(vl="","",vl))

同一の数式を一つの名前にまとめることが出来るので、

関数を変更する際に1つだけで変えて、他の同一部分を変え忘れるようなことがなくなります。

単純なセル参照でも同じ場所への参照が多量にあれば効果があります。

これは中間セルを作って数式を省略するようなケースでも有効です。

また計算結果を格納するため関数の実行が1回で済むようになり計算速度が向上します。

(先ほどの例では2回のVLOOKUP関数実行が1回で済む)

特にFIND関数XLOOKUP関数、VLOOKUP関数のような動作の重くなりがちな関数を

大量に使用している場合は特に計算速度の改善効果が高くなります。

数式が重いブックの場合、こちらと合わせてLET関数が改善のための検討候補になるでしょう。

さらなるステップアップ:LAMBDA関数への橋渡し

LET関数の仕組みを理解し、数式内で「変数」を扱えるようになると、Excelでの数式構築における「プログラミング的思考」の基礎が身についたと言えます。このスキルをさらに発展させた先にあるのが「LAMBDA(ラムダ)関数」です。

LET関数が「一つの数式の中で名前(変数)を定義する」ものであるのに対し、LAMBDA関数は「数式そのものに名前を付けて、独自の関数として定義する」機能です。

例えば、LET関数を使って構築した「複雑だが便利な計算ロジック」があったとします。通常、その計算を別の場所でも使いたい場合は、数式をコピー&ペーストしなければなりませんが、LAMBDA関数を使えばその必要はありません。作成した数式を「消費税計算」や「独自判定ロジック」といった名前で保存して呼び出すことが可能になります。

実は、LAMBDA関数の中で複雑なロジックを記述する際にも、今回学んだLET関数が頻繁に活用されます。LAMBDA関数で計算の枠組みを作り、その内部をLET関数で整理整頓する。この二つを組み合わせることで、Excel作業の自動化・効率化の幅は飛躍的に広がります。

「数式をコピーして使い回す」段階から、「自分専用の関数ライブラリを構築する」段階へ。LET関数の習得は、その大きな一歩となります。より高度な自動化に関心がある方は、ぜひ次のステップとしてLAMBDA関数の活用も検討してみてください。

注意点と互換性の確認

LET関数は非常に強力なツールですが、実務で活用する際には「利用環境」と「命名ルール」の2点に注意が必要です。

対応バージョンと互換性

LET関数は比較的新しい機能であるため、古いバージョンのExcelでは動作しません。利用可能な環境は以下の通りです。

  • 対応環境: Microsoft 365、Excel 2021以降、Excel 2024、Excel for the Web
  • 非対応環境: Excel 2019以前の買い切り版

もし、ファイルを共有する相手がExcel 2019以前のバージョンを使用している場合、数式の結果がエラー(#NAME?)となってしまいます。不特定多数に配布するファイルや、古い環境が残る組織内で共有する場合は、相手の利用バージョンを事前に行認しておくことを推奨します。

変数の命名ルール

LET関数内で定義する名前(変数)には、いくつかの制約があります。

  • 数字で始めることはできない: 名前は必ず文字、またはアンダースコア(_)から始める必要があります。
  • セル参照と混同される名前は避ける: 例えば「A1」や「C2」といった名前を付けてしまうと、Excelのセル番地と区別がつかなくなり、エラーや意図しない挙動の原因となります。
  • スペースは使用不可: 名前の途中にスペースを入れることはできません。

可読性とのバランス

数式を整理するためのLET関数ですが、変数の数を増やしすぎたり、過度に複雑なロジックを詰め込みすぎたりすると、かえって解読を困難にするケースもあります。 「後から自分や他人が見たときに、直感的に意味が伝わるか」という視点を常に持ち、適切に名前を定義することが、本機能を最大限に活かすコツといえます。

まとめ

LET関数は、複雑になりがちなExcelの数式を「整理」し、実務の「効率」を飛躍的に高めるための強力なツールです。本記事で解説した通り、この関数を活用することで、単に数式を読みやすくするだけでなく、以下のような多角的なメリットを享受できます。

  • メンテナンス性の向上:数式に意味のある名前を付けることで、解読や修正が容易になります。
  • 計算負荷の軽減:重複する計算を排除し、データ量の多いブックでも軽快な動作を維持できます。
  • ミスの防止:修正箇所を一箇所に集約できるため、人為的な更新漏れを構造的に防げます。

2026年現在のExcel活用において、LET関数はもはや特殊なテクニックではなく、専門性の高い業務を支えるための「標準的な作法」と言えます。また、LAMBDA関数の習得など、LET関数を理解することは、Excelを通じた業務改善の新たな可能性を広げる重要なステップとなります。

最初は変数を定義する記述に戸惑うこともあるかもしれませんが、まずはVLOOKUP関数の重複解消など、シンプルなケースから取り入れてみてください。日々の小さな改善の積み重ねが、組織全体の生産性向上や、より高度なデータ分析へとつながっていきます。

本記事が、皆様の日常業務における課題解決と、スキル向上の一助となれば幸いです。

Excel完全マスター: 関数・テクニック・新機能を網羅した決定版ガイド

本書は、Excelの基礎から応用まで、包括的に学べるガイドブックです。当サイトの豊富な情報を、電子書籍向けに最適化し、読みやすく再構成しました。

【本書の特徴】

  • 情報量:Word-A4サイズ換算で1,400ページ相当
  • 基本操作から高度なテクニックまで、段階的に学習可能
  • 140種類の関数を詳細に解説
  • 109種類の実用的なテクニックと具体例を紹介
  • 最新機能(XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピル等)を徹底解説

【対象読者】

  • Excel初心者からプロフェッショナルまで
  • 体系的にExcelスキルを向上させたい方
  • 業務効率化を目指すビジネスパーソン
  • データ分析や可視化のスキルを磨きたい方

【本書の強み】

  • 実務に即した例題と解説
  • 視覚的な図表やスクリーンショットで理解を促進
  • 最新のExcelバージョンに対応した内容
  • 著者の長年の経験に基づく、実践的なTipsを多数収録

【更新とサポート】

  • 常に最新の情報を反映するため、定期的に内容を更新
  • 最新版の入手方法:Amazonカスタマーサポートへお問い合わせください

【入手方法】

  • 買い切り:950円
  • Kindle Unlimited:読み放題プランで利用可能

Excelマスターを目指す方、業務効率を劇的に向上させたい方に、自信を持っておすすめできる一冊です。この1冊で、Excelの可能性を最大限に引き出す力が身につきます。

関連記事

活用例

値の存在する行のみ抽出する数式

スピルでクロス集計(データ更新が自動反映)を行う数式

URLパラメータの値を抽出する数式

URLパラメータを削除、またはURLパラメータのみにする数式

VLOOKUP関数で結果が0になる場合の対処方法

特定の文字列以前・以降・間の文字を抽出する方法

関数の仕様と使い方の記事一覧