※本ページにはプロモーション(広告)が含まれています
【2026年最新版】ExcelのLET関数・LAMBDA関数の使い方【数式効率化の完全ガイド】
「Excelで同じ計算式を何度も書いていて、修正するときに全部直すのが面倒」「数式が長くなりすぎて、何を計算しているのか自分でもわからなくなる」「オリジナルの関数を作れたらいいのに」——こんな悩みを抱えていませんか?
実は、Excel(Microsoft 365 / Excel 2021以降)にはLET関数とLAMBDA関数という非常に強力な機能が搭載されています。LET関数を使えば数式の中で変数を定義して同じ計算の繰り返しを排除でき、LAMBDA関数を使えば自分だけのオリジナル関数を作成できます。
この記事では、LET関数・LAMBDA関数の基本構文から実務での活用例まで、初心者にもわかりやすく丁寧に解説します。さらに、MAP・REDUCE・SCANなどのヘルパー関数との組み合わせも紹介するので、Excel作業を劇的に効率化できるようになります。

この記事でわかること
- LET関数の基本構文と変数定義の仕組み
- LET関数のネスト(入れ子)活用テクニック
- LAMBDA関数でカスタム関数を作成する方法
- 名前の管理にLAMBDA関数を登録して再利用する手順
- MAP・REDUCE・SCAN・BYROW・BYCOLとの組み合わせ
- 実務で使える具体的な活用パターン7選
- よくある質問(FAQ)10問
LET関数とは? — 数式の中で「変数」を使える関数
LET関数は、数式の中で名前(変数)を定義し、その名前を使って計算を行う関数です。プログラミングの変数と同じ考え方で、同じ計算を複数回行う必要がある場合に、一度だけ計算して名前を付け、その名前を使い回すことができます。
LET関数が解決する3つの問題
LET関数が登場する以前は、次のような問題がありました。
| 問題 | LET関数なしの状態 | LET関数で解決 |
|---|---|---|
| 同じ計算の重複 | VLOOKUP(…)を3回書く | 1回だけ計算して変数に格納 |
| 数式の可読性が低い | 入れ子だらけで意味不明 | 変数名で意味がわかる |
| 修正に手間がかかる | 同じ箇所を全部直す | 変数定義を1か所直すだけ |
LET関数の基本構文
LET関数の構文は以下の通りです。
=LET(名前1, 値1, [名前2, 値2, ...], 計算式)
各引数の意味を見てみましょう。
| 引数 | 必須 | 説明 |
|---|---|---|
| 名前1 | 必須 | 変数に付ける名前(英字で始まる文字列) |
| 値1 | 必須 | 名前1に割り当てる値・セル参照・計算式 |
| 名前2, 値2… | 任意 | 追加の変数(最大126組まで定義可能) |
| 計算式 | 必須 | 定義した名前を使って行う最終的な計算 |
LET関数の簡単な使用例
まず最もシンプルな例を見てみましょう。消費税込みの金額を計算する場合です。
LET関数なし(従来の書き方):
=A2*1.1 + IF(A2*1.1 > 10000, -A2*1.1*0.05, 0)
この数式では A2*1.1(税込価格)を3回計算しています。金額が1万円を超えたら5%割引する処理ですが、同じ計算の繰り返しで非効率です。
LET関数あり(改善後):
=LET( 税込, A2*1.1, 税込 + IF(税込 > 10000, -税込*0.05, 0) )
税込という変数を定義することで、A2*1.1の計算は1回だけで済みます。数式も読みやすくなり、税率を変更する場合も1か所の修正で完了します。
LET関数の実践的な使い方
複数の変数を定義する
LET関数では、複数の変数を定義できます。後から定義した変数の中で、先に定義した変数を参照することも可能です。
例: 売上データから手数料と利益を計算する
=LET( 売上, B2, 原価, C2, 粗利, 売上 - 原価, 手数料, 粗利 * 0.15, 粗利 - 手数料 )
この数式では以下の順番で処理が進みます。
- 売上 にセルB2の値を代入
- 原価 にセルC2の値を代入
- 粗利 に「売上 – 原価」の結果を代入(前の変数を使用)
- 手数料 に「粗利 × 15%」の結果を代入
- 最終的に 粗利 – 手数料 を返す
変数は上から順に評価されるため、後の変数で先の変数を参照できますが、先の変数で後の変数を参照することはできません。
LET関数とVLOOKUPの組み合わせ
LET関数が最も威力を発揮する場面の1つが、VLOOKUP・XLOOKUP・INDEXなどの検索関数と組み合わせるケースです。
例: 商品マスタから商品名と単価を取得し、合計金額を計算する
=LET( 商品名, XLOOKUP(A2, マスタ!A:A, マスタ!B:B), 単価, XLOOKUP(A2, マスタ!A:A, マスタ!C:C), 数量, B2, 商品名 & ":" & TEXT(単価*数量, "#,##0") & "円" )
XLOOKUPの検索結果を変数に格納しておけば、同じ検索を2回行う必要がなくなります。

