<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>カスタム関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 04 Apr 2026 04:32:21 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>カスタム関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのLAMBDA関数の使い方｜カスタム関数を自作する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-lambda/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-lambda/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 04:32:21 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[LAMBDA関数]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[カスタム関数]]></category>
		<category><![CDATA[ヘルパー関数]]></category>
		<category><![CDATA[名前の管理]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5772</guid>

					<description><![CDATA[ExcelのLAMBDA関数でVBA不要のカスタム関数を作る方法を解説。基本構文から名前の管理への登録手順、税込計算などの実務例、MAP・REDUCE等のヘルパー関数との組み合わせ、よくあるエラー対処法まで紹介しています。]]></description>
										<content:encoded><![CDATA[
<p>「毎回同じ長い数式を組み直すのが面倒&#8230;」。複数のシートで同じ計算ロジックをコピペしていませんか。</p>



<p>数式が長くなるほど読みにくくなりますし、修正するときは使っている場所をすべて直す必要があります。</p>



<p>そんな悩みを解決するのが <strong>LAMBDA関数</strong> です。よく使う計算ロジックに名前を付けて、自作の関数として使い回せるようになります。この記事ではExcel LAMBDA関数の使い方を実例付きで紹介します。基本の書き方から「名前の管理」への登録、MAP・REDUCEとの連携まで解説します。</p>



<p>この記事は次のような人におすすめ</p>



<ul class="wp-block-list"><li>同じ計算式を何度もコピペするのをやめたい</li><li>VBAを使わずにオリジナルの関数を作りたい</li><li>MAP関数やREDUCE関数との組み合わせ方を知りたい</li></ul>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">LAMBDA関数とは？</a></li><li><a href="#toc2" tabindex="0">LAMBDA関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">LAMBDA関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">税込価格を計算する</a></li><li><a href="#toc7" tabindex="0">2つの引数を使う</a></li><li><a href="#toc8" tabindex="0">セル内で単体テストする</a></li></ol></li><li><a href="#toc9" tabindex="0">「名前の管理」に登録する方法</a><ol><li><a href="#toc10" tabindex="0">登録手順</a></li></ol></li><li><a href="#toc11" tabindex="0">LAMBDA関数の実務活用パターン</a><ol><li><a href="#toc12" tabindex="0">MAP関数と組み合わせて配列を一括変換する</a></li><li><a href="#toc13" tabindex="0">REDUCE関数と組み合わせて集約する</a></li><li><a href="#toc14" tabindex="0">BYROW関数と組み合わせて行ごとに処理する</a></li><li><a href="#toc15" tabindex="0">MAKEARRAY関数で配列を生成する</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc17" tabindex="0">Googleスプレッドシートとの違い</a></li><li><a href="#toc18" tabindex="0">まとめ</a><ol><li><a href="#toc19" tabindex="0">関連記事</a></li><li><a href="#toc20" tabindex="0">関数一覧</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">LAMBDA関数とは？</span></h2>



<p>LAMBDA（読み方: らむだ）関数は、<strong>独自の計算ロジックを関数として定義できる関数</strong>です。名前はプログラミング用語の「ラムダ式（無名関数）」からきています。</p>



<p>たとえば「税込価格を計算する関数」がすぐに作れます。「2つの値を特定ルールで結合する関数」なども定義できます。</p>



<p>LAMBDA関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>繰り返し使う計算ロジックを1つの関数にまとめる</li><li>「名前の管理」に登録すれば、SUM関数やIF関数と同じように呼び出せる</li><li>MAP・REDUCE・BYROWなどと組み合わせて高度な配列処理ができる</li><li>VBAを使わずに自作関数を作れる</li></ul>



<p>対応バージョンはMicrosoft 365、Excel for the web、Excel 2024です。Excel 2021以前では使えません。</p>



<h2 class="wp-block-heading"><span id="toc2">LAMBDA関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=LAMBDA(引数名1, [引数名2, ...], 数式本体)(値1, [値2, ...])</code></pre>



<p>LAMBDA関数は2つのパートに分かれています。定義部分の <code>LAMBDA(...)</code> と、値を渡す <code>(値)</code> です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>引数名1</td><td>必須</td><td>数式本体で使う変数の名前（好きな名前を付けられる）</td></tr><tr><td>引数名2〜</td><td>省略可</td><td>2つ目以降の引数。最大253個まで</td></tr><tr><td>数式本体</td><td>必須</td><td>引数名を使った計算式。必ず最後の引数として書く</td></tr><tr><td>(値1, 値2, &#8230;)</td><td>必須</td><td>定義した引数に渡す実際の値やセル参照</td></tr></tbody></table></figure>



<p>引数名はセル参照（A1やB2）や関数名（SUMやIFなど）と被らなければ自由に付けられます。<code>price</code> や <code>x</code> など、わかりやすい名前にするのがおすすめです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>LAMBDA関数の最後の引数が必ず「数式本体」になります。引数が1つなら <code>LAMBDA(x, x<em>1.1)</code> のように、<code>x</code> が引数名で <code>x</em>1.1</code> が数式本体です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">LAMBDA関数の基本的な使い方</span></h2>



<p>まずはセルに直接書いて動きを確認してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">税込価格を計算する</span></h3>



<p>税抜き価格から税込価格を計算するLAMBDA関数です。</p>



<pre class="wp-block-code"><code>=LAMBDA(price, price*1.1)(A2)</code></pre>



<p><code>price</code> という引数名を定義し、<code>price*1.1</code> で10%の消費税を加算しています。最後の <code>(A2)</code> でセルA2の値を渡しています。A2に「1000」が入っていれば、結果は「1100」です。</p>



<h3 class="wp-block-heading"><span id="toc7">2つの引数を使う</span></h3>



<p>姓と名をスペースでつなげてフルネーム表示する例です。</p>



<pre class="wp-block-code"><code>=LAMBDA(sei, mei, sei&amp;&quot; &quot;&amp;mei)(A2, B2)</code></pre>



<p>A2に「田中」、B2に「太郎」が入っていれば「田中 太郎」を返します。引数名を2つ定義し、値も2つ渡しているのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc8">セル内で単体テストする</span></h3>



<p>LAMBDA関数はセルに直接書いてすぐに動作確認できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td><code>=LAMBDA(x, x*2)(5)</code></td><td><strong>10</strong></td><td>5を2倍</td></tr><tr><td><code>=LAMBDA(x, y, x+y)(3, 7)</code></td><td><strong>10</strong></td><td>3+7</td></tr><tr><td><code>=LAMBDA(x, IF(x>=60,"合格","不合格"))(75)</code></td><td><strong>合格</strong></td><td>条件分岐</td></tr><tr><td><code>=LAMBDA(txt, UPPER(txt))("hello")</code></td><td><strong>HELLO</strong></td><td>文字列変換</td></tr></tbody></table></figure>



<p>セル内で動作を確認してから「名前の管理」に登録する、という流れがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc9">「名前の管理」に登録する方法</span></h2>



<p>LAMBDA関数の真価は「名前の管理」に登録したときに発揮されます。登録すれば、SUM関数やVLOOKUP関数と同じ感覚で呼び出せるようになります。</p>



<h3 class="wp-block-heading"><span id="toc10">登録手順</span></h3>



<ol class="wp-block-list"><li>「<strong>数式</strong>」タブ →「<strong>名前の管理</strong>」をクリックします</li><li>「<strong>新規作成</strong>」をクリックします</li><li>以下の項目を入力します</li></ol>



<ul class="wp-block-list"><li><strong>名前</strong>: 関数名（例: <code>TAX_INCL</code>）</li><li><strong>スコープ</strong>: ブック（デフォルトのまま）</li><li><strong>コメント</strong>: 「税抜価格から税込価格を計算」など機能説明</li><li><strong>参照範囲</strong>: <code>=LAMBDA(price, ROUND(price*1.1,0))</code></li></ul>



<ol class="wp-block-list"><li>「<strong>OK</strong>」をクリックして保存します</li></ol>



<p>登録が完了すると、どのセルでも次のように呼び出せます。</p>



<pre class="wp-block-code"><code>=TAX_INCL(A2)</code></pre>



<p>定義を1か所直すだけで、使っているすべてのセルに反映されます。税率が変わっても修正は1回で済むのが大きなメリットです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Excelの「名前の管理」で登録した関数は、オートコンプリート（入力候補）には表示されません。関数名を正確に入力する必要があるので、覚えやすい名前を付けておきましょう。Macの場合は「数式」タブ →「名前の定義」から登録できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc11">LAMBDA関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc12">MAP関数と組み合わせて配列を一括変換する</span></h3>



<p>MAP関数を使えば、配列の各値にLAMBDA関数を適用できます。</p>



<pre class="wp-block-code"><code>=MAP(A2:A10, LAMBDA(price, ROUND(price*1.1,0)))</code></pre>



<p>A2:A10の全セルに対して税込計算を一括で適用します。結果はスピル（自動展開）で複数行に表示されるので、1つのセルに数式を入れるだけで完了です。</p>



<h3 class="wp-block-heading"><span id="toc13">REDUCE関数と組み合わせて集約する</span></h3>



<p>REDUCE関数は配列を1つの値にまとめる関数です。LAMBDAで集約のロジックを定義します。</p>



<pre class="wp-block-code"><code>=REDUCE(0, A2:A10, LAMBDA(acc, val, IF(val&gt;=1000, acc+val, acc)))</code></pre>



<p>この例では1,000以上の値だけを合計しています。SUMIFSでは書きにくい複雑な条件でも、LAMBDAの中身を自由に書けるので柔軟に対応できます。</p>



<h3 class="wp-block-heading"><span id="toc14">BYROW関数と組み合わせて行ごとに処理する</span></h3>



<p>BYROW関数は各行に対してLAMBDAを適用します。</p>



<pre class="wp-block-code"><code>=BYROW(A2:C10, LAMBDA(row, MAX(row)-MIN(row)))</code></pre>



<p>各行の最大値と最小値の差（レンジ）を一括で計算できます。行単位の集計処理が1つの数式で完結するのが便利なポイントです。</p>



<h3 class="wp-block-heading"><span id="toc15">MAKEARRAY関数で配列を生成する</span></h3>



<p>MAKEARRAY関数はLAMBDAで計算した結果から配列を作ります。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(9, 9, LAMBDA(r, c, r*c))</code></pre>



<p>9行9列の九九の表を1つの数式で作れます。テスト用のダミーデータを用意したいときにも使えます。</p>



<h2 class="wp-block-heading"><span id="toc16">よくあるエラーと対処法</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#CALC! エラー</td><td>セル内でLAMBDAを定義したが値を渡していない</td><td><code>=LAMBDA(x, x*2)</code> の末尾に <code>(A2)</code> を付けて値を渡す</td></tr><tr><td>#VALUE! エラー</td><td>引数の数が定義と一致しない</td><td>引数を2つ定義したなら値も2つ渡す</td></tr><tr><td>#VALUE! エラー</td><td>パラメータが253個を超えている</td><td>引数は253個以内に収める</td></tr><tr><td>#NUM! エラー</td><td>再帰呼び出しが深すぎる</td><td>基底条件（IFなどで再帰を止める条件）を見直す</td></tr><tr><td>#NAME? エラー</td><td>引数名にセル参照（A1等）を使っている</td><td><code>x</code>、<code>val</code>、<code>price</code> などセル参照以外の名前にする</td></tr><tr><td>数式本体が実行されない</td><td>「名前の管理」に登録せずセル内で <code>(値)</code> を付け忘れた</td><td><code>=LAMBDA(x, x*2)(A2)</code> と末尾に値を渡す</td></tr></tbody></table></figure>



<p>エラー値の詳細は<a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧</a>も参考にしてください。エラーを非表示にしたい場合は<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>が便利です。</p>



<h2 class="wp-block-heading"><span id="toc17">Googleスプレッドシートとの違い</span></h2>



<p>GoogleスプレッドシートにもLAMBDA関数があります。構文は同じですが、登録方法に大きな違いがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>LAMBDA関数の構文</td><td><code>=LAMBDA(引数, 数式)(値)</code></td><td><code>=LAMBDA(引数, 数式)(値)</code></td></tr><tr><td>カスタム関数の登録</td><td>「名前の管理」（数式タブ）</td><td>「名前付き関数」（データメニュー）</td></tr><tr><td>登録時の引数説明</td><td>設定不可</td><td>引数ごとに説明文を設定可能</td></tr><tr><td>オートコンプリート</td><td>非対応</td><td>対応（関数名を入力すると候補表示）</td></tr><tr><td>対応バージョン</td><td>Microsoft 365 / Excel for the web / Excel 2024</td><td>全アカウント</td></tr><tr><td>ヘルパー関数</td><td>MAP, REDUCE, SCAN, BYROW, BYCOL, MAKEARRAY, ISOMITTED（7種）</td><td>同じ7種類</td></tr></tbody></table></figure>



<p>構文自体は同じなので、数式をそのままコピーして使えます。ただし登録方法が異なるため、ブック間の移行では再登録が必要です。</p>



<p>カスタム関数の登録・管理のしやすさではGoogleスプレッドシートが有利です。GUIで登録でき、オートコンプリートにも対応しています。一方、ExcelはVBAとの連携や大規模データの処理速度に強みがあります。</p>



<h2 class="wp-block-heading"><span id="toc18">まとめ</span></h2>



<p>LAMBDA関数は、繰り返し使う計算ロジックをカスタム関数として定義できる関数です。</p>



<ul class="wp-block-list"><li>構文は <code>=LAMBDA(引数名, 数式本体)(値)</code> で、最後の引数が数式本体</li><li>「名前の管理」に登録すると、SUM関数と同じように呼び出せる</li><li>MAP・REDUCE・BYROW・MAKEARRAY等と組み合わせて配列処理が可能</li><li>引数名にはセル参照や関数名と被らない名前を使う</li><li>対応バージョンはMicrosoft 365、Excel for the web、Excel 2024</li><li>Googleスプレッドシートにも同じ構文があるが、登録方法が異なる</li></ul>



<p>まずは <code>=LAMBDA(x, x*2)(5)</code> でLAMBDA関数の動きを確認するところから始めてみてください。「名前の管理」への登録まで進めば、自作関数の便利さを実感できるはずです。</p>



<h3 class="wp-block-heading"><span id="toc19">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-unique/">UNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数の使い方</a></li></ul>



<h3 class="wp-block-heading"><span id="toc20">関数一覧</span></h3>



<p>Excel関数の一覧は下記の記事で確認できます。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数 機能別一覧</a></li></ul>



<p>エラー値が表示される場合は、下記の記事も参考にしてみてください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-lambda/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのLAMBDA関数の使い方｜カスタム関数定義</title>
		<link>https://mashukabu.com/spreadsheet-lambda-function/</link>
					<comments>https://mashukabu.com/spreadsheet-lambda-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 01:12:26 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[LAMBDA]]></category>
		<category><![CDATA[Sheets独自]]></category>
		<category><![CDATA[カスタム関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[名前付き関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4971</guid>

					<description><![CDATA[GoogleスプレッドシートのLAMBDA関数の使い方を基本から解説。構文・引数の書き方、名前付き関数への登録方法、MAP・REDUCE・BYROWとの組み合わせ、Excelとの違いまで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「この計算、毎回同じ数式を組み直すのが面倒&#8230;」。スプレッドシートで複雑な数式を何度もコピペしていませんか。</p>



<p>数式が長くなるほど読みにくくなりますし、修正するときは使っている場所をすべて直す必要があります。</p>



<p>そんな悩みを解決するのが <strong>LAMBDA関数</strong> です。よく使う計算ロジックに名前を付けて、自作の関数として使い回せるようになります。</p>



<p>この記事では、LAMBDA関数の基本構文から名前付き関数への登録、MAP・REDUCEとの連携まで実例付きで紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">LAMBDA関数とは？ ── 自作関数を数式だけで作れる</a></li><li><a href="#toc2" tabindex="0">LAMBDA関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">LAMBDA関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">税込価格を計算する</a></li><li><a href="#toc7" tabindex="0">2つの引数を使う</a></li><li><a href="#toc8" tabindex="0">セル内で単体テストする</a></li></ol></li><li><a href="#toc9" tabindex="0">名前付き関数として登録する方法（Sheets独自機能）</a><ol><li><a href="#toc10" tabindex="0">登録手順</a></li><li><a href="#toc11" tabindex="0">名前付き関数のメリット</a></li></ol></li><li><a href="#toc12" tabindex="0">LAMBDA関数の実践的な使い方・応用例</a><ol><li><a href="#toc13" tabindex="0">MAP関数と組み合わせて配列を一括変換する</a></li><li><a href="#toc14" tabindex="0">REDUCE関数と組み合わせて集約する</a></li><li><a href="#toc15" tabindex="0">BYROW関数と組み合わせて行ごとに処理する</a></li><li><a href="#toc16" tabindex="0">BYCOL関数と組み合わせて列ごとに処理する</a></li><li><a href="#toc17" tabindex="0">SCAN関数と組み合わせて累積計算する</a></li><li><a href="#toc18" tabindex="0">MAKEARRAY関数と組み合わせて配列を生成する</a></li></ol></li><li><a href="#toc19" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc20" tabindex="0">Excelとの違い（Excel LAMBDAとの比較）</a></li><li><a href="#toc21" tabindex="0">まとめ</a><ol><li><a href="#toc22" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">LAMBDA関数とは？ ── 自作関数を数式だけで作れる</span></h2>



<p>LAMBDA関数（読み方: らむだ）は、<strong>独自の計算ロジックを関数として定義できる関数</strong>です。</p>



<p>名前はプログラミング用語の「ラムダ式（無名関数）」からきています。</p>



<p>たとえば「税込価格を計算する関数」や「姓と名をつなげてフルネーム表示する関数」など、よく使う処理をひとまとめにできます。</p>



<p>LAMBDA関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>繰り返し使う計算ロジックを1つの関数にまとめる</li><li>「名前付き関数」として登録すれば、SUM関数やIF関数と同じように呼び出せる</li><li>MAP・REDUCE・BYROWなどと組み合わせて高度な配列処理ができる</li><li>GAS（Google Apps Script）を使わずに自作関数を作れる</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>LAMBDA関数はGoogleスプレッドシートの全アカウントで使えます。ExcelにもLAMBDA関数はありますが、Sheetsの「名前付き関数」との連携は独自機能です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">LAMBDA関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=LAMBDA(引数名1, [引数名2, ...], 数式本体)(値1, [値2, ...])</code></pre>



<p>LAMBDA関数は2つのパートに分かれています。定義部分の <code>LAMBDA(...)</code> と、値を渡す <code>(値)</code> です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>引数名1</td><td>必須</td><td>数式本体で使う変数の名前（好きな名前を付けられる）</td></tr><tr><td>引数名2〜</td><td>任意</td><td>2つ目以降の引数。最大で253個まで</td></tr><tr><td>数式本体</td><td>必須</td><td>引数名を使った計算式。最後の引数が数式本体になる</td></tr><tr><td>(値1, 値2, &#8230;)</td><td>必須</td><td>定義した引数に渡す実際の値やセル参照</td></tr></tbody></table></figure>



<p>引数名はセル参照（A1やB2）以外なら自由に名前を付けられます。<code>price</code> や <code>x</code> など、わかりやすい名前にしておくと読みやすくなりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>LAMBDA関数の最後の引数が必ず「数式本体」になります。引数が1つなら <code>LAMBDA(x, x<em>1.1)</code> のように、xが引数名で <code>x</em>1.1</code> が数式本体です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">LAMBDA関数の基本的な使い方</span></h2>



<p>まずはシンプルな例で動きを確認してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">税込価格を計算する</span></h3>



<p>税抜き価格から税込価格を計算するLAMBDA関数です。</p>



<pre class="wp-block-code"><code>=LAMBDA(price, price*1.1)(A2)</code></pre>



<p><code>price</code> という引数名を定義し、<code>price*1.1</code> で10%の消費税を加算しています。最後の <code>(A2)</code> でA2セルの値を渡しています。</p>



<p>A2に「1000」が入っていれば、結果は「1100」です。</p>



<h3 class="wp-block-heading"><span id="toc7">2つの引数を使う</span></h3>



<p>姓と名をスペースでつなげてフルネーム表示する例です。</p>



<pre class="wp-block-code"><code>=LAMBDA(sei, mei, sei&amp;&quot; &quot;&amp;mei)(A2, B2)</code></pre>



<p>A2に「田中」、B2に「太郎」が入っていれば「田中 太郎」を返します。</p>



<h3 class="wp-block-heading"><span id="toc8">セル内で単体テストする</span></h3>



<p>LAMBDA関数はセルに直接書いてテストできます。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td><code>=LAMBDA(x, x*2)(5)</code></td><td><strong>10</strong></td><td>5を2倍</td></tr><tr><td><code>=LAMBDA(x, y, x+y)(3, 7)</code></td><td><strong>10</strong></td><td>3+7</td></tr><tr><td><code>=LAMBDA(x, IF(x>=60,"合格","不合格"))(75)</code></td><td><strong>合格</strong></td><td>条件分岐</td></tr><tr><td><code>=LAMBDA(txt, UPPER(txt))("hello")</code></td><td><strong>HELLO</strong></td><td>文字列変換</td></tr></tbody></table></figure>



<p>セル内で動作を確認してから名前付き関数に登録する、という流れがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc9">名前付き関数として登録する方法（Sheets独自機能）</span></h2>



<p>LAMBDA関数の真価は「名前付き関数」として登録したときに発揮されます。登録すれば、SUM関数やVLOOKUP関数と同じように、どのセルからでも呼び出せるようになります。</p>



<h3 class="wp-block-heading"><span id="toc10">登録手順</span></h3>



<ol class="wp-block-list"><li>メニューから「<strong>データ</strong>」→「<strong>名前付き関数</strong>」を選択します</li><li>「<strong>新しい関数を追加</strong>」をクリックします</li><li>以下の項目を入力します</li></ol>



<ul class="wp-block-list"><li><strong>関数名</strong>: <code>TAX_INCL</code>（半角英字・アンダースコアのみ）</li><li><strong>数式の定義</strong>: <code>=LAMBDA(price, ROUND(price*1.1))</code></li><li><strong>引数のプレースホルダ</strong>: <code>price</code></li><li><strong>引数の説明</strong>: 「税抜き価格」</li><li><strong>関数の説明</strong>: 「税抜き価格から税込価格を計算します」</li></ul>



<ol class="wp-block-list"><li>「<strong>次へ</strong>」→「<strong>作成</strong>」をクリックします</li></ol>



<p>登録が完了すると、どのセルでも次のように呼び出せます。</p>



<pre class="wp-block-code"><code>=TAX_INCL(A2)</code></pre>



<p>数式バーに <code>=TAX</code> と入力すると、オートコンプリートに表示されるので便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc11">名前付き関数のメリット</span></h3>



<ul class="wp-block-list"><li><strong>可読性</strong>: <code>=LAMBDA(p, ROUND(p*1.1))(A2)</code> より <code>=TAX_INCL(A2)</code> のほうがわかりやすい</li><li><strong>メンテナンス性</strong>: 税率が変わっても定義を1か所直すだけ</li><li><strong>共有</strong>: 同じスプレッドシートを使うメンバー全員が同じ関数を使える</li><li><strong>オートコンプリート</strong>: 入力補完と引数の説明が表示される</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>名前付き関数はスプレッドシートファイルごとに保存されます。別のファイルで使いたい場合は、テンプレートシートを複製するか、同じ定義を再登録してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc12">LAMBDA関数の実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc13">MAP関数と組み合わせて配列を一括変換する</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-map-function/">MAP関数</a>を使えば、配列の各値にLAMBDA関数を適用できます。</p>



<pre class="wp-block-code"><code>=MAP(A2:A10, LAMBDA(price, ROUND(price*1.1)))</code></pre>



<p>A2:A10の全セルに対して税込計算を一括で適用します。結果は配列として返されるので、1つのセルに数式を入れるだけで複数行に結果が展開されます。</p>



<h3 class="wp-block-heading"><span id="toc14">REDUCE関数と組み合わせて集約する</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-reduce-function/">REDUCE関数</a>は配列を1つの値にまとめる関数です。LAMBDAで集約ロジックを定義します。</p>



<pre class="wp-block-code"><code>=REDUCE(0, A2:A10, LAMBDA(acc, val, acc + val))</code></pre>



<p>この例はSUM関数と同じ動作ですが、LAMBDAの中身を変えれば条件付き合計なども自由に作れます。</p>



<pre class="wp-block-code"><code>=REDUCE(0, A2:A10, LAMBDA(acc, val, IF(val&gt;=1000, acc+val, acc)))</code></pre>



<p>1,000以上の値だけを合計する例です。SUMIFSでは書きにくい複雑な条件にも対応できますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">BYROW関数と組み合わせて行ごとに処理する</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-byrow-function/">BYROW関数</a>は各行に対してLAMBDAを適用します。</p>



<pre class="wp-block-code"><code>=BYROW(A2:C10, LAMBDA(row, MAX(row)-MIN(row)))</code></pre>



<p>各行の最大値と最小値の差（レンジ）を一括で計算します。行単位の集計処理が1つの数式で完結します。</p>



<h3 class="wp-block-heading"><span id="toc16">BYCOL関数と組み合わせて列ごとに処理する</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-bycol-function/">BYCOL関数</a>は列単位でLAMBDAを適用します。</p>



<pre class="wp-block-code"><code>=BYCOL(A2:D10, LAMBDA(col, AVERAGE(col)))</code></pre>



<p>各列の平均値を一括で計算できます。</p>



<h3 class="wp-block-heading"><span id="toc17">SCAN関数と組み合わせて累積計算する</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-scan-function/">SCAN関数</a>はREDUCEと似ていますが、中間値をすべて配列で返します。</p>



<pre class="wp-block-code"><code>=SCAN(0, A2:A10, LAMBDA(acc, val, acc + val))</code></pre>



<p>累計を行ごとに表示したいときに便利です。ランニングトータル（累積合計）を1つの数式で実現できます。</p>



<h3 class="wp-block-heading"><span id="toc18">MAKEARRAY関数と組み合わせて配列を生成する</span></h3>



<p><a href="https://mashukabu.com/spreadsheet-makearray-function/">MAKEARRAY関数</a>はLAMBDAで計算した結果から配列を生成します。</p>



<pre class="wp-block-code"><code>=MAKEARRAY(9, 9, LAMBDA(row, col, row*col))</code></pre>



<p>9行9列の九九の表を1つの数式で作れます。</p>



<h2 class="wp-block-heading"><span id="toc19">よくあるエラーと対処法</span></h2>



<p>LAMBDA関数で「思った結果にならない」ケースをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#NAME? エラー</td><td>関数名のタイポ、または引数名にセル参照（A1等）を使っている</td><td>引数名はセル参照以外の名前にする。<code>x</code>、<code>val</code>、<code>price</code> など</td></tr><tr><td>#N/A エラー</td><td>定義した引数の数と渡した値の数が一致していない</td><td>引数2つなら値も2つ渡す。<code>LAMBDA(x,y, x+y)(1,2)</code></td></tr><tr><td>#VALUE! エラー</td><td>数式本体の中で型が合わない演算をしている</td><td>文字列に対して算術演算をしていないか確認する</td></tr><tr><td>#REF! エラー</td><td>名前付き関数の定義で参照しているセルが削除された</td><td>名前付き関数の定義を開いて参照先を修正する</td></tr><tr><td>数式本体が実行されない</td><td>LAMBDA定義の後に <code>(値)</code> を付け忘れている</td><td><code>=LAMBDA(x, x<em>2)</code> ではなく <code>=LAMBDA(x, x</em>2)(A2)</code> と書く</td></tr><tr><td>引数名が反映されない</td><td>引数名に予約語（SUM、IFなど）を使っている</td><td>関数名と被らない名前にする</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>LAMBDA関数の引数名に使えるのは、セル参照や既存の関数名と被らない文字列です。迷ったら <code>x</code>、<code>y</code>、<code>val</code> のようなシンプルな名前が無難ですよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc20">Excelとの違い（Excel LAMBDAとの比較）</span></h2>



<p>ExcelにもLAMBDA関数がありますが、登録方法とヘルパー関数に違いがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>Googleスプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>LAMBDA関数の構文</td><td><code>=LAMBDA(引数, 数式)(値)</code></td><td><code>=LAMBDA(引数, 数式)(値)</code></td></tr><tr><td>カスタム関数の登録方法</td><td><strong>名前付き関数</strong>（メニューから登録）</td><td><strong>名前の管理</strong>（数式タブ → 名前の管理）</td></tr><tr><td>登録時の引数説明</td><td>引数ごとに説明文を設定できる</td><td>説明文の設定不可</td></tr><tr><td>オートコンプリート</td><td>対応（関数名を入力すると候補表示）</td><td>非対応（名前の管理で定義した関数は候補に出ない）</td></tr><tr><td>対応バージョン</td><td>全アカウント</td><td>Microsoft 365 / Excel 2024 以降</td></tr><tr><td>ヘルパー関数</td><td>MAP, REDUCE, SCAN, BYROW, BYCOL, MAKEARRAY</td><td>MAP, REDUCE, SCAN, BYROW, BYCOL, MAKEARRAY</td></tr></tbody></table></figure>



<p>構文自体は同じですが、<strong>カスタム関数の登録・管理のしやすさ</strong>ではSheetsが有利です。SheetsはメニューからGUIで登録でき、オートコンプリートにも対応しています。</p>



<p>Excelでは「数式」タブ →「名前の管理」→「新規作成」で名前を定義し、参照先にLAMBDA式を入力します。手順がやや複雑で、関数の説明文も付けられません。</p>



<p>ヘルパー関数（MAP、REDUCEなど）はどちらも同じものが使えます。</p>



<h2 class="wp-block-heading"><span id="toc21">まとめ</span></h2>



<p>LAMBDA関数は、繰り返し使う計算ロジックをカスタム関数として定義できる関数です。</p>



<p>ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=LAMBDA(引数名, 数式本体)(値)</code> で、最後の引数が数式本体</li><li>名前付き関数に登録すると、SUM関数と同じように呼び出せる（Sheets独自機能）</li><li>MAP・REDUCE・BYROW・BYCOL・SCAN・MAKEARRAYと組み合わせて配列処理が可能</li><li>引数名にはセル参照や関数名と被らない名前を使う</li><li>Excelにも同じ構文のLAMBDA関数があるが、登録方法が異なる</li><li>GAS（Google Apps Script）を使わずにカスタム関数を作れる</li></ul>



<p>まずは <code>=LAMBDA(x, x*2)(5)</code> でLAMBDA関数の動きを確認するところから始めてみてください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc22">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-map-function/">スプレッドシートのMAP関数の使い方｜各値にLAMBDA適用</a></li><li><a href="https://mashukabu.com/spreadsheet-reduce-function/">スプレッドシートのREDUCE関数の使い方｜配列を1値に集約</a></li><li><a href="https://mashukabu.com/spreadsheet-scan-function/">スプレッドシートのSCAN関数の使い方｜累積計算の中間値を返す</a></li><li><a href="https://mashukabu.com/spreadsheet-byrow-function/">スプレッドシートのBYROW関数の使い方｜各行にLAMBDA適用</a></li><li><a href="https://mashukabu.com/spreadsheet-bycol-function/">スプレッドシートのBYCOL関数の使い方｜各列にLAMBDA適用</a></li><li><a href="https://mashukabu.com/spreadsheet-makearray-function/">スプレッドシートのMAKEARRAY関数の使い方｜計算で配列を自在に生成</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方｜範囲に一括適用</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-lambda-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
