経理のExcelには、作った本人にしか読めない「呪文のような数式」が眠っています。IFの入れ子が5段、同じVLOOKUPが1本の式に3回登場、カッコの対応はもう誰にも分からない――この式が壊れたとき、直せる人がいないというリスクは、属人化の中でも特に厄介です。この問題への現代的な答えがLET関数です。
この記事では、LET関数の基本と、税額計算など経理の実例で「長い数式を読みやすく書き直す」方法、後任が読める数式設計の作法を解説します。LETはMicrosoft 365・Excel 2021以降で使えます(お使いのバージョンをご確認ください)。
LET関数の基本:数式の中に「変数」を作る
LETは、数式の中で名前(変数)を定義し、その名前を使って計算を書く関数です。
=LET(名前1, 値1, 名前2, 値2, …, 最後に計算式)
例:=LET(税抜, A2, 税率, 10%, 税抜*(1+税率))
効果は2つあります。①同じ計算の繰り返しが消える(一度名前を付ければ何度でも使え、計算も1回で済むため高速化にもなる)、②数式が「計算の手順書」として読めるようになる。プログラミングの変数と同じ発想ですが、書く場所は普通の数式バーの中。マクロなし自動化の思想(関連記事:No.44 マクロなし自動化)と完全に両立します。
経理の実例でビフォーアフター
実例1:源泉徴収税額(報酬10.21%・100万円超の段差)
【Before】
=IF(A2<=1000000,ROUNDDOWN(A2*10.21%,0),ROUNDDOWN(1000000*10.21%+(A2-1000000)*20.42%,0))
【After】
=LET(報酬, A2,
基準額, 1000000,
低率分, MIN(報酬,基準額)*10.21%,
高率分, MAX(報酬-基準額,0)*20.42%,
ROUNDDOWN(低率分+高率分,0))
Beforeでも動きますが、Afterは「100万円までは10.21%、超えた部分は20.42%」という制度の構造がそのまま数式に見えます。数式を読むことが制度の説明になる――これがLETの真価です。
実例2:所得税の速算表計算
=LET(課税所得, A2,
税率, VLOOKUP(課税所得, 速算表, 2, TRUE),
控除額, VLOOKUP(課税所得, 速算表, 3, TRUE),
課税所得*税率-控除額)
VLOOKUPを2回書く従来の式と結果は同じですが、「税率」「控除額」という名前が付くことで、後任者が速算表の仕組みを知らなくても式の意図を追えます。
実例3:判定つきの複合計算(社会保険の等級判定など)
「報酬月額から等級を引き、料率を掛け、端数処理して、折半する」のような多段計算は、LETで1ステップ1行に分解して書きます。Alt+Enterで数式内改行を入れ、変数名は日本語でつけるのが読みやすさのコツです(日本語の変数名は問題なく使えます)。
「引き継げる数式」の設計作法
- 変数名は業務の言葉で:x、tmpではなく「税抜金額」「按分率」。数式が仕様書を兼ねる状態を目指す
- 1変数1意味:同じ変数を使い回して途中で意味を変えない
- 定数はLETの変数かマスタセルへ:税率・基準額を式に直書きしない。改正時の修正箇所が一目で分かる(マスタ化の思想は当ブログの全テンプレート共通です)
- 長すぎる式は分割する:LETでも10変数を超えるようなら、中間計算列(作業列)に分ける方が保守しやすい。「全部1セルに入れる」ことは目的ではない
- 数式の説明コメントを添える:セルのメモ(コメント)に「何を計算しているか・元にした制度・最終更新日」を残すと、引き継ぎの完成度が上がる(関連記事:No.130 経理引継書の作り方)
実務の注意点・つまずきポイント
- 旧バージョンとの互換性:LET非対応のExcelで開くとエラーになります。社外・顧問先とやり取りするファイルは相手の環境を確認してから採用してください(互換性の考え方はスピル関数と同じです:関連記事:No.97 FILTER・UNIQUE関数のスピル入門)。
- 変数の定義順序:後で定義する変数を先に使うことはできません。計算の依存関係の順に上から定義します。
- デバッグは部分実行で:結果がおかしいときは、最後の計算式の部分を一時的に変数名単体(例:低率分)に書き換えると、中間値を確認できます。
- 使いどころを選ぶ:単純な四則演算にLETを使うのは過剰です。「同じ計算が2回以上登場する」「IFの入れ子が3段を超える」が導入の目安です。
- LAMBDAへの入口:LETに慣れると、数式を関数として登録するLAMBDA関数へ自然にステップアップできます。事務所の共通計算(源泉計算など)の部品化はその先の世界です。
読みやすい数式で作られたテンプレートのご案内
当ブログで販売しているExcelテンプレートは、税率等のマスタ分離・業務の言葉での設計・保守しやすい数式構造という本記事の作法で作られています。「買ったはいいが中身がブラックボックス」にならない、改造も引き継ぎもできる商品設計です。数式の品質を重視する事務所・経理担当の方にこそお使いいただきたいテンプレート群です。
経理で使う関数の全体像はこちらの記事を(関連記事:No.39 経理で使うExcel関数10選)、最新関数の活用はこちらをご覧ください(関連記事:No.97 FILTER・UNIQUE関数のスピル入門)。
まとめ
- LETは数式内に変数を作る関数。繰り返しが消え、数式が計算の手順書として読める
- 税額計算のような段差・多段計算で効果が最大。制度の構造が数式に見える
- 変数名は業務の言葉・日本語でつけ、定数はマスタ化するのが引き継げる数式の作法
- 「同じ計算2回以上・IF入れ子3段超」が導入の目安。単純な式には使わない
- LET非対応バージョンとの互換性だけは、共有前に必ず確認する

コメント