LET関数のネスト(入れ子)テクニック
LET関数の中にLET関数を入れることはあまりありませんが、IF関数やSWITCH関数の中でLET関数を使うパターンは非常に便利です。
例: 評価ランクに応じてボーナス率を変え、最終金額を計算する
=LET( 基本給, B2, 評価, C2, ボーナス率, SWITCH(評価, "S",0.4, "A",0.3, "B",0.2, "C",0.1, 0), ボーナス額, 基本給 * ボーナス率, 基本給 + ボーナス額 )
このように段階的に変数を定義していくことで、複雑な条件分岐を含む数式もスッキリ整理できます。
LET関数でスピル(動的配列)を活用する
LET関数の変数には、配列(複数の値)も格納できます。動的配列数式と組み合わせることで、さらに強力な処理が可能になります。
例: FILTER関数の結果をLETで変数化して集計する
=LET( 対象データ, FILTER(B2:B100, A2:A100="東京"), 件数, ROWS(対象データ), 合計, SUM(対象データ), 平均, 合計 / 件数, "件数:" & 件数 & " 合計:" & TEXT(合計,"#,##0") & " 平均:" & TEXT(平均,"#,##0") )
FILTER関数で絞り込んだ結果を対象データという変数に入れ、その配列に対してROWS・SUMを実行しています。FILTER関数を何度も書かずに済むため、パフォーマンスも向上します。
LAMBDA関数とは? — 自分だけの関数を作れる革新的機能
LAMBDA関数は、独自のカスタム関数を作成できるExcelの新機能です。引数を受け取り、計算結果を返す「自分だけの関数」を定義できます。
通常のExcel関数(SUM、VLOOKUP等)はMicrosoftが用意したものですが、LAMBDA関数を使えばあなた自身が新しい関数を作れるのです。
LAMBDA関数の基本構文
=LAMBDA([引数1, 引数2, ...], 計算式)
| 引数 | 必須 | 説明 |
|---|---|---|
| 引数1, 引数2… | 任意 | 関数に渡す値の名前(最大253個) |
| 計算式 | 必須 | 引数を使って行う計算(結果が返る) |
LAMBDA関数をセルで直接テストする
LAMBDA関数は、定義した直後に引数を渡してテスト実行できます。
=LAMBDA(x, y, x + y)(3, 5)
この数式は LAMBDA(x, y, x + y) で「xとyを受け取って足し算する関数」を定義し、直後の (3, 5) で「x=3, y=5」を渡して実行しています。結果は 8 です。
このテスト実行は数式の確認に便利ですが、実際の業務では「名前の管理」に登録して使い回すのが正しい使い方です。
LAMBDA関数を「名前の管理」に登録する手順
LAMBDA関数の真価は、名前を付けてブック全体で再利用できる点にあります。以下の手順で登録しましょう。
- Excelのメニューから「数式」タブをクリック
- 「名前の管理」をクリック(ショートカット:
Ctrl + F3) - 「新規作成」ボタンをクリック
- 「名前」欄に関数名を入力(例:
税込計算) - 「参照範囲」欄にLAMBDA式を入力(例:
=LAMBDA(金額, 税率, 金額 * (1 + 税率))) - 「コメント」欄に説明を入力(任意だが推奨)
- 「OK」をクリックして保存
登録後は、通常の関数と同じように使えます。
=税込計算(A2, 0.1)
これで「金額 × (1 + 税率)」を計算するオリジナル関数が完成しました。セルA2の値に消費税10%を加算した金額が返ります。
= を忘れないでください。=LAMBDA(...) の形で入力する必要があります。また、登録した関数はそのブック内でのみ有効です。別のブックでも使いたい場合は、そのブックにも同じ定義を登録するか、個人用マクロブック(PERSONAL.XLSB)を活用します。
LAMBDA関数の実践的な活用例
活用例1: 消費税の端数処理を統一する関数
業務でよくある「税込価格の計算で端数処理を統一したい」というニーズに対応します。
名前の管理に登録する式:
名前: 税込切捨 参照範囲: =LAMBDA(金額, ROUNDDOWN(金額 * 1.1, 0))
使い方:
=税込切捨(A2) → 例: 1980 → 2178
全セルでROUNDDOWN(A2*1.1,0)と書く代わりに税込切捨(A2)と書くだけで済みます。将来税率が変わった場合も、名前の管理で定義を1か所変更するだけで全セルに反映されます。
活用例2: 評価ランクを自動判定する関数
テストの点数から評価ランクを判定する関数を作ります。
名前: 評価ランク
参照範囲: =LAMBDA(点数,
IFS(
点数 >= 90, "S",
点数 >= 80, "A",
点数 >= 70, "B",
点数 >= 60, "C",
TRUE, "D"
)
)
使い方:
=評価ランク(B2) → 例: 85 → "A"
活用例3: 再帰処理で階乗を計算する
LAMBDA関数は再帰(自分自身を呼び出す処理)にも対応しています。階乗(n!)を計算する関数を作ってみましょう。
名前: 階乗 参照範囲: =LAMBDA(n, IF(n <= 1, 1, n * 階乗(n - 1)))
使い方:
=階乗(5) → 120(= 5×4×3×2×1)
この再帰機能は、ツリー構造のデータ処理や累積計算など、高度な処理に活用できます。
LET関数とLAMBDA関数を組み合わせる
LET関数とLAMBDA関数は組み合わせて使うことで、さらに強力になります。
パターン1: LAMBDA内でLETを使って中間変数を定義
名前: 利益計算
参照範囲: =LAMBDA(売上, 原価, 手数料率,
LET(
粗利, 売上 - 原価,
手数料, 粗利 * 手数料率,
粗利 - 手数料
)
)
使い方:
=利益計算(B2, C2, 0.15)
LAMBDA関数で引数を受け取り、LET関数で中間変数(粗利・手数料)を定義して計算を進めています。この組み合わせが実務では最も多い使い方です。
パターン2: LET内でLAMBDAを使ってローカル関数を定義
=LET( 丸め, LAMBDA(x, ROUND(x, 0)), 税込, 丸め(A2 * 1.1), 送料, IF(税込 > 5000, 0, 丸め(税込 * 0.1)), 税込 + 送料 )
ここでは丸めというローカル関数をLET内で定義し、2か所で使い回しています。名前の管理に登録するほどでもない一時的な関数を作りたいときに便利です。

MAP・REDUCE・SCANなどのヘルパー関数
LAMBDA関数をさらに活用するためのヘルパー関数(LAMBDA関数を引数として受け取る関数群)が用意されています。これらを使いこなすことで、VBAマクロなしで高度なデータ処理が可能になります。
ヘルパー関数の一覧
| 関数名 | 機能 | 用途の例 |
|---|---|---|
| MAP | 配列の各要素にLAMBDA関数を適用 | 全セルに同じ変換処理を一括適用 |
| REDUCE | 配列を1つの値に集約 | 条件付き累積計算、文字列結合 |
| SCAN | 累積計算の途中結果を全て返す | 累積合計、残高推移の計算 |
| BYROW | 各行にLAMBDA関数を適用 | 行ごとの集計(合計、最大値など) |
| BYCOL | 各列にLAMBDA関数を適用 | 列ごとの集計 |
| MAKEARRAY | 指定サイズの配列を生成 | 九九表、カレンダー、行列の生成 |
| ISOMITTED | LAMBDA引数が省略されたか判定 | 省略可能な引数の実装 |
MAP関数 — 配列の全要素を一括変換
MAP関数は、配列の各要素に対してLAMBDA関数を適用し、結果を配列として返します。
構文:
=MAP(配列, LAMBDA(要素, 計算式))
例: 全商品の税込価格を一括計算する
=MAP(A2:A100, LAMBDA(価格, ROUNDDOWN(価格 * 1.1, 0)))
A2からA100の全セルに対して「×1.1して切り捨て」を一括で適用します。結果はスピル(自動展開)されるので、1つのセルに数式を入力するだけで全行に結果が表示されます。
例: 2つの配列を組み合わせて処理する
=MAP(B2:B100, C2:C100, LAMBDA(単価, 数量, 単価 * 数量))
MAP関数は複数の配列を引数に取れます。この例では単価と数量を掛け算して金額を一括計算しています。
REDUCE関数 — 配列を1つの値に集約
REDUCE関数は、配列の各要素を順番に処理し、最終的に1つの値を返します。プログラミング言語のreduce(畳み込み)と同じ概念です。
構文:
=REDUCE(初期値, 配列, LAMBDA(累積値, 現在の値, 計算式))
例: 条件に合う値だけを掛け算で集約する
=REDUCE(1, A2:A10, LAMBDA(acc, val, IF(val > 0, acc * val, acc)))
初期値1から始めて、A2:A10の各値が正の数なら掛け算していきます。SUMPRODUCTでは対応しにくい条件付き集約処理に威力を発揮します。
例: セル範囲の文字列をカンマ区切りで結合する
=REDUCE("", A2:A10, LAMBDA(acc, val, IF(acc="", val, acc & ", " & val)))
TEXTJOIN関数でも同様の処理は可能ですが、REDUCE関数では結合時に条件分岐や加工を自由に行えるのが利点です。
SCAN関数 — 累積計算の途中経過をすべて表示
SCAN関数はREDUCE関数と似ていますが、途中の計算結果をすべて配列として返す点が異なります。
例: 入出金の累計残高を計算する
=SCAN(10000, B2:B20, LAMBDA(残高, 入出金, 残高 + 入出金))
初期残高10,000円から始めて、各行の入出金額を加算した残高推移が配列で返ります。従来は「=前の行+今の行」を各行にコピーする必要がありましたが、SCAN関数なら1つの数式で完了します。
BYROW関数・BYCOL関数 — 行・列ごとの集計
BYROW関数は各行に、BYCOL関数は各列にLAMBDA関数を適用します。
例: 各行の最大値と最小値の差を求める
=BYROW(B2:F20, LAMBDA(行, MAX(行) - MIN(行)))
例: 各列の空白でないセルの数を数える
=BYCOL(B2:F20, LAMBDA(列, COUNTA(列)))
MAKEARRAY関数 — 計算式で配列を動的に生成
MAKEARRAY関数は、指定した行数・列数の配列をLAMBDA関数で生成します。
例: 九九の表を自動生成する
=MAKEARRAY(9, 9, LAMBDA(行, 列, 行 * 列))
この1つの数式だけで、9行×9列の九九表が自動生成されます。
実務で使える活用パターン7選
ここからは、LET関数・LAMBDA関数・ヘルパー関数を組み合わせた実務で即使える具体的なパターンを紹介します。
パターン1: 売上分析 — ランク別の集計を1つの数式で
=LET(
売上, B2:B100,
平均値, AVERAGE(売上),
標準偏差, STDEV(売上),
ランク判定, MAP(売上, LAMBDA(x,
IF(x > 平均値 + 標準偏差, "上位",
IF(x < 平均値 - 標準偏差, "下位", "中位"))
)),
ランク判定
)
売上データの平均と標準偏差をLETで計算し、MAPで各行にランク判定を一括適用しています。
パターン2: データクレンジング — 全角・半角変換と空白除去
名前: データ整形
参照範囲: =LAMBDA(文字列,
LET(
半角化, ASC(文字列),
空白除去, TRIM(半角化),
小文字化, LOWER(空白除去),
小文字化
)
)
使い方:
=MAP(A2:A100, データ整形)
全角を半角に変換 → 余分な空白を除去 → 小文字に統一、という3段階の処理を1つの関数にまとめています。MAP関数と組み合わせることで、100行分のデータ整形が1つの数式で完了します。
パターン3: 勤怠管理 — 残業時間の自動計算
名前: 残業計算
参照範囲: =LAMBDA(出勤, 退勤, 休憩,
LET(
勤務時間, (退勤 - 出勤) * 24,
実働, 勤務時間 - 休憩,
所定, 8,
残業, MAX(実働 - 所定, 0),
残業
)
)
使い方:
=残業計算(B2, C2, 1) → 出勤9:00、退勤19:00、休憩1時間 → 残業2時間
パターン4: 条件付き累積 — 月別累計売上
=LET( 日付, A2:A100, 金額, B2:B100, 対象月, MONTH(TODAY()), 月フラグ, MAP(日付, LAMBDA(d, IF(MONTH(d) = 対象月, 1, 0))), 月別売上, MAP(金額, 月フラグ, LAMBDA(v, f, v * f)), SCAN(0, 月別売上, LAMBDA(acc, val, acc + val)) )
当月のデータだけを抽出し、SCAN関数で累計を計算しています。月別の累積売上グラフを作成する際に便利です。
パターン5: 入力チェック — 複数条件のバリデーション
名前: 入力チェック
参照範囲: =LAMBDA(値, 最小, 最大,
LET(
空チェック, IF(値="", "未入力です", ""),
数値チェック, IF(NOT(ISNUMBER(値)), "数値を入力してください", ""),
範囲チェック, IF(ISNUMBER(値), IF(値 < 最小, 最小 & "以上を入力してください",
IF(値 > 最大, 最大 & "以下を入力してください", "")), ""),
結果, 空チェック & 数値チェック & 範囲チェック,
IF(結果 = "", "OK", 結果)
)
)
使い方:
=入力チェック(A2, 1, 100) → 範囲外なら警告メッセージ、OKなら"OK"
パターン6: テキスト処理 — メールアドレスからドメインを抽出
名前: ドメイン取得
参照範囲: =LAMBDA(メール,
LET(
アット位置, FIND("@", メール),
文字数, LEN(メール),
MID(メール, アット位置 + 1, 文字数 - アット位置)
)
)
使い方:
=ドメイン取得("user@example.com") → "example.com"
=MAP(A2:A50, ドメイン取得) → 全行のドメインを一括抽出
パターン7: 配列のユニーク集計 — 重複なしのリスト作成と件数カウント
=LET( データ, A2:A100, ユニーク一覧, UNIQUE(データ), 件数, MAP(ユニーク一覧, LAMBDA(x, COUNTIF(データ, x))), HSTACK(ユニーク一覧, 件数) )
UNIQUE関数で重複を除いたリストを作り、MAP + COUNTIFで各項目の出現回数をカウントし、HSTACKで横に結合しています。ピボットテーブルを使わずに数式だけで集計表が作れます。
LET関数・LAMBDA関数の対応バージョンと注意点
| Excelバージョン | LET関数 | LAMBDA関数 | ヘルパー関数 |
|---|---|---|---|
| Microsoft 365 | 対応 | 対応 | 対応 |
| Excel 2024 | 対応 | 対応 | 対応 |
| Excel 2021 | 対応 | 対応 | 非対応 |
| Excel 2019以前 | 非対応 | 非対応 | 非対応 |
| Excel for Web | 対応 | 対応 | 対応 |
| Google スプレッドシート | 対応 | 対応 | 対応 |
#NAME?エラーが表示されます。共有するファイルで使用する場合は、相手のExcelバージョンを事前に確認してください。
パフォーマンスに関する注意点
- LET関数は計算を最適化する: 同じ計算を変数で共有すると、Excelは内部的に1回だけ計算します。大量データを扱う際はLET関数を使うことでパフォーマンスが向上します
- LAMBDA再帰の深さに注意: 再帰呼び出しが深すぎると(数千回以上)スタックオーバーフローでエラーになります。大きなデータセットにはREDUCEやSCANの使用を推奨します
- 名前の管理の整理: LAMBDA関数を多数登録すると管理が煩雑になります。命名規則を決め、コメントに説明を書く習慣をつけましょう
よくある質問(FAQ)
Q1. LET関数の変数名に日本語は使えますか?
はい、使えます。「税込」「合計」「対象行」など日本語の変数名を使うと、数式の意味がわかりやすくなるのでおすすめです。ただし、既存の関数名(SUM、IFなど)やセル参照(A1、B2など)と同じ名前は使えません。また、スペースを含む名前も使用できません。
Q2. LET関数を使うとExcelの処理速度は速くなりますか?
はい、多くのケースで高速化します。LET関数で変数に格納した計算結果はExcelが内部的にキャッシュするため、同じ計算が1回だけ実行されます。特にVLOOKUPやFILTERなどの重い計算を複数回使い回す場合は、顕著な速度改善が期待できます。
Q3. LAMBDA関数で作った関数を別のブックでも使えますか?
「名前の管理」に登録したLAMBDA関数は、そのブック内でのみ有効です。別のブックで使いたい場合は、(1)そのブックにも同じ定義を手動で登録する、(2)テンプレートファイル(.xltx)に登録して新規ブック作成時に引き継ぐ、(3)アドイン化する、のいずれかの方法があります。
Q4. LET関数の中にIF関数やSWITCH関数を入れることはできますか?
はい、できます。LET関数の「計算式」の部分や「値」の部分に、IF関数・SWITCH関数・VLOOKUP関数など、あらゆるExcel関数を組み合わせることが可能です。逆に、IF関数の中にLET関数を入れることもできます。
Q5. LAMBDA関数でエラー処理はどうすればいいですか?
LAMBDA関数の中でIFERROR関数やISERROR関数を使ってエラー処理を行えます。例えば =LAMBDA(x, IFERROR(1/x, "ゼロ除算エラー")) のように記述すると、引数が0の場合にエラーの代わりにメッセージを返すことができます。
Q6. MAP関数とBYROW関数の違いは何ですか?
MAP関数は配列の各セル(要素)に対してLAMBDA関数を適用します。一方、BYROW関数は各行(1行分の配列)をまとめてLAMBDA関数に渡します。例えば3列のデータがある場合、MAP関数は1セルずつ処理しますが、BYROW関数は3セル分の行データをまとめて処理できるため、行単位の集計(行の合計、最大値など)に適しています。
Q7. REDUCE関数とSCAN関数の違いは何ですか?
REDUCE関数は最終結果だけを1つの値として返します。SCAN関数は途中の計算結果をすべて配列として返します。例えば累計売上を計算する場合、最終的な合計だけが必要ならREDUCE関数、日ごとの累計推移を一覧表示したいならSCAN関数を使います。
Q8. LET関数で定義できる変数の数に上限はありますか?
はい、最大126組(名前と値のペア)まで定義できます。実務で126個の変数を使うことはほぼありませんが、複雑な計算を段階的に分解していくと10〜20個程度使うケースはあります。
Q9. Google スプレッドシートでもLET関数・LAMBDA関数は使えますか?
はい、Google スプレッドシートでもLET関数・LAMBDA関数・ヘルパー関数(MAP、REDUCE、SCAN等)はすべて使用可能です。構文もExcelとほぼ同じため、Excelで作成した数式をそのまま移行できるケースが多いです。ただし、一部の関数名や挙動に微妙な違いがある場合があるため、移行後の動作確認は行ってください。
Q10. VBAマクロの代わりにLAMBDA関数を使うべきですか?
ケースバイケースです。LAMBDA関数は「数式でできる範囲の処理」を大幅に拡張しますが、ファイル操作、外部API連携、UI制御などVBAでしかできない処理もあります。目安として、データの変換・集計・判定処理はLAMBDA関数で対応できることが多く、外部連携や自動化はVBAが必要です。LAMBDA関数はVBAと違いセキュリティ警告が出ないため、マクロが使えない環境(会社のセキュリティポリシーでマクロ禁止など)では特に有効です。
まとめ
LET関数とLAMBDA関数は、Excelの数式を根本から効率化する強力な機能です。最後に、この記事のポイントを整理します。
| 関数 | できること | こんなときに使う |
|---|---|---|
| LET関数 | 数式内で変数を定義 | 同じ計算の繰り返しを排除したい |
| LAMBDA関数 | オリジナル関数の作成 | 何度も使う計算を関数化したい |
| MAP | 全要素に一括変換 | 配列の全セルに同じ処理を適用 |
| REDUCE | 配列を1つの値に集約 | 条件付きの累積計算 |
| SCAN | 累積の途中経過を全表示 | 残高推移、累計売上の計算 |
| BYROW・BYCOL | 行・列単位で集計 | 行ごとの合計、列ごとの集計 |
| MAKEARRAY | 配列を動的生成 | 九九表、カレンダーなどの生成 |
まずはLET関数から始めることをおすすめします。日常の数式で「同じ計算を2回以上書いている箇所」を見つけたら、LET関数で変数にまとめてみてください。それだけで数式の読みやすさが劇的に改善されます。
次にLAMBDA関数で「何度も使う計算パターン」を関数化し、MAP・REDUCE・SCANで配列処理を効率化していけば、VBAマクロに頼らなくても高度なデータ処理が数式だけで実現できるようになります。
ExcelのLET関数・LAMBDA関数を活用して、日々の業務を効率化していきましょう。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!