この記事でわかること
- LET関数の基本構文のおさらいと、IF関数・XLOOKUP関数と組み合わせた実践的な数式例
- 同じ計算を数式内で繰り返し書かずに済ませる、可読性・処理効率を高める書き方のコツ
- 数式が高度になるほど現場で起こりやすい属人化・保守性の課題と、その解決の方向性
Excel 2021・Microsoft 365で使えるLET関数は、数式の中に「名前付きの変数」を作れる関数です。前編のExcel LET関数の使い方|数式を簡潔にする書き方とコツでは、円の面積や利益率の計算といったシンプルな例を通じて、基本構文と使い方の基礎を解説しました。
本記事はその応用編として、基本構文の説明はおさらい程度にとどめ、IF関数やXLOOKUP関数と組み合わせた実務的な数式、そして数式をより読みやすく整理するテクニックに焦点を当てます!

おさらい:LET関数の基本構文
LET関数は「=LET(名前1, 値1, [名前2, 値2, …], 計算式)」という構文で、数式の途中経過に名前を付けて保持できる関数です。
名前と値のペアを複数指定でき、最後に指定した計算式が実際にセルに返る結果になります。基本構文や、円の面積・利益率計算といったシンプルな例はExcel LET関数の使い方|数式を簡潔にする書き方とコツで詳しく解説していますので、ここでは応用例の理解に必要な範囲にとどめ、以降は実務でよく使うパターンを見ていきます。
応用①:IF関数と組み合わせて条件判定を一発で行う
複数セルの合計や比率を計算したうえで判定まで行いたい場合、IF関数だけで書こうとすると同じ計算式を何度も書くことになりがちです。LET関数を使うと、計算結果に名前を付けて使い回せます。
|
=LET( 売上, SUM(B2:B10), 目標, 1000000, 達成率, 売上/目標, IF(達成率>=1,"目標達成","未達成") ) |
例:「=LET(売上,SUM(A2:A10),目標,1000000,達成率,売上/目標,IF(達成率>=1,"目標達成","未達成"))」
SUM(A2:A10)の結果を「売上」という名前で定義し、「目標」を100万円、「達成率」を売上÷目標として算出します。売上の合計が134万円だった場合、達成率は134%となり、IF関数の条件(達成率>=1)を満たすため、結果は「目標達成」と表示されます。

ここでLET関数の利点がわかります。現在の数式では、目標セルの値が100万円のときは達成率134%で「目標達成」と表示されます。この「目標」の値だけを150万円に引き上げると、達成率は134万円÷150万円で約89.3%に下がり、IF関数の条件(達成率>=1)を満たさなくなるため、表示は自動的に「未達成」へと切り替わります。判定のロジック自体(IF以降の部分)は一切書き換える必要がなく、名前で定義した値を差し替えるだけで済む点が、通常のネストした数式との違いです。
同じ「達成率」を判定だけでなく表示メッセージにも使いたい場合は、次のように名前を複数箇所で使い回すこともできます。
|
例:「=LET(売上,SUM(A2:A10),目標,1000000,達成率,売上/目標,IF(達成率>=1,"目標達成(達成率"&TEXT(達成率,"0%")&")","未達成(達成率"&TEXT(達成率,"0%")&")"))」
達成率が134%であれば「目標達成(達成率134%)」と表示されます。

LETを使わずに書くと、SUM(B2:B10)/1000000という同じ計算を数式内に3回書く必要がありますが、LETなら「達成率」という名前で1回計算した結果を使い回せるため、数式が短くなり、修正時に直す箇所も1か所で済みます。
応用②:XLOOKUP関数と組み合わせて複数シートを連携する
注文データと商品マスタのように、複数の表をまたいで計算したい場合にもLET関数が役立ちます。XLOOKUP関数で取得した値に名前を付けておくことで、後続の計算式が読みやすくなります。
|
【注文データ】

【商品マスタ】

例:セルA3の商品ID(例:P001)をもとに、XLOOKUP関数で「商品マスタ」シートのA列から該当行を探し、B列の価格(例:2,000円)を「価格表」という名前で取得します。数量(セルB3、例:2個)を掛け合わせた「合計金額」をTEXT関数で3桁区切りの円表示に整え、結果は「4,000円」となります。
数量が2個のときは合計金額が4,000円と表示されますが、注文データ側で数量を5個に変更すると、価格表の値(2,000円)はそのままに合計金額だけが2,000円×5個で10,000円に変わり、表示形式「#,##0円」はそのまま維持されるため「10,000円」と表示されます。価格表・数量・合計金額をそれぞれ名前で分けているため、どの値が変わって結果が変化したのかを数式を追わずに把握しやすいのも、LET関数を使う利点です。
応用③:変数名の付け方と改行で、数式の可読性をさらに上げる
LET関数の効果は、名前の付け方次第で大きく変わります。「a」「b」のような抽象的な名前ではなく、「売上」「達成率」「商品ID」のように、何を表す値かが一目でわかる名前を付けることが重要です。
また、数式バーの入力中にAlt+Enterキーを押すと任意の位置で改行できるため、応用①・②のように「名前, 値」の対応を1行ずつ並べて表示させることができます。
現場で頻発する限界・リスク:数式が高度になるほど起きること
LET関数を使った数式は便利な反面、名前の定義が増えて数式が長く複雑になるほど、現場では次のような課題が起きやすくなります。
- ブラックボックス化:LET関数で定義する名前の数が増え、ネストが深くなるほど、数式を組んだ本人以外にはどこで何を計算しているかが追いにくくなります。特に応用②のように複数シートを参照する数式は、名前の定義を1つずつ読み解かないと全体の処理が把握しづらくなります。
- 属人化:複雑な数式を作成した担当者が異動・退職すると、同じ考え方で改修・拡張できる人が社内に残らず、「触れないシート」として塩漬けになりがちです。
- Excelバージョンとの互換性:LET関数・XLOOKUP関数はExcel 2021以降およびMicrosoft 365でのみ利用できます。取引先や社内の一部が古いバージョン(Excel 2019以前など)を使っている場合、ファイルを開くと数式が#NAME?エラーになり、共同編集や共有時のトラブルの原因になります。
- チーム内の知識差:LETやXLOOKUPを理解して自分で応用できるメンバーと、そうでないメンバーの差が大きく、関数を体系的に学ぶ機会が社内にないまま、一部の得意な人にすべてが集中してしまうケースが多く見られます。
まとめ
本記事では、LET関数の応用として、IF関数・XLOOKUP関数との組み合わせ、そして計算式を繰り返し書かずに済ませる可読性向上のテクニックを紹介しました。
一方で、数式が高度になるほど、作成者本人以外には理解できないブラックボックス化や属人化、古いExcelバージョンとの互換性といった課題も表面化しやすくなります。個人の数式力に依存した運用のままでは、担当者の異動や退職をきっかけに業務が止まってしまうリスクも否定できません。
LET関数はぜひ日々の業務に取り入れていただきたい一方で、チーム全体でその知識と運用ルールを共有できる体制づくりも、あわせて検討していく価値があります。
![]() |
現場のスキル底上げ・業務標準化を実現:実務で使える「OBPM Neoの研修サービス」 OBPM Neoでは、プロジェクト管理の標準化や現場で役立つ実践スキルを体系的に学べる研修プログラムを提供しています。
\すぐに実務で活かせる「使える」研修としてPM経験者が伴走!/
OBPM Neoの「PM経験者が指導する研修サービス」の詳細はこちら |
- カテゴリ:

