<?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>ARRAYFORMULA &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/arrayformula/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 15:16:22 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>ARRAYFORMULA &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのDIVIDE関数の使い方｜除算と #DIV/0! 対処法</title>
		<link>https://mashukabu.com/spreadsheet-divide-function/</link>
					<comments>https://mashukabu.com/spreadsheet-divide-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:42:13 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[DIV/0エラー]]></category>
		<category><![CDATA[DIVIDE関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[算術演算子関数]]></category>
		<category><![CDATA[除算]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6542</guid>

					<description><![CDATA[Google スプレッドシートのDIVIDE関数の使い方を初心者向けに解説。基本構文・引数から、除算演算子（/）・QUOTIENT関数との違い、#DIV/0! エラーの回避方法、ARRAYFORMULAとの組み合わせ、よくあるエラーの対処法までまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで割り算をしたいとき、多くの人は <code>=A1/B1</code> のように <code>/</code> 演算子を使うはずです。実は Google スプレッドシートには、割り算専用の <strong>DIVIDE関数</strong> という関数も用意されています。</p>



<p class="wp-block-paragraph">「演算子で書けるのに、わざわざ関数？」と思うかもしれません。とくにありがたいのは、ゼロ除算（0で割ってしまう状況）への備えと、Apps Script で数式を組み立てる場面ですよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのDIVIDE関数の構文と使い方を解説します。<code>/</code> 演算子との違いや QUOTIENT・MOD との使い分け、<code>#DIV/0!</code> エラーの対処法まで、実例つきでまとめましたよ。</p>




  <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">スプレッドシートのDIVIDE関数とは？</a><ol><li><a href="#toc2" tabindex="0">0で割るとエラーになる点に注意</a></li></ol></li><li><a href="#toc3" tabindex="0">DIVIDE関数の構文と引数</a></li><li><a href="#toc4" tabindex="0">DIVIDE関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">例1: 単価計算（合計金額 ÷ 数量）</a></li><li><a href="#toc6" tabindex="0">例2: 達成率の計算（実績 ÷ 目標）</a></li><li><a href="#toc7" tabindex="0">例3: 税抜き価格の計算（税込 ÷ 1.1）</a></li><li><a href="#toc8" tabindex="0">例4: 数値を直接入れる</a></li></ol></li><li><a href="#toc9" tabindex="0">DIVIDE関数と除算演算子（/）の違い</a><ol><li><a href="#toc10" tabindex="0">Apps ScriptでDIVIDEを使う理由</a></li></ol></li><li><a href="#toc11" tabindex="0">DIVIDE / QUOTIENT / MOD の使い分け</a><ol><li><a href="#toc12" tabindex="0">DIVIDEを使う場面</a></li><li><a href="#toc13" tabindex="0">QUOTIENTを使う場面</a></li><li><a href="#toc14" tabindex="0">MODを使う場面</a></li></ol></li><li><a href="#toc15" tabindex="0">#DIV/0! エラーの原因と対処法</a><ol><li><a href="#toc16" tabindex="0">#DIV/0! が出る条件</a></li><li><a href="#toc17" tabindex="0">パターン1: IFERROR で代替値を返す</a></li><li><a href="#toc18" tabindex="0">パターン2: IF で divisor が 0 のときだけ処理</a></li><li><a href="#toc19" tabindex="0">パターン3: IFS で空白とゼロを分ける</a></li><li><a href="#toc20" tabindex="0">TIP: 達成率の構成比で安全に書くテンプレ</a></li></ol></li><li><a href="#toc21" tabindex="0">算術演算子関数シリーズ（ADD / MINUS / MULTIPLY / DIVIDE）</a></li><li><a href="#toc22" tabindex="0">ARRAYFORMULAとの組み合わせ</a><ol><li><a href="#toc23" tabindex="0">範囲を一括で割り算する</a></li><li><a href="#toc24" tabindex="0">空白行とゼロ除算を一緒にガードする</a></li></ol></li><li><a href="#toc25" tabindex="0">ExcelにDIVIDE関数はある？</a><ol><li><a href="#toc26" tabindex="0">Excelには非対応｜互換性の注意点</a></li></ol></li><li><a href="#toc27" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc28" tabindex="0">#DIV/0! エラー：0で割っている</a></li><li><a href="#toc29" tabindex="0">#VALUE! エラー：文字列が混入している</a></li><li><a href="#toc30" tabindex="0">#N/A エラー（ARRAYFORMULA + / 演算子 利用時）</a></li><li><a href="#toc31" tabindex="0">#NAME? エラー</a></li><li><a href="#toc32" tabindex="0">引数を3つ以上指定したときの対処</a></li></ol></li><li><a href="#toc33" tabindex="0">よくある質問（DIVIDE関数）</a><ol><li><a href="#toc34" tabindex="0">Q1. DIVIDE関数と「/」演算子の結果は完全に同じですか？</a></li><li><a href="#toc35" tabindex="0">Q2. DIVIDE関数でパーセント表示にするには？</a></li><li><a href="#toc36" tabindex="0">Q3. DIVIDE関数の結果を特定の小数点以下で丸めるには？</a></li></ol></li><li><a href="#toc37" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのDIVIDE関数とは？</span></h2>



<p class="wp-block-paragraph">スプレッドシートのDIVIDE関数は、dividend（被除数）を divisor（除数）で割った結果を返す <strong>除算用の関数</strong> です。<code>=A1/B1</code> と書く代わりに <code>=DIVIDE(A1, B1)</code> と書けます。</p>



<p class="wp-block-paragraph">DIVIDE は英語で「分ける・割る」を意味する動詞で、「ディバイド」と読みます。</p>



<p class="wp-block-paragraph">実は DIVIDE関数は Google スプレッドシート固有の関数で、Microsoft Excel には存在しません。「Excelからスプレッドシートに移ってきて初めて知った」という方も多いのではないでしょうか。</p>



<p class="wp-block-paragraph">スプレッドシートには DIVIDE の仲間として、加算の ADD、減算の MINUS、乗算の MULTIPLY があります。これらは算術演算子関数と呼ばれ、<code>+</code> <code>-</code> <code>*</code> <code>/</code> の4つが一通り揃っています。普段の手入力では演算子で十分ですが、関数として書きたい場面で活躍してくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">0で割るとエラーになる点に注意</span></h3>



<p class="wp-block-paragraph">DIVIDE関数の最大の特徴は「0で割ろうとすると <code>#DIV/0!</code> エラーが返ってくる」点です。これは <code>/</code> 演算子でも同じですが、業務データでは divisor（割る数）が 0 や空白になる場面がけっこうあるんですよね。後ほど対処法を詳しく解説します。</p>



<h2 class="wp-block-heading"><span id="toc3">DIVIDE関数の構文と引数</span></h2>



<p class="wp-block-paragraph">DIVIDE関数の構文はとてもシンプルです。</p>



<pre class="wp-block-code"><code>=DIVIDE(dividend, divisor)</code></pre>



<p class="wp-block-paragraph">引数は次の2つだけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>dividend</td><td>必須</td><td>割られる数（被除数）</td></tr><tr><td>divisor</td><td>必須</td><td>割る数（除数）。0 を渡すと <code>#DIV/0!</code> エラー</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は <code>dividend ÷ divisor</code> の結果です。小数になる場合は小数点以下まで返ってきますよ。</p>



<p class="wp-block-paragraph">なお、引数はスカラー値（単一の値）のみ対応で、<code>A1:A10</code> のようなセル範囲を直接渡すことはできません。範囲を一括処理したい場合は ARRAYFORMULA との組み合わせを使います（後述）。</p>



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



<p class="wp-block-paragraph">実際のサンプルで動きを見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">例1: 単価計算（合計金額 ÷ 数量）</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A: 合計金額</th><th>B: 数量</th><th>C: 単価</th></tr></thead><tbody><tr><td>2</td><td>12000</td><td>5</td><td>=DIVIDE(A2, B2)</td></tr><tr><td>3</td><td>18000</td><td>6</td><td>=DIVIDE(A3, B3)</td></tr><tr><td>4</td><td>9600</td><td>4</td><td>=DIVIDE(A4, B4)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">C2 の結果は <code>2400</code>、C3 は <code>3000</code>、C4 は <code>2400</code> になります。<code>=A2/B2</code> と書いても同じ結果ですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">例2: 達成率の計算（実績 ÷ 目標）</span></h3>



<p class="wp-block-paragraph">実績を目標で割ると達成率が出せます。</p>



<pre class="wp-block-code"><code>=DIVIDE(850, 1000)   → 0.85（書式設定で「85%」表示にできます）
=DIVIDE(B2, C2)      ← B2が実績、C2が目標</code></pre>



<p class="wp-block-paragraph">セルの書式を「パーセント」にすれば、<code>0.85</code> が <code>85%</code> として表示されます。月次レポートなどで便利ですよね。</p>



<h3 class="wp-block-heading"><span id="toc7">例3: 税抜き価格の計算（税込 ÷ 1.1）</span></h3>



<p class="wp-block-paragraph">消費税10%の税込み価格から税抜きを逆算する例です。</p>



<pre class="wp-block-code"><code>=DIVIDE(11000, 1.1)   → 10000
=DIVIDE(B2, 1.1)      ← B2が税込み価格</code></pre>



<p class="wp-block-paragraph">軽減税率8%の場合は <code>1.08</code> で割ればOKです。逆に税込み価格を出したい場合は <code>MULTIPLY(B2, 1.1)</code> を使うと対称的に書けますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">例4: 数値を直接入れる</span></h3>



<p class="wp-block-paragraph">セル参照ではなく、直接数値を入れることもできます。</p>



<pre class="wp-block-code"><code>=DIVIDE(100, 4)       → 25
=DIVIDE(7, 2)         → 3.5
=DIVIDE(-20, 5)       → -4</code></pre>



<p class="wp-block-paragraph">小数や負の数を渡しても、もちろんそのまま計算結果が返ってきます。</p>



<h2 class="wp-block-heading"><span id="toc9">DIVIDE関数と除算演算子（/）の違い</span></h2>



<p class="wp-block-paragraph">「結局、<code>/</code> 演算子で書くのと何が違うの？」という疑問はもっともです。両者を比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>演算子 <code>/</code></th><th>DIVIDE関数</th></tr></thead><tbody><tr><td>記述の長さ</td><td>短い（<code>=A1/B1</code>）</td><td>やや長い</td></tr><tr><td>引数の数</td><td>何個でも連続OK（<code>=A1/B1/C1</code>）</td><td>2つ固定</td></tr><tr><td>セル範囲指定</td><td>不可（個別指定）</td><td>不可（スカラー専用）</td></tr><tr><td>ARRAYFORMULA との相性</td><td>良い</td><td>良くない（後述）</td></tr><tr><td>Apps Script から数式生成</td><td>文字列結合がやや手間</td><td>関数呼び出しで読みやすい</td></tr><tr><td>Excel との互換性</td><td>互換あり</td><td>Excel 非対応</td></tr><tr><td>一般的な使用頻度</td><td>高い</td><td>低い</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">普段の手入力では <code>/</code> 演算子の方が短くて速いです。DIVIDE関数が活きるのは、Apps Script や API で数式文字列を組み立てる場面ですね。あとは「割り算をしている」と関数名で明示したい場面にも向いていますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">Apps ScriptでDIVIDEを使う理由</span></h3>



<p class="wp-block-paragraph">たとえば Apps Script でセルに数式を書き込む場面を考えてみましょう。<code>/</code> 演算子で組み立てると、文字列連結が少し読みにくくなります。</p>



<pre class="wp-block-code"><code>// 演算子版（文字列結合がやや煩雑）
cell.setFormula('=' + cell1 + '/' + cell2);

// DIVIDE関数版（関数呼び出しで構造が見える）
cell.setFormula('=DIVIDE(' + cell1 + ', ' + cell2 + ')');</code></pre>



<p class="wp-block-paragraph">引数の境目がカンマで区切られるため、後から見ても何を割っているか分かりやすいですよね。複雑な数式生成ロジックでは、この差がコードの可読性に効いてきますよ。</p>



<h2 class="wp-block-heading"><span id="toc11">DIVIDE / QUOTIENT / MOD の使い分け</span></h2>



<p class="wp-block-paragraph">割り算をする関数は DIVIDE のほかに QUOTIENT（クォーシェント）と MOD（モッド）があります。それぞれ返す値が違うので、目的に合わせて選びましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>戻り値</th><th>例: (10, 3)</th><th>主な用途</th></tr></thead><tbody><tr><td>DIVIDE</td><td>商（小数含む）</td><td>3.3333&#8230;</td><td>通常の割り算</td></tr><tr><td>QUOTIENT</td><td>商の整数部のみ</td><td>3</td><td>切り捨て除算</td></tr><tr><td>MOD</td><td>余り</td><td>1</td><td>剰余・周期判定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">DIVIDEを使う場面</span></h3>



<p class="wp-block-paragraph">普通の割り算結果が欲しい場面はすべて DIVIDE で対応できます。単価計算・達成率・構成比など、小数まで含めて結果が欲しいケースですね。</p>



<h3 class="wp-block-heading"><span id="toc13">QUOTIENTを使う場面</span></h3>



<p class="wp-block-paragraph">QUOTIENT関数は商の整数部だけを返します。「100個のアイテムを1ページ12個ずつ表示するなら何ページ必要？」のような場面で便利ですよ。</p>



<pre class="wp-block-code"><code>=QUOTIENT(100, 12)   → 8（小数部の 0.333... が捨てられる）</code></pre>



<p class="wp-block-paragraph">ページ数の場合は切り上げが必要なので、実際は <code>CEILING</code> や <code>ROUNDUP</code> と組み合わせる方が確実ですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">MODを使う場面</span></h3>



<p class="wp-block-paragraph">MOD関数は余りを返します。<code>MOD(行番号, 2) = 0</code> で偶数行を判定するパターンが定番で、条件付き書式での縞模様装飾などで頻繁に登場します。</p>



<pre class="wp-block-code"><code>=MOD(10, 3)   → 1
=MOD(ROW(), 2)   ← 偶数行なら 0、奇数行なら 1</code></pre>



<p class="wp-block-paragraph">「3日ごと」「7日ごと」のような周期判定にも使えますよ。</p>



<h2 class="wp-block-heading"><span id="toc15">#DIV/0! エラーの原因と対処法</span></h2>



<p class="wp-block-paragraph">DIVIDE関数で最もよく出会うエラーが <code>#DIV/0!</code> です。割り算ならではのエラーなので、回避方法を押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">#DIV/0! が出る条件</span></h3>



<p class="wp-block-paragraph">このエラーは divisor（割る数）が次のいずれかになると発生します。</p>



<ul class="wp-block-list"><li>divisor が 0</li><li>divisor が空白セル（自動的に 0 として扱われる）</li><li>divisor が 0 を返す数式の結果（例: <code>=DIVIDE(A1, SUM(B1:B5))</code> で SUM が 0 のとき）</li></ul>



<p class="wp-block-paragraph">業務データでは「目標がまだ未設定」「数量がゼロ」「合計がゼロ」といった場面で頻繁に発生します。対処法を3パターン紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン1: IFERROR で代替値を返す</span></h3>



<p class="wp-block-paragraph">一番シンプルなのが IFERROR関数（エラー時に代替値を返す関数）と組み合わせる方法です。</p>



<pre class="wp-block-code"><code>=IFERROR(DIVIDE(A1, B1), 0)
=IFERROR(DIVIDE(A1, B1), &quot;&quot;)
=IFERROR(DIVIDE(A1, B1), &quot;計算不可&quot;)</code></pre>



<p class="wp-block-paragraph">エラーが出たら 0 や空文字、メッセージを返してくれます。書きやすくて便利ですが、エラー全般を捕捉するため <code>#VALUE!</code> のような別のエラーも一律でハンドリングしてしまう点には注意してください。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン2: IF で divisor が 0 のときだけ処理</span></h3>



<p class="wp-block-paragraph">「ゼロ除算だけを明示的にハンドルしたい」場合は IF関数で先に divisor をチェックします。</p>



<pre class="wp-block-code"><code>=IF(B1=0, 0, DIVIDE(A1, B1))
=IF(B1=0, &quot;—&quot;, DIVIDE(A1, B1))</code></pre>



<p class="wp-block-paragraph">この書き方なら、文字列混入による <code>#VALUE!</code> エラーはそのまま表示されるので、原因の切り分けがしやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc19">パターン3: IFS で空白とゼロを分ける</span></h3>



<p class="wp-block-paragraph">IFS関数（複数の条件を順に評価する関数）を使うと、空白と 0 で異なるメッセージを出せます。</p>



<pre class="wp-block-code"><code>=IFS(B1=&quot;&quot;, &quot;未入力&quot;, B1=0, &quot;ゼロ&quot;, TRUE, DIVIDE(A1, B1))</code></pre>



<p class="wp-block-paragraph">未入力なら「未入力」、ゼロなら「ゼロ」、それ以外は計算結果という3分岐です。データの入力状況を可視化したいときに役立ちます。</p>



<h3 class="wp-block-heading"><span id="toc20">TIP: 達成率の構成比で安全に書くテンプレ</span></h3>



<p class="wp-block-paragraph">実務でよく使う「達成率」「構成比」の安全な書き方をまとめておきます。</p>



<pre class="wp-block-code"><code>達成率: =IFERROR(DIVIDE(実績, 目標), &quot;&quot;)
構成比: =IFERROR(DIVIDE(個別値, 合計), 0)</code></pre>



<p class="wp-block-paragraph">これでデータがまだ揃っていない行でもエラー表示にならず、レポートの見た目をキレイに保てますよ。</p>



<h2 class="wp-block-heading"><span id="toc21">算術演算子関数シリーズ（ADD / MINUS / MULTIPLY / DIVIDE）</span></h2>



<p class="wp-block-paragraph">DIVIDE関数は、Google スプレッドシートに用意された4つの算術演算子関数のひとつです。これでシリーズが完結します。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>演算子</th><th>構文</th><th>結果</th></tr></thead><tbody><tr><td>ADD</td><td><code>+</code></td><td><code>ADD(value1, value2)</code></td><td>value1 + value2</td></tr><tr><td>MINUS</td><td><code>-</code></td><td><code>MINUS(value1, value2)</code></td><td>value1 &#8211; value2</td></tr><tr><td>MULTIPLY</td><td><code>*</code></td><td><code>MULTIPLY(factor1, factor2)</code></td><td>factor1 × factor2</td></tr><tr><td>DIVIDE</td><td><code>/</code></td><td><code>DIVIDE(dividend, divisor)</code></td><td>dividend ÷ divisor</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">すべて引数は2つだけ、という共通仕様です。シンプルですよね。減算の使い方は<a href="https://mashukabu.com/spreadsheet-minus-function/">スプレッドシートのMINUS関数の使い方</a>にまとめてあります。乗算の使い方は<a href="https://mashukabu.com/spreadsheet-multiply-function/">スプレッドシートのMULTIPLY関数の使い方</a>で解説しているので、あわせて読んでみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc22">ARRAYFORMULAとの組み合わせ</span></h2>



<p class="wp-block-paragraph">複数行で同じ割り算を繰り返したいとき、ARRAYFORMULA と組み合わせると 1セルだけで全行に展開できます。</p>



<h3 class="wp-block-heading"><span id="toc23">範囲を一括で割り算する</span></h3>



<p class="wp-block-paragraph">ただし DIVIDE関数はスカラー値専用のため、ARRAYFORMULA で配列展開する用途には向いていません。範囲を一括で割り算したい場合は、<code>/</code> 演算子を使う方が確実です。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(A2:A100 / B2:B100)</code></pre>



<p class="wp-block-paragraph">これで A 列と B 列の同じ行同士を割り算した結果が、1セルから縦に展開されます。</p>



<h3 class="wp-block-heading"><span id="toc24">空白行とゼロ除算を一緒にガードする</span></h3>



<p class="wp-block-paragraph">ARRAYFORMULA では <code>#DIV/0!</code> も IF / IFERROR で防げます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B=&quot;&quot;, &quot;&quot;, IFERROR(A2:A / B2:B, &quot;&quot;)))</code></pre>



<p class="wp-block-paragraph">これで B 列が空白の行は何も表示せず、ゼロが入っていてもエラーを表示しないようになります。レポート用の集計シートで重宝するパターンですよ。</p>



<h2 class="wp-block-heading"><span id="toc25">ExcelにDIVIDE関数はある？</span></h2>



<p class="wp-block-paragraph">結論からいうと、<strong>Microsoft Excel には DIVIDE という名前の関数は存在しません</strong>。</p>



<p class="wp-block-paragraph">Excel で割り算を関数で書きたい場合、選択肢は限られます。整数の商だけが必要なら QUOTIENT関数、余りなら MOD関数、通常の割り算なら素直に <code>/</code> 演算子を使う、という形になります。</p>



<h3 class="wp-block-heading"><span id="toc26">Excelには非対応｜互換性の注意点</span></h3>



<p class="wp-block-paragraph">Google スプレッドシートで作ったファイルを <code>.xlsx</code> 形式で書き出す予定がある場合は注意が必要です。DIVIDE関数は Excel で開くと <code>#NAME?</code> エラーになってしまいます。</p>



<p class="wp-block-paragraph">Excel と共有する可能性のあるファイルでは、最初から <code>/</code> 演算子で書いておく方が安全ですよ。DIVIDE関数は「スプレッドシート専用ファイル」向きです。Apps Script から数式を動的に生成する場面でも活躍してくれますよ。</p>



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



<p class="wp-block-paragraph">DIVIDE関数で遭遇しやすいエラーをまとめておきます。</p>



<h3 class="wp-block-heading"><span id="toc28">#DIV/0! エラー：0で割っている</span></h3>



<p class="wp-block-paragraph">すでに詳しく解説しましたが、divisor が 0 または空白のときに発生します。対処法は前述の3パターン（IFERROR・IF・IFS）から選んでください。</p>



<h3 class="wp-block-heading"><span id="toc29">#VALUE! エラー：文字列が混入している</span></h3>



<p class="wp-block-paragraph">引数に数値として解釈できない文字列が入っているときに発生します。</p>



<pre class="wp-block-code"><code>=DIVIDE(&quot;abc&quot;, 5)   → #VALUE!</code></pre>



<p class="wp-block-paragraph">エラーメッセージには次のように表示されます。</p>



<pre class="wp-block-code"><code>Function DIVIDE parameter N expects number values.</code></pre>



<p class="wp-block-paragraph">対処法は、引数のセルが数値型になっているか確認することです。</p>



<p class="wp-block-paragraph">文字列として保存されている数字（テキスト形式の <code>"100"</code> など）が原因のことも多いです。VALUE関数（文字列を数値に変換する関数）と組み合わせるのも有効ですよ。<code>=DIVIDE(VALUE(A1), VALUE(B1))</code> と書けば回避できます。</p>



<h3 class="wp-block-heading"><span id="toc30">#N/A エラー（ARRAYFORMULA + / 演算子 利用時）</span></h3>



<p class="wp-block-paragraph">ARRAYFORMULA で範囲の行数が一致していないと発生します。対処法は、両方の範囲を同じ行数に揃えることです。<code>A2:A10</code> なら <code>B2:B10</code> のように揃えましょう。</p>



<h3 class="wp-block-heading"><span id="toc31">#NAME? エラー</span></h3>



<p class="wp-block-paragraph">関数名のスペルミスが原因です。<code>DIVID</code> <code>DIVIDED</code> など、よくある書き間違いに注意してください。正しいスペルは <strong>DIVIDE</strong> です。</p>



<p class="wp-block-paragraph">Excelで開いている場合も <code>#NAME?</code> になります。その場合は <code>/</code> 演算子に置き換えましょう。</p>



<h3 class="wp-block-heading"><span id="toc32">引数を3つ以上指定したときの対処</span></h3>



<p class="wp-block-paragraph">DIVIDE関数は引数が2つに固定されています。3つ以上の連続除算をしたい場合は次の方法を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>書き方</th><th>コメント</th></tr></thead><tbody><tr><td>演算子で連続</td><td><code>=A1/B1/C1</code></td><td>一番シンプル</td></tr><tr><td>DIVIDE ネスト</td><td><code>=DIVIDE(DIVIDE(A1, B1), C1)</code></td><td>読みにくいので非推奨</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務では <code>=A1/B1/C1</code> のパターンが扱いやすいですよ。</p>



<h2 class="wp-block-heading"><span id="toc33">よくある質問（DIVIDE関数）</span></h2>



<h3 class="wp-block-heading"><span id="toc34">Q1. DIVIDE関数と「/」演算子の結果は完全に同じですか？</span></h3>



<p class="wp-block-paragraph">はい、計算結果は完全に同じです。<code>=DIVIDE(10, 3)</code> と <code>=10/3</code> はどちらも <code>3.3333...</code> を返します。</p>



<p class="wp-block-paragraph">違いは記述方法と用途だけです。普段の手入力では <code>/</code> 演算子の方が短くて速いので、通常の業務ではそちらを使えば問題ありません。Apps Script で数式を文字列として組み立てる場合や、「割り算をしている」と関数名で明示したいときにDIVIDE関数が便利です。</p>



<h3 class="wp-block-heading"><span id="toc35">Q2. DIVIDE関数でパーセント表示にするには？</span></h3>



<p class="wp-block-paragraph">計算結果を <code>%</code> で表示するには、セルの書式設定を変えるのが一番簡単です。</p>



<pre class="wp-block-code"><code>=DIVIDE(実績セル, 目標セル)</code></pre>



<p class="wp-block-paragraph">この数式を入力したセルを選択し、「表示形式」→「数字」→「パーセント」を選ぶか、ツールバーの <code>%</code> ボタンをクリックすると、<code>0.85</code> が <code>85%</code> として表示されます。</p>



<p class="wp-block-paragraph">数式内でパーセントを掛ける必要はありません。書式設定で表示を変えるだけで、計算には影響しませんよ。</p>



<h3 class="wp-block-heading"><span id="toc36">Q3. DIVIDE関数の結果を特定の小数点以下で丸めるには？</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-round-function/">ROUND関数</a>と組み合わせると、小数点以下の桁数を指定して丸められます。</p>



<pre class="wp-block-code"><code>=ROUND(DIVIDE(A1, B1), 2)   → 小数点以下2桁で四捨五入
=ROUNDDOWN(DIVIDE(A1, B1), 0)   → 小数点以下を切り捨てて整数に</code></pre>



<p class="wp-block-paragraph">割り算の結果をそのまま使うと端数が出ることが多いので、レポートや資料にまとめる際はROUND関数とセットで使うと見た目が整いますよ。</p>



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



<p class="wp-block-paragraph">スプレッドシートのDIVIDE関数の使い方を解説しました。ポイントを振り返っておきましょう。</p>



<ul class="wp-block-list"><li><strong>DIVIDE関数は <code>DIVIDE(dividend, divisor)</code> で2つの値を割った結果を返す</strong></li><li><strong><code>/</code> 演算子と同じ結果を返すが、Google スプレッドシート固有の関数（Excel にはない）</strong></li><li><strong>引数は2つだけ。3つ以上の連続除算には <code>/</code> 演算子が向く</strong></li><li><strong><code>#DIV/0!</code> エラーは IFERROR / IF / IFS の3パターンで防げる</strong></li><li><strong>整数の商なら QUOTIENT、余りなら MOD と使い分ける</strong></li><li><strong>同じ系列に ADD / MINUS / MULTIPLY もある（4関数で完結）</strong></li></ul>



<p class="wp-block-paragraph">普段の手入力では <code>/</code> 演算子の方が短くて速いので、無理して DIVIDE関数 に置き換える必要はありません。Apps Script で数式を生成する場面や、関数で明示したい場面で DIVIDE関数 を選びましょう。エラー対策とセットで使えると業務データの安定性が一気に上がりますよ。</p>



<p class="wp-block-paragraph">シリーズ関数（ADD / <a href="https://mashukabu.com/spreadsheet-minus-function/">MINUS</a> / <a href="https://mashukabu.com/spreadsheet-multiply-function/">MULTIPLY</a>）もあわせて、ぜひ使い分けてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-divide-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのMINUS関数の使い方｜減算</title>
		<link>https://mashukabu.com/spreadsheet-minus-function/</link>
					<comments>https://mashukabu.com/spreadsheet-minus-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 21:32:38 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[MINUS関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[減算]]></category>
		<category><![CDATA[算術演算子関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6421</guid>

					<description><![CDATA[Google スプレッドシートのMINUS関数は、value1からvalue2を引いた結果を返す減算用の関数です。マイナス演算子（-）との使い分け、ARRAYFORMULAでの一括計算、日付・時刻の引き算まで実例で解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで引き算をしたいとき、多くの人は <code>=A1-B1</code> のように <code>-</code> 演算子を使うはずです。実は Google スプレッドシートには、引き算専用の <strong>MINUS関数</strong> という関数も用意されています。</p>



<p class="wp-block-paragraph">「演算子で書けるのに、わざわざ関数？」と思うかもしれません。実は ARRAYFORMULA や Apps Script を使う場面では、関数で書ける方が便利なこともあるんですよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのMINUS関数の構文・使い方を解説します。<code>-</code> 演算子との違い、ARRAYFORMULA との組み合わせ、日付や時刻の引き算まで実例つきでまとめました。</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">スプレッドシートのMINUS関数とは？</a></li><li><a href="#toc2" tabindex="0">MINUS関数の構文と引数</a></li><li><a href="#toc3" tabindex="0">MINUS関数の基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">例1: 売上から原価を引いて利益を出す</a></li><li><a href="#toc5" tabindex="0">例2: 目標と実績の差分</a></li><li><a href="#toc6" tabindex="0">例3: 数値を直接入れる</a></li></ol></li><li><a href="#toc7" tabindex="0">実務でよく使うMINUS関数のパターン</a><ol><li><a href="#toc8" tabindex="0">予算差異分析</a></li><li><a href="#toc9" tabindex="0">在庫管理での残量計算</a></li><li><a href="#toc10" tabindex="0">経過日数のカウント</a></li></ol></li><li><a href="#toc11" tabindex="0">MINUS関数とマイナス演算子（-）の違い</a></li><li><a href="#toc12" tabindex="0">算術演算子関数シリーズ（ADD / MINUS / MULTIPLY / DIVIDE）</a></li><li><a href="#toc13" tabindex="0">ARRAYFORMULAとの組み合わせ</a><ol><li><a href="#toc14" tabindex="0">演算子版</a></li><li><a href="#toc15" tabindex="0">関数版</a></li><li><a href="#toc16" tabindex="0">空白セルを除外したいとき</a></li></ol></li><li><a href="#toc17" tabindex="0">日付・時刻の引き算でのMINUS関数</a><ol><li><a href="#toc18" tabindex="0">日付の差分（経過日数）</a></li><li><a href="#toc19" tabindex="0">時刻の差分（経過時間）</a></li></ol></li><li><a href="#toc20" tabindex="0">ExcelにMINUS関数はある？</a></li><li><a href="#toc21" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc23" tabindex="0">#N/A エラー（ARRAYFORMULA 利用時）</a></li><li><a href="#toc24" tabindex="0">#NAME? エラー</a></li><li><a href="#toc25" tabindex="0">引数を3つ以上指定したい場合</a></li></ol></li><li><a href="#toc26" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc27" tabindex="0">Q1. MINUS関数とSUBTRACT関数は同じですか？</a></li><li><a href="#toc28" tabindex="0">Q2. 計算結果が正しくないように見えるのですが…</a></li><li><a href="#toc29" tabindex="0">Q3. 3つ以上の値から引き算したいのですが？</a></li><li><a href="#toc30" tabindex="0">Q4. マイナス演算子（-）とMINUS関数、どちらを使えばよいですか？</a></li></ol></li><li><a href="#toc31" tabindex="0">関連記事</a></li><li><a href="#toc32" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのMINUS関数とは？</span></h2>



<p class="wp-block-paragraph">スプレッドシートのMINUS関数は、value1 から value2 を引いた結果を返す <strong>減算用の関数</strong> です。<code>=A1-B1</code> と書く代わりに <code>=MINUS(A1, B1)</code> と書けます。</p>



<p class="wp-block-paragraph">実は MINUS関数は Google スプレッドシート固有の関数で、Microsoft Excel には存在しません。「Excelからスプレッドシートに移ってきて初めて知った」という方も多いのではないでしょうか。</p>



<p class="wp-block-paragraph">スプレッドシートには MINUS の仲間として、加算の ADD、乗算の MULTIPLY、除算の DIVIDE があります。これらは算術演算子関数と呼ばれ、4種類が一通り揃っています。それぞれ <code>+</code> <code>-</code> <code>*</code> <code>/</code> の演算子と同じ結果を返しますが、関数として書きたい場面で活躍します。</p>



<h2 class="wp-block-heading"><span id="toc2">MINUS関数の構文と引数</span></h2>



<p class="wp-block-paragraph">MINUS関数の構文はとてもシンプルです。</p>



<pre class="wp-block-code"><code>=MINUS(value1, value2)</code></pre>



<p class="wp-block-paragraph">引数は次の2つだけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>value1</td><td>必須</td><td>引かれる数（被減数）</td></tr><tr><td>value2</td><td>必須</td><td>引く数（減数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は <code>value1 - value2</code> の結果です。SUM関数のように複数の値をまとめて指定することはできません。引数は2つで固定、と覚えておきましょう。</p>



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



<p class="wp-block-paragraph">実際のサンプルで動きを見ていきましょう。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<h3 class="wp-block-heading"><span id="toc4">例1: 売上から原価を引いて利益を出す</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A: 商品</th><th>B: 売上</th><th>C: 原価</th><th>D: 利益</th></tr></thead><tbody><tr><td>2</td><td>商品X</td><td>10000</td><td>6000</td><td>=MINUS(B2, C2)</td></tr><tr><td>3</td><td>商品Y</td><td>8000</td><td>5500</td><td>=MINUS(B3, C3)</td></tr><tr><td>4</td><td>商品Z</td><td>12000</td><td>7000</td><td>=MINUS(B4, C4)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-minus-function/02_formula_minus-basic.png/">_images/spreadsheet-minus-function/02_formula_minus-basic.png</a></p>



<p class="wp-block-paragraph">D2 の結果は <code>4000</code>、D3 は <code>2500</code>、D4 は <code>5000</code> になります。<code>=B2-C2</code> と書いても同じ結果です。</p>



<h3 class="wp-block-heading"><span id="toc5">例2: 目標と実績の差分</span></h3>



<p class="wp-block-paragraph">達成状況を見るときも MINUS関数が使えます。</p>



<pre class="wp-block-code"><code>=MINUS(B2, C2)   ← B2が目標、C2が実績</code></pre>



<p class="wp-block-paragraph">実績が目標を下回ればマイナス値になり、未達がひと目で分かります。</p>



<h3 class="wp-block-heading"><span id="toc6">例3: 数値を直接入れる</span></h3>



<p class="wp-block-paragraph">セル参照ではなく、直接数値を入れることもできます。</p>



<pre class="wp-block-code"><code>=MINUS(100, 30)   → 70
=MINUS(50, 80)    → -30</code></pre>



<p class="wp-block-paragraph">引いた結果がマイナスになっても、当然ながらそのままマイナス値が返ってきます。</p>



<h2 class="wp-block-heading"><span id="toc7">実務でよく使うMINUS関数のパターン</span></h2>



<p class="wp-block-paragraph">MINUS関数は、実務のさまざまな場面で活躍します。よく使われるパターンをいくつか紹介します。</p>



<h3 class="wp-block-heading"><span id="toc8">予算差異分析</span></h3>



<p class="wp-block-paragraph">月次の予算管理でよく使う構成です。予算から実績を引くと、プラスなら「予算内」、マイナスなら「予算超過」がひと目で分かります。</p>



<figure class="wp-block-table"><table><thead><tr><th>A: 部門</th><th>B: 予算</th><th>C: 実績</th><th>D: 差異（B-C）</th></tr></thead><tbody><tr><td>営業部</td><td>500000</td><td>480000</td><td>=MINUS(B2, C2)</td></tr><tr><td>製造部</td><td>300000</td><td>330000</td><td>=MINUS(B3, C3)</td></tr><tr><td>総務部</td><td>150000</td><td>145000</td><td>=MINUS(B4, C4)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">D3（製造部）は <code>-30000</code> になり、予算超過がすぐ分かります。ABS関数と組み合わせると差額の絶対値も算出できますよ。</p>



<pre class="wp-block-code"><code>=ABS(MINUS(B2, C2))   ← 差異の絶対値（符号なし）</code></pre>



<p class="wp-block-paragraph">さらに IF と組み合わせると、超過か節約かをテキストで表示することもできます。</p>



<pre class="wp-block-code"><code>=IF(MINUS(B2, C2)&gt;=0, &quot;節約&quot;, &quot;超過&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc9">在庫管理での残量計算</span></h3>



<p class="wp-block-paragraph">前日の在庫数から出荷数を引いて残在庫を出すパターンです。</p>



<pre class="wp-block-code"><code>=MINUS(B2, C2)   ← B2が前日在庫、C2が出荷数</code></pre>



<p class="wp-block-paragraph">複数商品まとめて管理するなら ARRAYFORMULA と組み合わせましょう。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(MINUS(B2:B, C2:C))</code></pre>



<p class="wp-block-paragraph">B 列が空になった行は空白ではなく <code>0</code> が表示されてしまうので、IF で空白セルを除外するのがおすすめです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B=&quot;&quot;, &quot;&quot;, MINUS(B2:B, C2:C)))</code></pre>



<h3 class="wp-block-heading"><span id="toc10">経過日数のカウント</span></h3>



<p class="wp-block-paragraph">プロジェクトの残り日数や経過日数も MINUS関数で計算できます。</p>



<pre class="wp-block-code"><code>=MINUS(C2, TODAY())   ← C2が締め切り日、TODAY()が今日の日付</code></pre>



<p class="wp-block-paragraph">結果を「数値」書式で表示すると、締め切りまでの残日数が数字でシンプルに確認できます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_minus-basic.png" alt="03 result minus basic" /></figure>



<h2 class="wp-block-heading"><span id="toc11">MINUS関数とマイナス演算子（-）の違い</span></h2>



<p class="wp-block-paragraph">「結局、<code>-</code> 演算子で書くのと何が違うの？」という疑問はもっともです。両者を比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>演算子 <code>-</code></th><th>MINUS関数</th></tr></thead><tbody><tr><td>記述の長さ</td><td>短い（<code>=A1-B1</code>）</td><td>やや長い（<code>=MINUS(A1, B1)</code>）</td></tr><tr><td>3つ以上の引き算</td><td><code>=A1-B1-C1</code> で連続 OK</td><td>引数2つ制限（ネストが必要）</td></tr><tr><td>ARRAYFORMULA</td><td>使える</td><td>使える</td></tr><tr><td>QUERY 内</td><td>使える（<code>B-C</code>）</td><td>使えない</td></tr><tr><td>Apps Script から数式生成</td><td>文字列結合がやや手間</td><td>関数呼び出しで読みやすい</td></tr><tr><td>Excel との互換性</td><td>互換あり</td><td>Excel 非対応</td></tr><tr><td>一般的な使用頻度</td><td>高い</td><td>低い</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">普段の手入力では <code>-</code> 演算子の方が短くて速いです。MINUS関数が活きるのは、Apps Script や API で数式文字列を組み立てる場面ですね。あとは「引き算をしている」と関数名で明示したい場面にも向いています。</p>



<p class="wp-block-paragraph">たとえば Apps Script から数式をセットする場面を考えてみましょう。<code>"=" + cell1 + "-" + cell2</code> と文字列を連結するより、<code>"=MINUS(" + cell1 + ", " + cell2 + ")"</code> と書く方が後から読みやすいケースもありますよ。</p>



<h2 class="wp-block-heading"><span id="toc12">算術演算子関数シリーズ（ADD / MINUS / MULTIPLY / DIVIDE）</span></h2>



<p class="wp-block-paragraph">MINUS関数は、Google スプレッドシートに用意された4つの算術演算子関数のひとつです。残り3つもセットで覚えておくと便利です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>演算子</th><th>構文</th><th>結果</th></tr></thead><tbody><tr><td>ADD</td><td><code>+</code></td><td><code>ADD(value1, value2)</code></td><td>value1 + value2</td></tr><tr><td>MINUS</td><td><code>-</code></td><td><code>MINUS(value1, value2)</code></td><td>value1 &#8211; value2</td></tr><tr><td>MULTIPLY</td><td><code>*</code></td><td><code>MULTIPLY(factor1, factor2)</code></td><td>factor1 × factor2</td></tr><tr><td>DIVIDE</td><td><code>/</code></td><td><code>DIVIDE(dividend, divisor)</code></td><td>dividend ÷ divisor</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">すべて引数は2つだけ、という共通仕様です。シンプルですよね。</p>



<h2 class="wp-block-heading"><span id="toc13">ARRAYFORMULAとの組み合わせ</span></h2>



<p class="wp-block-paragraph">複数行で同じ引き算を繰り返したいとき、ARRAYFORMULA と組み合わせると 1セルだけで全行に展開できます。</p>



<h3 class="wp-block-heading"><span id="toc14">演算子版</span></h3>



<pre class="wp-block-code"><code>=ARRAYFORMULA(B2:B100 - C2:C100)</code></pre>



<h3 class="wp-block-heading"><span id="toc15">関数版</span></h3>



<pre class="wp-block-code"><code>=ARRAYFORMULA(MINUS(B2:B100, C2:C100))</code></pre>



<p class="wp-block-paragraph">どちらも同じ結果ですが、関数版は引数の範囲が並んで見えるのが利点です。複雑な式の中にネストする際、読みやすい場合がありますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">空白セルを除外したいとき</span></h3>



<p class="wp-block-paragraph">何も入力されていない行まで <code>0</code> と表示されると見た目が悪いですよね。IF関数と組み合わせて、空白行は何も表示しないようにしましょう。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B=&quot;&quot;, &quot;&quot;, MINUS(B2:B, C2:C)))</code></pre>



<p class="wp-block-paragraph">これで B 列が空白の行は何も表示されず、入力済みの行だけ計算結果が出るようになります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_minus-arrayformula.png" alt="04 result minus arrayformula" /></figure>



<h2 class="wp-block-heading"><span id="toc17">日付・時刻の引き算でのMINUS関数</span></h2>



<p class="wp-block-paragraph">スプレッドシートでは日付や時刻も内部的に <strong>シリアル値</strong> として管理されています。シリアル値とは、1899/12/30 を 0 とした連続整数のことです。そのため、MINUS関数で日付や時刻もそのまま引き算できます。</p>



<h3 class="wp-block-heading"><span id="toc18">日付の差分（経過日数）</span></h3>



<pre class="wp-block-code"><code>=MINUS(&quot;2026/04/30&quot;, &quot;2026/04/01&quot;)   → 29</code></pre>



<p class="wp-block-paragraph">開始日と終了日を引き算すると、経過日数が数値で返ってきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A: 開始日</th><th>B: 終了日</th><th>C: 経過日数</th></tr></thead><tbody><tr><td>2026/04/01</td><td>2026/04/30</td><td>=MINUS(B2, A2)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">C2 の結果は <code>29</code> になります。ただし注意点があります。<strong>結果セルが日付書式のままだと「1900/01/28」のような変な日付として表示される</strong> ことがあるんです。表示形式を「数値」に変えてあげましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">時刻の差分（経過時間）</span></h3>



<p class="wp-block-paragraph">時刻もシリアル値で扱われ、1日が <code>1</code> です。</p>



<pre class="wp-block-code"><code>=MINUS(&quot;17:00&quot;, &quot;9:00&quot;)   → 0.333...（8時間 = 8 ÷ 24）</code></pre>



<p class="wp-block-paragraph">8時間という結果がほしいのに小数で出てきてしまいます。これは時刻のシリアル値が小数で表現されるためです。表示形式を <code>[h]:mm</code> に変更すると、<code>8:00</code> のように経過時間として表示できますよ。</p>



<p class="wp-block-paragraph">勤務時間の集計などでよく使うパターンなので、覚えておくと便利です。</p>



<h2 class="wp-block-heading"><span id="toc20">ExcelにMINUS関数はある？</span></h2>



<p class="wp-block-paragraph">結論からいうと、<strong>Microsoft Excel には MINUS という名前の関数は存在しません</strong>。</p>



<p class="wp-block-paragraph">Excel で引き算を関数で書きたい場合、選択肢は限られます。複素数の引き算用の <code>IMSUB</code> を流用するか、素直に <code>-</code> 演算子を使うかです。</p>



<p class="wp-block-paragraph">「Excel と同じ感覚でスプレッドシートに <code>=A1-B1</code> と書けば良いのでは？」と思うかもしれません。それで全く問題ありません。MINUS関数は Google スプレッドシートが用意した「演算子の関数版」という位置付けです。API・QUERY・ARRAYFORMULA との連携を意識して整備されたものなんです。</p>



<p class="wp-block-paragraph">ですから、Excel ファイルとして <code>.xlsx</code> で書き出す予定がある場合は注意が必要です。MINUS関数ではなく <code>-</code> 演算子で書いておく方が安全ですよ。</p>



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



<p class="wp-block-paragraph">MINUS関数で遭遇しやすいエラーをまとめておきます。</p>



<h3 class="wp-block-heading"><span id="toc22">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph">引数に数値として解釈できない文字列が入っているときに発生します。</p>



<pre class="wp-block-code"><code>=MINUS(&quot;abc&quot;, 1)   → #VALUE!</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_error_value.png" alt="05 error value" /></figure>



<p class="wp-block-paragraph">対処法は、引数のセルが数値型になっているか確認すること。文字列として保存されている数字（テキスト形式の <code>"100"</code> など）が原因のことも多いです。VALUE関数（文字列を数値に変換する関数）と組み合わせるのも有効です。<code>=MINUS(VALUE(A1), VALUE(B1))</code> と書けば回避できます。</p>



<h3 class="wp-block-heading"><span id="toc23">#N/A エラー（ARRAYFORMULA 利用時）</span></h3>



<p class="wp-block-paragraph">ARRAYFORMULA で <code>value1</code> と <code>value2</code> の範囲行数が一致していないと発生します。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(MINUS(A2:A10, B2:B5))   → #N/A</code></pre>



<p class="wp-block-paragraph">対処法は、両方の範囲を同じ行数に揃えること。<code>A2:A10</code> なら <code>B2:B10</code> のように揃えましょう。</p>



<h3 class="wp-block-heading"><span id="toc24">#NAME? エラー</span></h3>



<p class="wp-block-paragraph">関数名のスペルミスが原因です。<code>MINIS</code> <code>MUNUS</code> など、よくある書き間違いに注意してください。正しいスペルは <strong>MINUS</strong> です。</p>



<h3 class="wp-block-heading"><span id="toc25">引数を3つ以上指定したい場合</span></h3>



<p class="wp-block-paragraph">MINUS関数は引数が2つに固定されています。3つ以上引きたい場合は次の方法を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>書き方</th><th>コメント</th></tr></thead><tbody><tr><td>演算子で連続</td><td><code>=A1-B1-C1</code></td><td>一番シンプル</td></tr><tr><td>SUM 併用</td><td><code>=A1-SUM(B1:C1)</code></td><td>引く数がまとまっているとき便利</td></tr><tr><td>MINUS ネスト</td><td><code>=MINUS(MINUS(A1, B1), C1)</code></td><td>読みにくいので非推奨</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務では <code>=A1-SUM(B1:C1)</code> のパターンが扱いやすいですよ。</p>



<h2 class="wp-block-heading"><span id="toc26">よくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc27">Q1. MINUS関数とSUBTRACT関数は同じですか？</span></h3>



<p class="wp-block-paragraph">Google スプレッドシートには <code>SUBTRACT</code> という名前の関数は存在しません。引き算の関数は <code>MINUS</code> だけです。Excel で使っていた方や他のツールからの移行時に混乱しやすいので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc28">Q2. 計算結果が正しくないように見えるのですが…</span></h3>



<p class="wp-block-paragraph">よくある原因が2つあります。</p>



<p class="wp-block-paragraph"><strong>① セルが文字列型になっている</strong></p>



<p class="wp-block-paragraph">数値に見えていても、セルの書式が「テキスト」になっていると MINUS関数が <code>#VALUE!</code> を返すことがあります。<code>VALUE(A1)</code> で数値に変換してから渡してあげましょう。</p>



<pre class="wp-block-code"><code>=MINUS(VALUE(A1), VALUE(B1))</code></pre>



<p class="wp-block-paragraph"><strong>② 日付や時刻の書式が残っている</strong></p>



<p class="wp-block-paragraph">日付どうしを引いた結果のセルが日付書式のままだと、数値の代わりに日付として表示されます。結果セルの書式を「数値」に変えてください。</p>



<h3 class="wp-block-heading"><span id="toc29">Q3. 3つ以上の値から引き算したいのですが？</span></h3>



<p class="wp-block-paragraph">MINUS関数は引数2つだけなので、3つ以上を一度に指定することはできません。次の3通りから選びましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>書き方</th></tr></thead><tbody><tr><td>演算子で連続</td><td><code>=A1-B1-C1</code></td></tr><tr><td>SUM で引く数をまとめる</td><td><code>=A1-SUM(B1:D1)</code></td></tr><tr><td>MINUSをネスト（非推奨）</td><td><code>=MINUS(MINUS(A1,B1),C1)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務では <code>=A1-SUM(B1:D1)</code> が最も読みやすく便利です。</p>



<h3 class="wp-block-heading"><span id="toc30">Q4. マイナス演算子（-）とMINUS関数、どちらを使えばよいですか？</span></h3>



<p class="wp-block-paragraph">ほとんどの場面では<strong>マイナス演算子（-）で十分</strong>です。MINUS関数を選ぶのは次のケースに限ると考えておくとよいでしょう。</p>



<ul class="wp-block-list"><li><strong>Apps Script で数式文字列を組み立てるとき</strong>: <code>"=MINUS(" + cell1 + "," + cell2 + ")"</code> のように書くと可読性が上がります</li><li><strong>ARRAYFORMULA と組み合わせるとき</strong>: どちらでも動きますが、引数の区切りが見やすい場合は関数版を選びます</li><li><strong>他の算術演算子関数（ADD/MULTIPLY/DIVIDE）と統一して書きたいとき</strong>: コードの一貫性のために揃えることがあります</li></ul>



<p class="wp-block-paragraph">逆に、Excel との互換性を保ちたい場合（<code>.xlsx</code> 書き出しを予定している場合）は<strong>マイナス演算子（-）一択</strong>です。MINUS関数は Excel で開いたときにエラーになってしまいます。</p>



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



<p class="wp-block-paragraph">MINUS関数とあわせて覚えておきたい、算術演算子関数や組み合わせて使う関数の解説記事です。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-multiply-function/">スプレッドシートのMULTIPLY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-divide-function/">スプレッドシートのDIVIDE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sum-function/">スプレッドシートのSUM関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-abs-function/">スプレッドシートのABS関数で絶対値を求める</a></li></ul>



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



<p class="wp-block-paragraph">スプレッドシートのMINUS関数の使い方を解説しました。ポイントを振り返っておきましょう。</p>



<ul class="wp-block-list"><li><strong>MINUS関数は <code>MINUS(value1, value2)</code> で value1 から value2 を引いた結果を返す</strong></li><li><strong><code>-</code> 演算子と同じ結果を返すが、Google スプレッドシート固有の関数（Excel にはない）</strong></li><li><strong>引数は2つだけ。3つ以上引きたいときは <code>-</code> 演算子か SUM と組み合わせる</strong></li><li><strong>ARRAYFORMULA と組み合わせると複数行で一括計算できる</strong></li><li><strong>日付や時刻もシリアル値として引き算できる（結果セルの書式に注意）</strong></li><li><strong>同じ系列に ADD / MULTIPLY / DIVIDE もある</strong></li></ul>



<p class="wp-block-paragraph">普段の手入力では <code>-</code> 演算子の方が短くて速いので、無理して MINUS関数 に置き換える必要はありません。Apps Script で数式を生成する場面や、関数で明示したい場面で MINUS関数 を選びましょう。この使い分けがおすすめです。</p>



<p class="wp-block-paragraph">シリーズ関数（ADD / MULTIPLY / DIVIDE）もぜひセットで使い分けてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-minus-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシート MULTIPLY関数の使い方｜*との違いも解説</title>
		<link>https://mashukabu.com/spreadsheet-multiply-function/</link>
					<comments>https://mashukabu.com/spreadsheet-multiply-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 21:32:34 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[MULTIPLY関数]]></category>
		<category><![CDATA[PRODUCT関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[掛け算]]></category>
		<category><![CDATA[算術演算子関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6420</guid>

					<description><![CDATA[Google スプレッドシートのMULTIPLY関数の使い方を初心者向けに解説。基本構文・引数・具体的な使用例から、掛け算演算子（*）・PRODUCT関数との違い、ARRAYFORMULAとの組み合わせ、よくあるエラーの対処法まで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで掛け算をしたいとき、多くの人は <code>=A1<em>B1</code> のように <code></em></code> 演算子を使うはずです。実は Google スプレッドシートには、掛け算専用の <strong>MULTIPLY関数</strong> という関数も用意されています。</p>



<p class="wp-block-paragraph">「演算子で書けるのに、わざわざ関数？」と思うかもしれません。実は ARRAYFORMULA や Apps Script を使う場面では、関数として書ける方が便利なこともあるんですよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのMULTIPLY関数の構文・使い方を解説します。<code>*</code> 演算子との違いや PRODUCT関数との使い分け、ARRAYFORMULAとの組み合わせまで、実例つきでまとめました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのMULTIPLY関数とは？</a><ol><li><a href="#toc2" tabindex="0">2値の掛け算はMULTIPLY、3値以上はPRODUCT</a></li></ol></li><li><a href="#toc3" tabindex="0">MULTIPLY関数の構文と引数</a></li><li><a href="#toc4" tabindex="0">MULTIPLY関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">例1: 売上計算（単価×数量）</a></li><li><a href="#toc6" tabindex="0">例2: 割引率を適用する</a></li><li><a href="#toc7" tabindex="0">例3: 数値を直接入れる</a></li></ol></li><li><a href="#toc8" tabindex="0">MULTIPLY関数と掛け算演算子（*）の違い</a><ol><li><a href="#toc9" tabindex="0">演算子 vs MULTIPLY vs PRODUCT 3軸比較表</a></li><li><a href="#toc10" tabindex="0">Apps ScriptでMULTIPLYを使う理由</a></li></ol></li><li><a href="#toc11" tabindex="0">PRODUCT関数との違い</a></li><li><a href="#toc12" tabindex="0">算術演算子関数シリーズ（ADD / MINUS / MULTIPLY / DIVIDE）</a></li><li><a href="#toc13" tabindex="0">ARRAYFORMULAとの組み合わせ</a><ol><li><a href="#toc14" tabindex="0">複数行を一括で掛け算する</a></li><li><a href="#toc15" tabindex="0">空白セルを除外したいとき</a></li></ol></li><li><a href="#toc16" tabindex="0">ExcelにMULTIPLY関数はある？</a><ol><li><a href="#toc17" tabindex="0">Excelには非対応｜互換性の注意点</a></li></ol></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">#VALUE!エラー：文字列が混入している</a></li><li><a href="#toc20" tabindex="0">#N/A エラー（ARRAYFORMULA + * 演算子 利用時）</a></li><li><a href="#toc21" tabindex="0">#NAME? エラー</a></li><li><a href="#toc22" tabindex="0">引数を3つ以上指定したときの対処</a></li></ol></li><li><a href="#toc23" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのMULTIPLY関数とは？</span></h2>



<p class="wp-block-paragraph">スプレッドシートのMULTIPLY関数は、factor1 と factor2 を掛けた結果を返す <strong>乗算用の関数</strong> です。<code>=A1*B1</code> と書く代わりに <code>=MULTIPLY(A1, B1)</code> と書けます。</p>



<p class="wp-block-paragraph">MULTIPLY は英語で「掛け算する・増やす」を意味する動詞で、「マルチプライ」と読みます。</p>



<p class="wp-block-paragraph">実は MULTIPLY関数は Google スプレッドシート固有の関数で、Microsoft Excel には存在しません。「Excelからスプレッドシートに移ってきて初めて知った」という方も多いのではないでしょうか。</p>



<p class="wp-block-paragraph">スプレッドシートには MULTIPLY の仲間として、加算の ADD、減算の MINUS、除算の DIVIDE があります。これらは算術演算子関数と呼ばれ、4種類が一通り揃っています。それぞれ <code>+</code> <code>-</code> <code>*</code> <code>/</code> の演算子と同じ結果を返しますが、関数として書きたい場面で活躍しますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">2値の掛け算はMULTIPLY、3値以上はPRODUCT</span></h3>



<p class="wp-block-paragraph">MULTIPLY関数は <strong>2つの値を掛けるためだけ</strong> に作られた関数です。3つ以上の値や、セル範囲を一括で掛け算したい場合は、PRODUCT関数を使います。「2値ならMULTIPLY、範囲・3値以上ならPRODUCT」と覚えておくと迷いません。</p>



<p class="wp-block-paragraph">詳しい使い方は<a href="https://mashukabu.com/spreadsheet-product-function/">スプレッドシートのPRODUCT関数の使い方</a>をあわせてどうぞ。</p>



<h2 class="wp-block-heading"><span id="toc3">MULTIPLY関数の構文と引数</span></h2>



<p class="wp-block-paragraph">MULTIPLY関数の構文はとてもシンプルです。</p>



<pre class="wp-block-code"><code>=MULTIPLY(factor1, factor2)</code></pre>



<p class="wp-block-paragraph">引数は次の2つだけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>factor1</td><td>必須</td><td>掛けられる数（被乗数）</td></tr><tr><td>factor2</td><td>必須</td><td>掛ける数（乗数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は <code>factor1 × factor2</code> の結果です。PRODUCT関数のように複数の値や範囲をまとめて指定することはできません。引数は2つで固定、と覚えておきましょう。</p>



<p class="wp-block-paragraph">なお、引数はスカラー値（単一の値）のみ対応で、<code>A1:A10</code> のようなセル範囲を直接渡すことはできません。範囲指定をしたい場合は PRODUCT関数の出番です。</p>



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



<p class="wp-block-paragraph">実際のサンプルで動きを見ていきましょう。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<h3 class="wp-block-heading"><span id="toc5">例1: 売上計算（単価×数量）</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A: 商品</th><th>B: 単価</th><th>C: 数量</th><th>D: 売上</th></tr></thead><tbody><tr><td>2</td><td>商品X</td><td>1000</td><td>5</td><td>=MULTIPLY(B2, C2)</td></tr><tr><td>3</td><td>商品Y</td><td>2500</td><td>3</td><td>=MULTIPLY(B3, C3)</td></tr><tr><td>4</td><td>商品Z</td><td>800</td><td>12</td><td>=MULTIPLY(B4, C4)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">D2 の結果は <code>5000</code>、D3 は <code>7500</code>、D4 は <code>9600</code> になります。<code>=B2*C2</code> と書いても同じ結果ですよ。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_multiply-basic.png" alt="02 formula multiply basic" /></figure>



<h3 class="wp-block-heading"><span id="toc6">例2: 割引率を適用する</span></h3>



<p class="wp-block-paragraph">定価に割引率を掛けて販売価格を出すときも MULTIPLY関数が使えます。</p>



<pre class="wp-block-code"><code>=MULTIPLY(10000, 0.8)   → 8000（20%オフ）
=MULTIPLY(B2, 1-C2)     ← B2が定価、C2が割引率（例: 0.15）</code></pre>



<p class="wp-block-paragraph">割引率を 0.15 とした場合、<code>=MULTIPLY(10000, 1-0.15)</code> は <code>8500</code> になります。割引後の金額がひと目で出せて便利ですね。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_multiply-basic.png" alt="03 result multiply basic" /></figure>



<h3 class="wp-block-heading"><span id="toc7">例3: 数値を直接入れる</span></h3>



<p class="wp-block-paragraph">セル参照ではなく、直接数値を入れることもできます。</p>



<pre class="wp-block-code"><code>=MULTIPLY(8, 7)         → 56
=MULTIPLY(2.5, 4)       → 10
=MULTIPLY(100, 0.85)    → 85</code></pre>



<p class="wp-block-paragraph">小数や負の数を渡しても、もちろんそのまま計算結果が返ってきます。</p>



<h2 class="wp-block-heading"><span id="toc8">MULTIPLY関数と掛け算演算子（*）の違い</span></h2>



<p class="wp-block-paragraph">「結局、<code>*</code> 演算子で書くのと何が違うの？」という疑問はもっともです。両者を比較してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">演算子 vs MULTIPLY vs PRODUCT 3軸比較表</span></h3>



<p class="wp-block-paragraph">ついでに範囲版の PRODUCT関数も並べてみました。3つの違いがひと目で分かりますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>演算子 <code>*</code></th><th>MULTIPLY関数</th><th>PRODUCT関数</th></tr></thead><tbody><tr><td>記述の長さ</td><td>短い（<code>=A1*B1</code>）</td><td>やや長い</td><td>やや長い</td></tr><tr><td>引数の数</td><td>何個でも連続OK</td><td>2つ固定</td><td>何個でも、範囲もOK</td></tr><tr><td>セル範囲指定</td><td>不可（個別指定）</td><td>不可（スカラー専用）</td><td>可（<code>A1:A10</code> など）</td></tr><tr><td>ARRAYFORMULA</td><td>使える</td><td>使えない（後述）</td><td>ほぼ使えない</td></tr><tr><td>Apps Script から数式生成</td><td>文字列結合がやや手間</td><td>関数呼び出しで読みやすい</td><td>関数呼び出しで読みやすい</td></tr><tr><td>Excel との互換性</td><td>互換あり</td><td>Excel 非対応</td><td>互換あり</td></tr><tr><td>一般的な使用頻度</td><td>高い</td><td>低い</td><td>中</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">普段の手入力では <code>*</code> 演算子の方が短くて速いです。MULTIPLY関数が活きるのは、Apps Script や API で数式文字列を組み立てる場面ですね。あとは「掛け算をしている」と関数名で明示したい場面にも向いています。</p>



<h3 class="wp-block-heading"><span id="toc10">Apps ScriptでMULTIPLYを使う理由</span></h3>



<p class="wp-block-paragraph">たとえば Apps Script でセルに数式を書き込む場面を考えてみましょう。<code>*</code> 演算子で組み立てると、文字列連結が少し読みにくくなります。</p>



<pre class="wp-block-code"><code>// 演算子版（文字列結合がやや煩雑）
cell.setFormula('=' + cell1 + '*' + cell2);

// MULTIPLY関数版（関数呼び出しで構造が見える）
cell.setFormula('=MULTIPLY(' + cell1 + ', ' + cell2 + ')');</code></pre>



<p class="wp-block-paragraph">引数の境目がカンマで区切られるため、後から見ても何を掛けているか分かりやすいですよね。複雑な数式生成ロジックでは、この差がコードの可読性に効いてきますよ。</p>



<h2 class="wp-block-heading"><span id="toc11">PRODUCT関数との違い</span></h2>



<p class="wp-block-paragraph">MULTIPLY関数と PRODUCT関数は、どちらも掛け算をする関数です。違いは引数の柔軟性にあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>引数の数</th><th>セル範囲</th><th>主な用途</th></tr></thead><tbody><tr><td>MULTIPLY</td><td>2つ固定</td><td>不可</td><td>2つの値を掛ける</td></tr><tr><td>PRODUCT</td><td>何個でも</td><td>可</td><td>範囲・複数値を一括で掛ける</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">イメージとしては、加算の世界に置き換えると分かりやすいです。<code>SUM</code> が加算の範囲版なら、<code>PRODUCT</code> は乗算の範囲版という関係です。SUM関数と PRODUCT関数の対応関係については、<a href="https://mashukabu.com/spreadsheet-sum-function/">スプレッドシートのSUM関数の使い方</a>もあわせて読むと理解が深まりますよ。</p>



<p class="wp-block-paragraph">範囲を一気に掛け算したい場面では迷わず PRODUCT関数を選びましょう。詳しい使い方は<a href="https://mashukabu.com/spreadsheet-product-function/">スプレッドシートのPRODUCT関数の使い方</a>で解説しています。</p>



<h2 class="wp-block-heading"><span id="toc12">算術演算子関数シリーズ（ADD / MINUS / MULTIPLY / DIVIDE）</span></h2>



<p class="wp-block-paragraph">MULTIPLY関数は、Google スプレッドシートに用意された4つの算術演算子関数のひとつです。残り3つもセットで覚えておくと便利です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>演算子</th><th>構文</th><th>結果</th></tr></thead><tbody><tr><td>ADD</td><td><code>+</code></td><td><code>ADD(value1, value2)</code></td><td>value1 + value2</td></tr><tr><td>MINUS</td><td><code>-</code></td><td><code>MINUS(value1, value2)</code></td><td>value1 &#8211; value2</td></tr><tr><td>MULTIPLY</td><td><code>*</code></td><td><code>MULTIPLY(factor1, factor2)</code></td><td>factor1 × factor2</td></tr><tr><td>DIVIDE</td><td><code>/</code></td><td><code>DIVIDE(dividend, divisor)</code></td><td>dividend ÷ divisor</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">すべて引数は2つだけ、という共通仕様です。シンプルですよね。減算の使い方は<a href="https://mashukabu.com/spreadsheet-minus-function/">スプレッドシートのMINUS関数の使い方</a>にまとめてあるので、あわせて読んでみてください。</p>



<h2 class="wp-block-heading"><span id="toc13">ARRAYFORMULAとの組み合わせ</span></h2>



<p class="wp-block-paragraph">複数行で同じ掛け算を繰り返したいとき、ARRAYFORMULA と組み合わせると 1セルだけで全行に展開できます。</p>



<h3 class="wp-block-heading"><span id="toc14">複数行を一括で掛け算する</span></h3>



<p class="wp-block-paragraph">ただし MULTIPLY関数はスカラー値専用のため、ARRAYFORMULA で配列展開する用途には向いていません。範囲を一括で掛け算したい場合は、<code>*</code> 演算子を使う方が確実です。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(B2:B100 * C2:C100)</code></pre>



<p class="wp-block-paragraph">これで B 列と C 列の同じ行同士を掛け算した結果が、1セルから縦に展開されます。MULTIPLY を無理に使うより、こちらの方がシンプルで動作も安定していますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">空白セルを除外したいとき</span></h3>



<p class="wp-block-paragraph">何も入力されていない行まで <code>0</code> と表示されると見た目が悪いですよね。IF関数と組み合わせて、空白行は何も表示しないようにしましょう。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B=&quot;&quot;, &quot;&quot;, B2:B * C2:C))</code></pre>



<p class="wp-block-paragraph">これで B 列が空白の行は何も表示されず、入力済みの行だけ計算結果が出るようになります。</p>



<h2 class="wp-block-heading"><span id="toc16">ExcelにMULTIPLY関数はある？</span></h2>



<p class="wp-block-paragraph">結論からいうと、<strong>Microsoft Excel には MULTIPLY という名前の関数は存在しません</strong>。</p>



<p class="wp-block-paragraph">Excel で掛け算を関数で書きたい場合、選択肢は限られます。範囲を扱える PRODUCT関数を使うか、素直に <code>*</code> 演算子を使うかの二択です。</p>



<h3 class="wp-block-heading"><span id="toc17">Excelには非対応｜互換性の注意点</span></h3>



<p class="wp-block-paragraph">Google スプレッドシートで作ったファイルを <code>.xlsx</code> 形式で書き出す予定がある場合は注意が必要です。MULTIPLY関数は Excel で開くと <code>#NAME?</code> エラーになってしまいます。</p>



<p class="wp-block-paragraph">Excel と共有する可能性のあるファイルでは、最初から <code>*</code> 演算子か PRODUCT関数で書いておく方が安全ですよ。MULTIPLY関数は「スプレッドシート専用ファイル」に向いています。Apps Script から数式を動的に生成する場面でも活躍します。</p>



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



<p class="wp-block-paragraph">MULTIPLY関数で遭遇しやすいエラーをまとめておきます。</p>



<h3 class="wp-block-heading"><span id="toc19">#VALUE!エラー：文字列が混入している</span></h3>



<p class="wp-block-paragraph">引数に数値として解釈できない文字列が入っているときに発生します。</p>



<pre class="wp-block-code"><code>=MULTIPLY(&quot;abc&quot;, 5)   → #VALUE!</code></pre>



<p class="wp-block-paragraph">エラーメッセージには次のように表示されます。</p>



<pre class="wp-block-code"><code>Function MULTIPLY parameter N expects number values.</code></pre>



<p class="wp-block-paragraph">対処法は、引数のセルが数値型になっているか確認することです。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-multiply-function/05_error_value.png/">_images/spreadsheet-multiply-function/05_error_value.png</a></p>



<p class="wp-block-paragraph">文字列として保存されている数字（テキスト形式の <code>"100"</code> など）が原因のことも多いです。VALUE関数（文字列を数値に変換する関数）と組み合わせるのも有効ですよ。<code>=MULTIPLY(VALUE(A1), VALUE(B1))</code> と書けば回避できます。</p>



<h3 class="wp-block-heading"><span id="toc20">#N/A エラー（ARRAYFORMULA + * 演算子 利用時）</span></h3>



<p class="wp-block-paragraph">ARRAYFORMULA で範囲の行数が一致していないと発生します。対処法は、両方の範囲を同じ行数に揃えることです。<code>A2:A10</code> なら <code>B2:B10</code> のように揃えましょう。</p>



<h3 class="wp-block-heading"><span id="toc21">#NAME? エラー</span></h3>



<p class="wp-block-paragraph">関数名のスペルミスが原因です。<code>MULTIPY</code> <code>MULTIPLE</code> など、よくある書き間違いに注意してください。正しいスペルは <strong>MULTIPLY</strong> です。</p>



<h3 class="wp-block-heading"><span id="toc22">引数を3つ以上指定したときの対処</span></h3>



<p class="wp-block-paragraph">MULTIPLY関数は引数が2つに固定されています。3つ以上掛けたい場合は次の方法を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>書き方</th><th>コメント</th></tr></thead><tbody><tr><td>演算子で連続</td><td><code>=A1<em>B1</em>C1</code></td><td>一番シンプル</td></tr><tr><td>PRODUCT 併用</td><td><code>=PRODUCT(A1:C1)</code></td><td>範囲指定で扱える</td></tr><tr><td>MULTIPLY ネスト</td><td><code>=MULTIPLY(MULTIPLY(A1, B1), C1)</code></td><td>読みにくいので非推奨</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務では <code>=PRODUCT(A1:C1)</code> のパターンが扱いやすいですよ。</p>



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



<p class="wp-block-paragraph">スプレッドシートのMULTIPLY関数の使い方を解説しました。ポイントを振り返っておきましょう。</p>



<ul class="wp-block-list"><li><strong>MULTIPLY関数は <code>MULTIPLY(factor1, factor2)</code> で2つの値を掛けた結果を返す</strong></li><li><strong><code>*</code> 演算子と同じ結果を返すが、Google スプレッドシート固有の関数（Excel にはない）</strong></li><li><strong>引数は2つだけ。3つ以上掛けたいときは <code>*</code> 演算子か PRODUCT関数を使う</strong></li><li><strong>セル範囲は不可。一括計算には ARRAYFORMULA + <code>*</code> 演算子が向く</strong></li><li><strong>2値ならMULTIPLY、範囲・3値以上ならPRODUCTという使い分けが基本</strong></li><li><strong>同じ系列に ADD / MINUS / DIVIDE もある</strong></li></ul>



<p class="wp-block-paragraph">普段の手入力では <code>*</code> 演算子の方が短くて速いので、無理して MULTIPLY関数 に置き換える必要はありません。Apps Script で数式を生成する場面や、関数で明示したい場面で MULTIPLY関数 を選びましょう。この使い分けがおすすめです。</p>



<p class="wp-block-paragraph">シリーズ関数（<a href="https://mashukabu.com/spreadsheet-minus-function/">ADD / MINUS</a> / DIVIDE）や範囲版の<a href="https://mashukabu.com/spreadsheet-product-function/">PRODUCT関数</a>も、ぜひセットで使い分けてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-multiply-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのUMINUS関数の使い方｜符号反転（正負を逆にする）</title>
		<link>https://mashukabu.com/spreadsheet-uminus-function/</link>
					<comments>https://mashukabu.com/spreadsheet-uminus-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 11:44:22 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ABS関数]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[UMINUS関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[単項マイナス]]></category>
		<category><![CDATA[符号反転]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6418</guid>

					<description><![CDATA[Google スプレッドシートのUMINUS関数は、引数の符号を反転して返す単項演算子関数です。基本構文・使い方から、単項マイナス演算子（-）との違い、ABS関数との混同を防ぐ整理、ARRAYFORMULAとの組み合わせ、Excelとの互換性まで実例で解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで数値の符号を反転したいとき、多くの人は <code>=-A1</code> のように単項マイナス演算子を使うはずです。実は Google スプレッドシートには、符号反転専用の <strong>UMINUS関数</strong> という関数も用意されています。</p>



<p class="wp-block-paragraph">「演算子で書けるのに、わざわざ関数？」と思うかもしれません。ただ ARRAYFORMULA や Apps Script を使う場面では、関数として書ける方が便利なこともあるんですよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのUMINUS関数の構文・使い方を解説します。単項マイナス演算子との違い、ABS関数との使い分け、ARRAYFORMULAとの組み合わせまで、実例つきでまとめました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのUMINUS関数とは？</a></li><li><a href="#toc2" tabindex="0">UMINUS関数の構文と引数</a></li><li><a href="#toc3" tabindex="0">UMINUS関数の基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">例1: 正数を負数に変える</a></li><li><a href="#toc5" tabindex="0">例2: 負数を正数に変える</a></li><li><a href="#toc6" tabindex="0">例3: 経費を正数で入力して符号反転で表示する</a></li><li><a href="#toc7" tabindex="0">例4: 0 や空白を渡したとき</a></li></ol></li><li><a href="#toc8" tabindex="0">UMINUS関数と単項マイナス演算子（-）の違い</a></li><li><a href="#toc9" tabindex="0">UMINUS関数とABS関数の違い</a></li><li><a href="#toc10" tabindex="0">単項演算子関数シリーズ（UPLUS / UMINUS / UNARY_PERCENT）</a></li><li><a href="#toc11" tabindex="0">ARRAYFORMULAとの組み合わせ</a><ol><li><a href="#toc12" tabindex="0">演算子版</a></li><li><a href="#toc13" tabindex="0">関数版</a></li><li><a href="#toc14" tabindex="0">空白セルを除外したいとき</a></li></ol></li><li><a href="#toc15" tabindex="0">ExcelにUMINUS関数はある？</a></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc18" tabindex="0">#NAME? エラー</a></li><li><a href="#toc19" tabindex="0">MINUS関数と取り違える</a></li><li><a href="#toc20" tabindex="0">ABS関数と取り違える</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのUMINUS関数とは？</span></h2>



<p class="wp-block-paragraph">スプレッドシートのUMINUS関数は、引数として渡された数値の <strong>符号を反転</strong> して返す関数です。<code>=-A1</code> と書く代わりに <code>=UMINUS(A1)</code> と書けます。</p>



<p class="wp-block-paragraph">UMINUS は <strong>U</strong>nary <strong>MINUS</strong>（単項マイナス）の略で、「ユーマイナス」と読みます。単項マイナスとは、<code>-A1</code> のように1つの値の前につけるマイナス記号のことです。</p>



<p class="wp-block-paragraph">実は UMINUS関数は Google スプレッドシート固有の関数で、Microsoft Excel には存在しません。「Excelからスプレッドシートに移ってきて初めて知った」という方も多いのではないでしょうか。</p>



<p class="wp-block-paragraph">スプレッドシートには UMINUS の仲間として、UPLUS（そのまま返す）や UNARY_PERCENT（100で割る）があります。これらは <strong>単項演算子関数</strong> と呼ばれ、引数を1つだけ取るのが特徴です。それぞれ <code>+A1</code> <code>-A1</code> <code>A1%</code> の演算子と同じ結果を返しますが、関数として書きたい場面で活躍しますよ。</p>



<h2 class="wp-block-heading"><span id="toc2">UMINUS関数の構文と引数</span></h2>



<p class="wp-block-paragraph">UMINUS関数の構文はとてもシンプルです。</p>



<pre class="wp-block-code"><code>=UMINUS(value)</code></pre>



<p class="wp-block-paragraph">引数は次の1つだけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>value</td><td>必須</td><td>符号を反転したい数値、または数値を返すセル参照</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は <code>-value</code> の結果です。value が正なら負、負なら正、0 はそのまま 0 が返ります。MINUS関数のように2つの値を引き算するわけではない点に注意してください。</p>



<p class="wp-block-paragraph">なお、引数はスカラー値（単一の値）のみ対応で、<code>A1:A10</code> のようなセル範囲を直接渡すことはできません。範囲指定をしたい場合は次に紹介する ARRAYFORMULA との組み合わせが必要です。</p>



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



<p class="wp-block-paragraph">実際のサンプルで動きを見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc4">例1: 正数を負数に変える</span></h3>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A: 入力値</th><th>B: 反転値</th></tr></thead><tbody><tr><td>2</td><td>100</td><td>=UMINUS(A2)</td></tr><tr><td>3</td><td>250</td><td>=UMINUS(A3)</td></tr><tr><td>4</td><td>1500</td><td>=UMINUS(A4)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-uminus-function/02_formula_uminus-basic.png/">_images/spreadsheet-uminus-function/02_formula_uminus-basic.png</a></p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_uminus-basic.png" alt="03 result uminus basic" /></figure>



<p class="wp-block-paragraph">B2 の結果は <code>-100</code>、B3 は <code>-250</code>、B4 は <code>-1500</code> になります。<code>=-A2</code> と書いても同じ結果ですよ。</p>



<h3 class="wp-block-heading"><span id="toc5">例2: 負数を正数に変える</span></h3>



<p class="wp-block-paragraph">入力値が負数のときは、反転した結果が正数になります。</p>



<pre class="wp-block-code"><code>=UMINUS(-50)    → 50
=UMINUS(-1200)  → 1200</code></pre>



<p class="wp-block-paragraph">「負数を正数に戻したい」だけなら ABS関数も同じ結果を返します。違いについては後ほど整理しますね。</p>



<h3 class="wp-block-heading"><span id="toc6">例3: 経費を正数で入力して符号反転で表示する</span></h3>



<p class="wp-block-paragraph">経費を入力者は正数で入力しておき、収支表に表示するときだけマイナス値に変える運用です。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_data_expense-table.png" alt="04 data expense table" /></figure>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A: 項目</th><th>B: 金額（入力）</th><th>C: 表示用</th></tr></thead><tbody><tr><td>2</td><td>交通費</td><td>1500</td><td>=UMINUS(B2)</td></tr><tr><td>3</td><td>会議費</td><td>8000</td><td>=UMINUS(B3)</td></tr><tr><td>4</td><td>通信費</td><td>3200</td><td>=UMINUS(B4)</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_uminus-expense.png" alt="05 result uminus expense" /></figure>



<p class="wp-block-paragraph">C2 は <code>-1500</code>、C3 は <code>-8000</code>、C4 は <code>-3200</code> になります。入力者は正数だけ意識すればよくて、表示用の符号は数式が自動で付けてくれるんですね。</p>



<h3 class="wp-block-heading"><span id="toc7">例4: 0 や空白を渡したとき</span></h3>



<pre class="wp-block-code"><code>=UMINUS(0)    → 0
=UMINUS(&quot;&quot;)   → 0</code></pre>



<p class="wp-block-paragraph">0 や空白セルを渡しても、エラーにはならず 0 が返ります。集計の中で安全に使える挙動ですよ。</p>



<h2 class="wp-block-heading"><span id="toc8">UMINUS関数と単項マイナス演算子（-）の違い</span></h2>



<p class="wp-block-paragraph">「結局、<code>=-A1</code> と書くのと何が違うの？」という疑問はもっともです。両者を比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>演算子 <code>-</code></th><th>UMINUS関数</th></tr></thead><tbody><tr><td>記述の長さ</td><td>短い（<code>=-A1</code>）</td><td>やや長い（<code>=UMINUS(A1)</code>）</td></tr><tr><td>引数の数</td><td>1（前置）</td><td>1（固定）</td></tr><tr><td>ARRAYFORMULA</td><td>使える</td><td>使える</td></tr><tr><td>Apps Script から数式生成</td><td>文字列結合がやや手間</td><td>関数呼び出しで読みやすい</td></tr><tr><td>関数として明示</td><td>できない</td><td>できる</td></tr><tr><td>Excel との互換性</td><td>互換あり</td><td>Excel 非対応</td></tr><tr><td>一般的な使用頻度</td><td>高い</td><td>低い</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">普段の手入力では <code>-</code> 演算子の方が短くて速いです。UMINUS関数が活きるのは、Apps Script や API で数式文字列を組み立てる場面ですね。あとは「ここで符号反転している」と関数名で明示したい場面にも向いています。</p>



<p class="wp-block-paragraph">たとえば Apps Script から数式をセットする場面を考えてみましょう。<code>"=-" + cellRef</code> と文字列を連結するより、<code>"=UMINUS(" + cellRef + ")"</code> と書く方が後から読みやすい場合もありますよ。</p>



<h2 class="wp-block-heading"><span id="toc9">UMINUS関数とABS関数の違い</span></h2>



<p class="wp-block-paragraph">UMINUS関数と混同されやすいのが <strong>ABS関数（絶対値）</strong> です。両方とも「マイナスの数を扱う関数」ですが、動きはまったく違います。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較</th><th>UMINUS(5)</th><th>UMINUS(-3)</th><th>ABS(5)</th><th>ABS(-3)</th></tr></thead><tbody><tr><td>結果</td><td>-5</td><td>3</td><td>5</td><td>3</td></tr><tr><td>動作</td><td>符号を反転</td><td>符号を反転</td><td>絶対値（正にする）</td><td>絶対値（正にする）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">整理するとこうです。</p>



<ul class="wp-block-list"><li><strong>UMINUS</strong>: 入力の符号を入れ替える（正→負、負→正）</li><li><strong>ABS</strong>: 入力の符号にかかわらず常に正の値を返す</li></ul>



<p class="wp-block-paragraph">「マイナスにしたい」だけが目的なら UMINUS、「正の値にしたい」が目的なら ABS。覚え方としては、「U<strong>MINUS</strong> だから常にマイナス側に動く」ではなく「<strong>符号を反転</strong> する」と捉えるのが正確です。負数を渡せば正数が返ってきますからね。</p>



<p class="wp-block-paragraph">実務でよく出てくるのは、「経費の絶対値で集計したい」ときの ABS、「収支表でマイナス表示にしたい」ときの UMINUS という使い分けです。</p>



<h2 class="wp-block-heading"><span id="toc10">単項演算子関数シリーズ（UPLUS / UMINUS / UNARY_PERCENT）</span></h2>



<p class="wp-block-paragraph">UMINUS関数は、Google スプレッドシートに用意された3つの単項演算子関数のひとつです。残り2つもセットで覚えておくと便利です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>演算子</th><th>構文</th><th>結果</th></tr></thead><tbody><tr><td>UPLUS</td><td><code>+</code>（前置）</td><td><code>UPLUS(value)</code></td><td>value をそのまま返す</td></tr><tr><td>UMINUS</td><td><code>-</code>（前置）</td><td><code>UMINUS(value)</code></td><td>value の符号を反転</td></tr><tr><td>UNARY_PERCENT</td><td><code>%</code>（後置）</td><td><code>UNARY_PERCENT(value)</code></td><td>value ÷ 100</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">すべて引数は1つだけ、という共通仕様です。</p>



<p class="wp-block-paragraph">UPLUS関数は値をそのまま返すだけで、一見すると無意味に思えるかもしれません。ただ Apps Script で数式を組み立てるときに「明示的に数値として扱う」目的で使われることがあります。</p>



<p class="wp-block-paragraph">UNARY_PERCENT関数は <code>%</code> 演算子と同じで、<code>UNARY_PERCENT(50)</code> は <code>0.5</code> を返します。<code>50%</code> と入力するのと同じ結果ですね。</p>



<p class="wp-block-paragraph">なお、引数を2つ取る <strong>算術演算子関数</strong> には ADD / <a href="https://mashukabu.com/spreadsheet-minus-function/">MINUS</a> / <a href="https://mashukabu.com/spreadsheet-multiply-function/">MULTIPLY</a> / DIVIDE があります。こちらもあわせて覚えておくと、スプレッドシートの演算子関数の全体像が見えてきますよ。</p>



<h2 class="wp-block-heading"><span id="toc11">ARRAYFORMULAとの組み合わせ</span></h2>



<p class="wp-block-paragraph">複数行で同じ符号反転を繰り返したいとき、ARRAYFORMULA と組み合わせると 1セルだけで全行に展開できます。</p>



<h3 class="wp-block-heading"><span id="toc12">演算子版</span></h3>



<pre class="wp-block-code"><code>=ARRAYFORMULA(-A2:A100)</code></pre>



<h3 class="wp-block-heading"><span id="toc13">関数版</span></h3>



<pre class="wp-block-code"><code>=ARRAYFORMULA(UMINUS(A2:A100))</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/06_result_arrayformula.png" alt="06 result arrayformula" /></figure>



<p class="wp-block-paragraph">どちらも同じ結果ですが、関数版は「符号反転している」と関数名で明示できる利点があります。複雑な式の中にネストする際、読みやすい場合がありますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">空白セルを除外したいとき</span></h3>



<p class="wp-block-paragraph">何も入力されていない行まで <code>0</code> と表示されると見た目が悪いですよね。IF関数と組み合わせて、空白行は何も表示しないようにしましょう。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A=&quot;&quot;, &quot;&quot;, UMINUS(A2:A)))</code></pre>



<p class="wp-block-paragraph">これで A 列が空白の行は何も表示されず、入力済みの行だけ符号反転の結果が出るようになります。</p>



<h2 class="wp-block-heading"><span id="toc15">ExcelにUMINUS関数はある？</span></h2>



<p class="wp-block-paragraph">結論からいうと、<strong>Microsoft Excel には UMINUS という名前の関数は存在しません</strong>。</p>



<p class="wp-block-paragraph">Excel で符号反転を関数で書きたい場合、選択肢は限られます。素直に <code>-</code> 演算子を使うか、<code>-1</code> を掛ける（<code>=A1*-1</code>）のが一般的です。</p>



<p class="wp-block-paragraph">「Excel と同じ感覚でスプレッドシートに <code>=-A1</code> と書けば良いのでは？」と思うかもしれません。それで全く問題ありません。UMINUS関数は Google スプレッドシートが用意した「単項マイナス演算子の関数版」という位置付けです。Apps Script や API との連携を意識して整備されたものなんです。</p>



<p class="wp-block-paragraph">ですから、Excel ファイルとして <code>.xlsx</code> で書き出す予定がある場合は注意が必要です。UMINUS関数ではなく <code>-</code> 演算子で書いておく方が安全ですよ。Excel で開いたとき、UMINUS は <code>#NAME?</code> エラーになってしまいます。</p>



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



<p class="wp-block-paragraph">UMINUS関数で遭遇しやすいエラーをまとめておきます。</p>



<h3 class="wp-block-heading"><span id="toc17">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph">引数に数値として解釈できない文字列が入っているときに発生します。</p>



<pre class="wp-block-code"><code>=UMINUS(&quot;abc&quot;)   → #VALUE!</code></pre>



<p class="wp-block-paragraph">対処法は、引数のセルが数値型になっているか確認することです。文字列として保存されている数字（テキスト形式の <code>"100"</code> など）が原因のことも多いですね。VALUE関数（文字列を数値に変換する関数）と組み合わせるのも有効です。<code>=UMINUS(VALUE(A1))</code> と書けば回避できますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">#NAME? エラー</span></h3>



<p class="wp-block-paragraph">関数名のスペルミスが原因です。<code>UMINS</code> <code>U_MINUS</code> <code>UNARY_MINUS</code> など、よくある書き間違いに注意してください。正しいスペルは <strong>UMINUS</strong> です。</p>



<p class="wp-block-paragraph">また、スプレッドシートで作成した <code>.xlsx</code> ファイルを Excel で開いたときも <code>#NAME?</code> になります。Excel と共有するブックでは <code>-</code> 演算子に置き換えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">MINUS関数と取り違える</span></h3>



<p class="wp-block-paragraph">UMINUS と名前が似ている <strong>MINUS関数</strong> は、引数を2つ取る減算用の関数です。意味も使い方も違います。</p>



<pre class="wp-block-code"><code>=MINUS(10, 3)    → 7（減算: 10 - 3）
=UMINUS(10)      → -10（符号反転）</code></pre>



<p class="wp-block-paragraph">「マイナスにしたい」つもりで <code>=MINUS(A1)</code> と書くと、引数不足のエラーになります。1引数の符号反転は <strong>UMINUS</strong> と覚えておきましょう。</p>



<p class="wp-block-paragraph">詳しい使い方は<a href="https://mashukabu.com/spreadsheet-minus-function/">スプレッドシートのMINUS関数の使い方</a>もあわせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc20">ABS関数と取り違える</span></h3>



<p class="wp-block-paragraph">「マイナスを取りたい」場面で UMINUS を選ぶと、正数を渡したときに負数になってしまいます。</p>



<pre class="wp-block-code"><code>=UMINUS(5)    → -5（符号反転）
=ABS(5)       → 5（絶対値）
=ABS(-5)      → 5（絶対値）</code></pre>



<p class="wp-block-paragraph">「常に正の値にしたい」なら ABS、「符号を入れ替えたい」なら UMINUS です。目的に合わせて使い分けてくださいね。</p>



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



<p class="wp-block-paragraph">スプレッドシートのUMINUS関数の使い方を解説しました。ポイントを振り返っておきましょう。</p>



<ul class="wp-block-list"><li><strong>UMINUS関数は <code>UMINUS(value)</code> で value の符号を反転した値を返す</strong></li><li><strong>単項マイナス演算子（<code>-A1</code>）と同じ結果を返すが、Google スプレッドシート固有の関数（Excel にはない）</strong></li><li><strong>引数は1つだけ。MINUS関数（2引数の減算）とは別物</strong></li><li><strong>ABS関数（絶対値）とは違い、UMINUS は符号を反転する（正→負、負→正）</strong></li><li><strong>同シリーズに UPLUS（そのまま返す）と UNARY_PERCENT（100で割る）がある</strong></li><li><strong>ARRAYFORMULA と組み合わせると複数行で一括符号反転できる</strong></li></ul>



<p class="wp-block-paragraph">普段の手入力では <code>-</code> 演算子の方が短くて速いので、無理して UMINUS関数 に置き換える必要はありません。Apps Script で数式を生成する場面や、関数で「符号反転」を明示したい場面で UMINUS関数 を選びましょう。この使い分けがおすすめです。</p>



<p class="wp-block-paragraph">シリーズ関数（UPLUS / UNARY_PERCENT、それから<a href="https://mashukabu.com/spreadsheet-minus-function/">MINUS</a> / <a href="https://mashukabu.com/spreadsheet-multiply-function/">MULTIPLY</a> など）もぜひセットで使い分けてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-uminus-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDELTA関数の使い方｜2つの数値の等値判定を0と1で返す</title>
		<link>https://mashukabu.com/spreadsheet-delta-function/</link>
					<comments>https://mashukabu.com/spreadsheet-delta-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 11:25:21 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[DELTA関数]]></category>
		<category><![CDATA[SUMPRODUCT]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[等値判定]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6365</guid>

					<description><![CDATA[スプレッドシートのDELTA関数で2つの数値が等しいかを0と1で判定する方法を解説。基本構文・引数・SUMPRODUCTやARRAYFORMULAとの組み合わせ・=演算子やEXACT関数との違いまで実務例つきで紹介。一致件数カウントが一発でできます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで「2つの数値が一致しているか」を判定するとき、<code>=</code>演算子で十分だと思っていませんか。確かに比較自体はできます。ただ、結果が TRUE / FALSE の論理値で返るため、そのまま合計を取るには工夫が必要です。</p>



<p class="wp-block-paragraph">そこで便利なのが DELTA関数です。等しければ 1、違えば 0 という数値を返してくれます。そのため、SUMPRODUCT で一致件数を一発カウントできます。ARRAYFORMULA で列全体に展開するなど、集計と直結させやすい関数です。</p>



<p class="wp-block-paragraph">この記事では、DELTA関数の構文から実務での使いどころまで解説します。<code>=</code>演算子や EXACT関数との違いも、サンプル付きで紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DELTA関数とは？スプレッドシートで2つの数値の等値を判定する関数</a><ol><li><a href="#toc2" tabindex="0">DELTA関数の構文と引数</a></li><li><a href="#toc3" tabindex="0">戻り値（0と1）の意味</a></li></ol></li><li><a href="#toc4" tabindex="0">DELTA関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">2つの数値を比較する</a></li><li><a href="#toc6" tabindex="0">第2引数を省略した場合（0との比較）</a></li></ol></li><li><a href="#toc7" tabindex="0">SUMPRODUCT・ARRAYFORMULAと組み合わせた実務活用</a><ol><li><a href="#toc8" tabindex="0">一致件数を一括カウントする</a></li><li><a href="#toc9" tabindex="0">ARRAYFORMULAで列全体に展開する</a></li><li><a href="#toc10" tabindex="0">複数条件の同時一致をチェックする</a></li></ol></li><li><a href="#toc11" tabindex="0">DELTA関数と=演算子・EXACT関数との違い</a><ol><li><a href="#toc12" tabindex="0">=演算子との違い</a></li><li><a href="#toc13" tabindex="0">EXACT関数との違い</a></li></ol></li><li><a href="#toc14" tabindex="0">DELTA関数のよくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">#VALUE! エラーが出る</a></li><li><a href="#toc16" tabindex="0">表示は同じなのに 0 が返る</a></li><li><a href="#toc17" tabindex="0">#N/A エラーが出る</a></li></ol></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">DELTA関数とは？スプレッドシートで2つの数値の等値を判定する関数</span></h2>



<p class="wp-block-paragraph">DELTA関数は、2つの数値が等しいかどうかを判定する関数です。等しければ <code>1</code>、等しくなければ <code>0</code> を返します。クロネッカーのデルタという数学記号に由来する、エンジニアリング系の関数です。</p>



<p class="wp-block-paragraph">Googleスプレッドシートでは「他のスプレッドシート互換」のカテゴリで提供されています。Excel の DELTA関数 と同じ仕様で動作するため、Excel経験者にも違和感なく使えます。</p>



<h3 class="wp-block-heading"><span id="toc2">DELTA関数の構文と引数</span></h3>



<pre class="wp-block-code"><code>=DELTA(数値1, [数値2])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>数値1</td><td>必須</td><td>比較する1つ目の数値</td></tr><tr><td>数値2</td><td>省略可</td><td>比較する2つ目の数値。省略時は 0 として扱われる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">文字列を渡すと <code>#VALUE!</code> エラーになります。数値専用の関数だと覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc3">戻り値（0と1）の意味</span></h3>



<p class="wp-block-paragraph">戻り値は次の2パターンだけです。</p>



<ul class="wp-block-list"><li><code>数値1 = 数値2</code> のとき → <strong>1</strong></li><li><code>数値1 ≠ 数値2</code> のとき → <strong>0</strong></li></ul>



<p class="wp-block-paragraph">「論理値ではなく数値で返る」のがポイントです。そのため、SUM や SUMPRODUCT などの集計関数にそのまま投入できます。</p>



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



<p class="wp-block-paragraph">まずは2つの数値を直接比較する基本パターンから見ていきましょう。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<h3 class="wp-block-heading"><span id="toc5">2つの数値を比較する</span></h3>



<p class="wp-block-paragraph">A列とB列に数値が並んでいるとします。C列で同じ行どうしを比較するなら、次のように書きます。</p>



<pre class="wp-block-code"><code>=DELTA(A2, B2)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_delta-basic.png" alt="02 formula delta basic" /></figure>



<figure class="wp-block-table"><table><thead><tr><th>A列</th><th>B列</th><th>C列（=DELTA(A2,B2)）</th></tr></thead><tbody><tr><td>100</td><td>100</td><td>1</td></tr><tr><td>100</td><td>99</td><td>0</td></tr><tr><td>0</td><td>0</td><td>1</td></tr><tr><td>3.14</td><td>3.14</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数値が完全に一致したときだけ 1 が返ります。小数も比較できます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_delta-basic.png" alt="03 result delta basic" /></figure>



<h3 class="wp-block-heading"><span id="toc6">第2引数を省略した場合（0との比較）</span></h3>



<p class="wp-block-paragraph">DELTA関数は第2引数を省略できます。省略すると、第1引数が <strong>0と等しいかどうか</strong> の判定になります。</p>



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



<p class="wp-block-paragraph">A2 が 0 なら 1、それ以外なら 0 が返ります。「ゼロかどうかを 1 と 0 でフラグ立てしたい」場面で便利です。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_delta-omit-arg2.png" alt="04 result delta omit arg2" /></figure>



<h2 class="wp-block-heading"><span id="toc7">SUMPRODUCT・ARRAYFORMULAと組み合わせた実務活用</span></h2>



<p class="wp-block-paragraph">DELTA関数の真価は、集計関数と組み合わせたときに発揮されます。代表パターンを3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc8">一致件数を一括カウントする</span></h3>



<p class="wp-block-paragraph">「理論在庫」と「実在庫」が並んだ表で、何行が一致しているかを知りたいとします。次の式で一発算出できます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(ARRAYFORMULA(DELTA(A2:A11, B2:B11)))</code></pre>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-delta-function/05_formula_delta-sumproduct.png/">_images/spreadsheet-delta-function/05_formula_delta-sumproduct.png</a></p>



<p class="wp-block-paragraph">DELTA が各行で 1 か 0 を返し、SUMPRODUCT がその合計を計算します。結果はそのまま「一致件数」になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>理論在庫(A)</th><th>実在庫(B)</th><th>DELTA結果</th></tr></thead><tbody><tr><td>2</td><td>50</td><td>50</td><td>1</td></tr><tr><td>3</td><td>30</td><td>28</td><td>0</td></tr><tr><td>4</td><td>100</td><td>100</td><td>1</td></tr><tr><td>5</td><td>20</td><td>20</td><td>1</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/06_result_delta-sumproduct.png" alt="06 result delta sumproduct" /></figure>



<p class="wp-block-paragraph">このケースなら合計は <code>3</code> で、4行中3行が一致しているとわかります。<code>=</code>演算子でも同じことはできますが、論理値を 1 倍する手間が省けるのが DELTA の強みです。</p>



<p class="wp-block-paragraph">集計関数の組み合わせ方は<a href="https://mashukabu.com/spreadsheet-sumproduct-function/">スプレッドシート SUMPRODUCT関数の使い方</a>も併せて参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc9">ARRAYFORMULAで列全体に展開する</span></h3>



<p class="wp-block-paragraph">C列に判定結果を一気に書き出したい場合は、ARRAYFORMULA で囲みます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(DELTA(A2:A11, B2:B11))</code></pre>



<p class="wp-block-paragraph">C2 に入れるだけで、C2:C11 にそれぞれの判定結果が展開されます。1行ずつ DELTA を入力する必要はありません。これは Excel の DELTA関数 にはない、Googleスプレッドシートならではの便利な使い方です。</p>



<h3 class="wp-block-heading"><span id="toc10">複数条件の同時一致をチェックする</span></h3>



<p class="wp-block-paragraph">「商品コード」と「ロット番号」の両方が一致した行だけを 1 として数えたい場合は、DELTA 同士を掛け算します。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(ARRAYFORMULA(DELTA(A2:A11, C2:C11) * DELTA(B2:B11, D2:D11)))</code></pre>



<p class="wp-block-paragraph">両方が一致した行だけ <code>1 × 1 = 1</code> となり、それ以外は 0 になります。AND条件の数値版として機能します。</p>



<p class="wp-block-paragraph">条件付きカウントだけが目的なら<a href="https://mashukabu.com/spreadsheet-countif-function/">スプレッドシート COUNTIF関数の使い方</a>も選択肢に入ります。ただし、複数列の同時一致を見るなら DELTA + SUMPRODUCT の方がシンプルです。</p>



<h2 class="wp-block-heading"><span id="toc11">DELTA関数と=演算子・EXACT関数との違い</span></h2>



<p class="wp-block-paragraph">「<code>=</code>演算子で良くない？」「EXACT関数 とは何が違う？」という疑問に答えます。</p>



<h3 class="wp-block-heading"><span id="toc12">=演算子との違い</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>DELTA関数</th><th>=演算子</th></tr></thead><tbody><tr><td>戻り値</td><td>0 / 1（数値）</td><td>TRUE / FALSE（論理値）</td></tr><tr><td>文字列比較</td><td>#VALUE! エラー</td><td>比較可（大文字小文字を区別しない）</td></tr><tr><td>集計利用</td><td>SUM・SUMPRODUCT にそのまま使える</td><td>1倍してから集計する必要あり</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>=</code>演算子は文字列も比較できますが、結果は論理値です。集計したい場面では「論理値を数値化する」というひと手間が要ります。DELTA は最初から 0 と 1 で返すため、その手間が不要です。</p>



<h3 class="wp-block-heading"><span id="toc13">EXACT関数との違い</span></h3>



<p class="wp-block-paragraph">EXACT関数 は <strong>文字列を大文字小文字も区別して</strong> 比較し、TRUE / FALSE を返します。一方の DELTA は <strong>数値専用</strong> で、戻り値は 0 / 1 です。用途で使い分けます。</p>



<ul class="wp-block-list"><li>文字列の厳密一致を見たい → EXACT</li><li>数値の一致を見て、そのまま件数集計したい → DELTA</li></ul>



<p class="wp-block-paragraph">文字列比較については<a href="https://mashukabu.com/spreadsheet-exact-function/">スプレッドシート EXACT関数の使い方</a>で詳しく解説しています。</p>



<p class="wp-block-paragraph">なお、Excel での挙動は<a href="https://mashukabu.com/excel-function-howto-use-delta/">Excel DELTA関数の使い方</a>もほぼ同じです。Excel と Googleスプレッドシート で記事を書き分ける必要はないほど、仕様が揃っています。</p>



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



<p class="wp-block-paragraph">実務でつまずきやすいパターンを3つ挙げます。</p>



<h3 class="wp-block-heading"><span id="toc15">#VALUE! エラーが出る</span></h3>



<p class="wp-block-paragraph">文字列を渡すと発生します。たとえば <code>=DELTA("A", "A")</code> は数値ではないためエラーになります。文字列を比較したい場合は EXACT関数 や <code>=</code>演算子を使ってください。数値が文字列として入力されているセルが原因の場合は、<code>VALUE</code> 関数で数値化してから渡します。</p>



<h3 class="wp-block-heading"><span id="toc16">表示は同じなのに 0 が返る</span></h3>



<p class="wp-block-paragraph">セルに <code>1.234</code> と表示されているとします。実際の値が <code>1.2340000001</code> のように微妙に違っていると、DELTA は 0 を返します。表示形式と内部の値は別物です。比較前に ROUND で丸めておくと安全です。</p>



<pre class="wp-block-code"><code>=DELTA(ROUND(A2, 2), ROUND(B2, 2))</code></pre>



<h3 class="wp-block-heading"><span id="toc17">#N/A エラーが出る</span></h3>



<p class="wp-block-paragraph">ARRAYFORMULA で範囲を渡したときに、A列とB列の範囲サイズが合っていないと発生します。<code>A2:A11</code> と <code>B2:B11</code> のように、長さを揃えて指定してください。</p>



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



<ul class="wp-block-list"><li>DELTA関数は2つの数値が等しいかを判定し、等しければ 1、違えば 0 を返す関数です</li><li>第2引数を省略すると、0 との比較になります</li><li>戻り値が数値なので、SUMPRODUCT で一致件数を一発カウントできます</li><li>ARRAYFORMULA と組み合わせれば、列全体への展開も簡単です</li><li>文字列を比較したいときは EXACT関数 や <code>=</code>演算子を使い、DELTA は数値専用と覚えておきましょう</li></ul>



<p class="wp-block-paragraph">「等値判定の結果を、そのまま集計に持ち込みたい」場面が DELTA関数 のベストフィットです。在庫差異チェック、テスト採点、複数列の同時一致カウントなど、活躍の場は意外と多いはずです。ぜひ実務で試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-delta-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのGESTEP関数の使い方｜閾値以上を0と1で判定する</title>
		<link>https://mashukabu.com/spreadsheet-gestep-function/</link>
					<comments>https://mashukabu.com/spreadsheet-gestep-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 11:24:37 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[GESTEP関数]]></category>
		<category><![CDATA[SUMPRODUCT]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[閾値判定]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6355</guid>

					<description><![CDATA[スプレッドシートのGESTEP関数で数値が閾値以上かを0と1で判定する方法を解説します。基本構文・SUMPRODUCT/ARRAYFORMULAとの組み合わせ・IF/DELTA/COUNTIFとの違いまで実務例つきで紹介。目標達成カウントが一発で出せる便利な関数です。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで「この数値は基準をクリアしているか」を判定したい場面はよくありますよね。テストの合格判定、売上目標の達成チェック、在庫の下限割れ検知など、シーンを挙げ始めるとキリがありません。</p>



<p class="wp-block-paragraph">そんなときに便利なのが、スプレッドシートのGESTEP関数です。指定した数値がしきい値以上かどうかを、<code>1</code>（以上）か <code>0</code>（未満）でサクッと返してくれます。IF関数でも同じ判定はできますが、結果を 0 と 1 の数値で受け取れるので、そのまま集計につなげられるのが最大の強みです。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのGESTEP関数の構文から実務での使いどころまで丁寧に解説します。ARRAYFORMULA や SUMPRODUCT との組み合わせ、IF関数 や DELTA関数 との使い分けも、サンプル付きで紹介していきますね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">GESTEP関数とは？スプレッドシートで閾値以上を判定する関数</a><ol><li><a href="#toc2" tabindex="0">GESTEP関数の構文と引数</a></li><li><a href="#toc3" tabindex="0">戻り値（0と1）の意味</a></li></ol></li><li><a href="#toc4" tabindex="0">GESTEP関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">合格ライン判定の例（70点以上）</a></li><li><a href="#toc6" tabindex="0">しきい値を省略した場合（正負判定）</a></li></ol></li><li><a href="#toc7" tabindex="0">GESTEP関数の実務活用パターン</a><ol><li><a href="#toc8" tabindex="0">SUMPRODUCT＋ARRAYFORMULAで達成人数を一発カウント</a></li><li><a href="#toc9" tabindex="0">ARRAYFORMULAで列全体に展開する</a></li><li><a href="#toc10" tabindex="0">しきい値をセル参照で動的に切り替える</a></li></ol></li><li><a href="#toc11" tabindex="0">GESTEPとIF・DELTA・COUNTIFの使い分け</a><ol><li><a href="#toc12" tabindex="0">IF関数との違い</a></li><li><a href="#toc13" tabindex="0">DELTA関数との違い</a></li><li><a href="#toc14" tabindex="0">COUNTIF関数との違い</a></li></ol></li><li><a href="#toc15" tabindex="0">GESTEP関数のよくあるエラーと対処法</a><ol><li><a href="#toc16" tabindex="0">#VALUE!エラー（文字列を渡したとき）</a></li><li><a href="#toc17" tabindex="0">#NAME?エラー（スペルミス）</a></li><li><a href="#toc18" tabindex="0">判定が想定と違う（境界値の扱い）</a></li></ol></li><li><a href="#toc19" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">GESTEP関数とは？スプレッドシートで閾値以上を判定する関数</span></h2>



<p class="wp-block-paragraph">GESTEP関数は、指定した数値がしきい値以上かどうかを判定する関数です。読み方は「ジーイーステップ」。GE は Greater than or Equal to（〜以上）、STEP は段差や基準を意味します。つまり「基準値以上か」を判定する関数ということですね。</p>



<p class="wp-block-paragraph">Googleスプレッドシートでは「他のスプレッドシート互換」のエンジニアリング関数として提供されています。Excel の GESTEP関数と同じ仕様で動作するため、Excel経験者にも違和感なく使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">GESTEP関数の構文と引数</span></h3>



<pre class="wp-block-code"><code>=GESTEP(数値, [しきい値])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>数値</td><td>必須</td><td>しきい値と比較したい数値</td></tr><tr><td>しきい値</td><td>省略可</td><td>判定の基準となる値。省略時は 0 として扱われる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数に文字列を渡すと <code>#VALUE!</code> エラーが返ります。GESTEPは数値専用の関数だと覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc3">戻り値（0と1）の意味</span></h3>



<p class="wp-block-paragraph">戻り値は次の2パターンだけです。</p>



<ul class="wp-block-list"><li><code>数値 ≧ しきい値</code> のとき → <strong>1</strong></li><li><code>数値 < しきい値</code> のとき → <strong>0</strong></li></ul>



<p class="wp-block-paragraph">ここでのポイントは「以上」の判定だということです。数値としきい値がぴったり同じでも結果は <code>1</code> になります。「より大きい」（>）ではないので、境界値を含むかどうかで誤解しないようにしてくださいね。</p>



<p class="wp-block-paragraph">戻り値が論理値（TRUE/FALSE）ではなく数値（0/1）で返るのも特徴です。SUMPRODUCT や SUM などの集計関数にそのまま投入できるため、判定と集計を一気通貫で扱えます。</p>



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



<p class="wp-block-paragraph">まずは1つの数値としきい値を比較する基本パターンから見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">合格ライン判定の例（70点以上）</span></h3>



<p class="wp-block-paragraph">テストの点数が 70点以上かどうかを判定してみます。A2セルに点数「85」が入っているとしましょう。B2セルに次の数式を入れます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<pre class="wp-block-code"><code>=GESTEP(A2, 70)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_gestep-basic.png" alt="02 formula gestep basic" /></figure>



<p class="wp-block-paragraph">A2 の 85 は 70 以上なので、結果は <strong>1</strong> が返ります。もし A2 が「65」なら結果は <strong>0</strong> です。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（点数）</th><th>B列（=GESTEP(A2,70)）</th></tr></thead><tbody><tr><td>85</td><td>1</td></tr><tr><td>65</td><td>0</td></tr><tr><td>70</td><td>1</td></tr><tr><td>92</td><td>1</td></tr><tr><td>68</td><td>0</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_gestep-basic.png" alt="03 result gestep basic" /></figure>



<p class="wp-block-paragraph">A列が 70 ぴったりの行でも <code>1</code> が返っている点に注目してください。GESTEPは「以上」判定なので、境界値の 70 はクリア扱いになります。</p>



<h3 class="wp-block-heading"><span id="toc6">しきい値を省略した場合（正負判定）</span></h3>



<p class="wp-block-paragraph">GESTEP関数は第2引数を省略できます。省略すると「数値が 0 以上かどうか」の判定になります。</p>



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



<p class="wp-block-paragraph">A2 が <code>0</code> または正の数なら <code>1</code>、負の数なら <code>0</code> が返ります。在庫数がマイナスになっていないかをチェックする場面などに便利ですよ。</p>



<pre class="wp-block-code"><code>=GESTEP(-3)  → 0
=GESTEP(0)   → 1
=GESTEP(5)   → 1</code></pre>



<p class="wp-block-paragraph">「正負判定の関数を別に覚えなくていい」のは、GESTEPのちょっとした便利ポイントです。</p>



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



<p class="wp-block-paragraph">GESTEP関数の真価は、集計関数や ARRAYFORMULA と組み合わせたときに発揮されます。代表的なパターンを3つ紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc8">SUMPRODUCT＋ARRAYFORMULAで達成人数を一発カウント</span></h3>



<p class="wp-block-paragraph">「各営業担当の月次売上が目標の100万円以上か」を判定して、達成人数を一発で出してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>行</th><th>A列（担当者）</th><th>B列（売上）</th></tr></thead><tbody><tr><td>2</td><td>田中</td><td>1,200,000</td></tr><tr><td>3</td><td>鈴木</td><td>850,000</td></tr><tr><td>4</td><td>佐藤</td><td>1,000,000</td></tr><tr><td>5</td><td>山田</td><td>1,500,000</td></tr><tr><td>6</td><td>高橋</td><td>720,000</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">達成人数を出す数式はこちらです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(ARRAYFORMULA(GESTEP(B2:B6, 1000000)))</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_formula_gestep-sumproduct.png" alt="04 formula gestep sumproduct" /></figure>



<p class="wp-block-paragraph">GESTEP が各行で 1 か 0 を返し、SUMPRODUCT がその合計を計算します。結果は <code>3</code> で、5人中3人が目標達成しているとわかります。佐藤さんの売上はちょうど100万円ですが、GESTEPは「以上」判定なのでカウントされますね。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-gestep-function/05_result_gestep-sumproduct.png/">_images/spreadsheet-gestep-function/05_result_gestep-sumproduct.png</a></p>



<p class="wp-block-paragraph">集計関数の使い方は<a href="https://mashukabu.com/spreadsheet-sumproduct-function/">スプレッドシート SUMPRODUCT関数の使い方</a>も参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc9">ARRAYFORMULAで列全体に展開する</span></h3>



<p class="wp-block-paragraph">C列に判定結果を一気に書き出したい場合は、ARRAYFORMULA で囲みます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(GESTEP(B2:B6, 1000000))</code></pre>



<p class="wp-block-paragraph">C2 に入れるだけで、C2:C6 にそれぞれの判定結果が展開されます。1行ずつ GESTEP を入力する手間が省けます。これは Excel の GESTEP関数にはない、Googleスプレッドシートならではの使い方です。</p>



<p class="wp-block-paragraph">ARRAYFORMULA の詳しい仕組みは<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシート ARRAYFORMULA関数の使い方</a>で解説しています。</p>



<h3 class="wp-block-heading"><span id="toc10">しきい値をセル参照で動的に切り替える</span></h3>



<p class="wp-block-paragraph">しきい値を数式に直接書き込むと、変更のたびに修正が必要になります。しきい値を別セル（たとえば F1 セル）に置いておくと、シートをダッシュボード的に使えますよ。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(GESTEP(B2:B6, $F$1))</code></pre>



<p class="wp-block-paragraph">F1 の値を 1,000,000 から 1,500,000 に変更すれば、判定結果が一斉に切り替わります。月次の目標調整や、複数シナリオでの達成率比較に便利なパターンです。</p>



<h2 class="wp-block-heading"><span id="toc11">GESTEPとIF・DELTA・COUNTIFの使い分け</span></h2>



<p class="wp-block-paragraph">GESTEPと似た役割の関数はいくつかあります。「どれを使えばいいの？」という疑問に答える形で整理しておきますね。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>判定内容</th><th>戻り値</th><th>向いている場面</th></tr></thead><tbody><tr><td>GESTEP</td><td>数値 ≧ しきい値</td><td>0 / 1（数値）</td><td>0/1のフラグが欲しい・集計に直結したい</td></tr><tr><td>IF</td><td>任意の条件式</td><td>任意の値</td><td>「合格」「不合格」など文字列で返したい</td></tr><tr><td>DELTA</td><td>数値1 = 数値2</td><td>0 / 1（数値）</td><td>等値判定（一致件数のカウント）</td></tr><tr><td>COUNTIF</td><td>範囲内の条件一致件数</td><td>件数（整数）</td><td>件数だけ知りたい</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">IF関数との違い</span></h3>



<p class="wp-block-paragraph">IF関数でも閾値判定はできます。<code>=IF(A2>=70, 1, 0)</code> と書けば GESTEP と同じ結果になります。違いは数式の長さと戻り値の柔軟性です。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>GESTEP</th><th>IF</th></tr></thead><tbody><tr><td>数式の長さ</td><td>短い（<code>=GESTEP(A2,70)</code>）</td><td>やや長い（<code>=IF(A2>=70,1,0)</code>）</td></tr><tr><td>戻り値</td><td>0 / 1 固定</td><td>任意の値（"合格"・"不合格" など）</td></tr><tr><td>集計利用</td><td>そのまま SUM に投入できる</td><td>戻り値が文字列だと集計不可</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「合格」「不合格」のように文字列を返したいなら IF関数が向いています。詳しい書き方は<a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシート IF関数の使い方</a>で解説しています。</p>



<h3 class="wp-block-heading"><span id="toc13">DELTA関数との違い</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-delta-function/">スプレッドシート DELTA関数の使い方</a>では「2つの数値が等しいかどうか」を判定して 0 と 1 を返します。GESTEPは「以上かどうか」の判定です。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>GESTEP</th><th>DELTA</th></tr></thead><tbody><tr><td>判定内容</td><td>数値 ≧ しきい値</td><td>数値1 = 数値2</td></tr><tr><td>用途</td><td>しきい値判定・達成チェック</td><td>等値判定・一致件数カウント</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">どちらもエンジニアリング関数で、結果が 0 か 1 で返ってくるのが共通点です。「以上判定なら GESTEP、等値判定なら DELTA」と覚えておくと迷いません。</p>



<h3 class="wp-block-heading"><span id="toc14">COUNTIF関数との違い</span></h3>



<p class="wp-block-paragraph">「目標達成者の人数を知りたい」だけなら、COUNTIF関数のほうがシンプルです。</p>



<pre class="wp-block-code"><code>=COUNTIF(B2:B6, &quot;&gt;=1000000&quot;)</code></pre>



<p class="wp-block-paragraph">GESTEP+SUMPRODUCT との違いは、各行の判定結果（0/1）が残るかどうかです。COUNTIFは件数しか返しません。GESTEPは各行に判定結果を残せるため、後続のフィルターやグラフ作成に流用しやすいです。</p>



<p class="wp-block-paragraph">詳しい条件指定は<a href="https://mashukabu.com/spreadsheet-countif-function/">スプレッドシート COUNTIF関数の使い方</a>で解説しています。</p>



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



<p class="wp-block-paragraph">実務でつまずきやすいパターンを3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc16">#VALUE!エラー（文字列を渡したとき）</span></h3>



<p class="wp-block-paragraph">引数に文字列を渡すと発生します。たとえば <code>=GESTEP("A", 1)</code> はエラーになります。数値が文字列として入力されているセル（先頭にアポストロフィがあるなど）を参照した場合も同様です。</p>



<p class="wp-block-paragraph">VALUE関数で数値化してから渡すと解決します。</p>



<pre class="wp-block-code"><code>=GESTEP(VALUE(A2), 70)</code></pre>



<h3 class="wp-block-heading"><span id="toc17">#NAME?エラー（スペルミス）</span></h3>



<p class="wp-block-paragraph">関数名のスペルミスが原因です。「GESTEP」を「GETSTEP」や「GE STEP」と書いていないか確認してください。スプレッドシートでは関数名を入力するとサジェストが表示されるので、そこから選ぶと安心ですよ。</p>



<h3 class="wp-block-heading"><span id="toc18">判定が想定と違う（境界値の扱い）</span></h3>



<p class="wp-block-paragraph">「70点超え」を判定したつもりが、70点ぴったりも <code>1</code> でカウントされてしまうことがあります。これは GESTEPが「以上」判定だからです。「より大きい（超え）」を判定したい場合は IF関数を使ってください。</p>



<pre class="wp-block-code"><code>=IF(A2&gt;70, 1, 0)</code></pre>



<p class="wp-block-paragraph">境界値を含めるかどうかで関数を選び分けるイメージを持っておくと、ミスが減りますよ。</p>



<p class="wp-block-paragraph">なお、Excel版の挙動については<a href="https://mashukabu.com/excel-function-howto-use-gestep/">ExcelのGESTEP関数の使い方</a>もほぼ同じ仕様で解説しています。Excel と Googleスプレッドシートで動作に差はほとんどありません。</p>



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



<p class="wp-block-paragraph">スプレッドシートのGESTEP関数についてのポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>GESTEP関数は「数値 ≧ しきい値」なら <strong>1</strong>、そうでなければ <strong>0</strong> を返す</li><li>第2引数（しきい値）を省略すると 0 と比較される（正負判定に使える）</li><li>戻り値が数値なので、SUMPRODUCT や ARRAYFORMULA との組み合わせで集計に直結できる</li><li>しきい値をセル参照にすると、ダッシュボード的に判定結果を切り替えられる</li><li>文字列で返したいなら IF関数、等値判定なら<a href="https://mashukabu.com/spreadsheet-delta-function/">DELTA関数</a>、件数だけ欲しいなら COUNTIF関数を使う</li></ul>



<p class="wp-block-paragraph">「基準を超えたかどうか」を 0 と 1 のフラグで一発判定したい場面が、GESTEP関数のベストフィットです。テスト合格判定・売上達成チェック・在庫マイナス検知など、活躍の場は意外と多いはずですよ。ぜひ実務で試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-gestep-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのARRAYFORMULA関数の使い方｜範囲に一括適用</title>
		<link>https://mashukabu.com/spreadsheet-arrayformula-function/</link>
					<comments>https://mashukabu.com/spreadsheet-arrayformula-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:38:29 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[一括適用]]></category>
		<category><![CDATA[自動化]]></category>
		<category><![CDATA[配列数式]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4913</guid>

					<description><![CDATA[GoogleスプレッドシートのARRAYFORMULA関数の使い方を基本から解説。1セルに数式を入れるだけで列全体に自動適用できる仕組みや、IF・SUMIF・COUNTIFとの組み合わせ、よくあるエラーの対処法を紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「この数式、100行分コピーしなきゃ&#8230;」。スプレッドシートで同じ数式を何十行もドラッグしてコピーした経験、ありませんか？</p>



<p class="wp-block-paragraph">行が増えるたびにコピーし直す手間もかかります。コピーし忘れて計算が抜ける事故も起きがちです。</p>



<p class="wp-block-paragraph">そんな悩みを一発で解決するのが <strong>ARRAYFORMULA関数</strong> です。1つのセルに数式を入れるだけで、列全体に自動で適用してくれます。</p>



<p class="wp-block-paragraph">この記事では、基本の書き方からIF・SUMIFとの組み合わせまで紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ARRAYFORMULA関数とは？</a></li><li><a href="#toc2" tabindex="0">ARRAYFORMULA関数の書き方（構文と引数）</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">ARRAYFORMULA関数の基本的な使い方</a></li><li><a href="#toc6" tabindex="0">ARRAYFORMULA関数の実践的な使い方・応用例</a><ol><li><a href="#toc7" tabindex="0">IF関数と組み合わせて空白行を処理する</a></li><li><a href="#toc8" tabindex="0">COUNTIF・SUMIFと組み合わせて集計する</a></li><li><a href="#toc9" tabindex="0">文字列の結合を一括で行う</a></li><li><a href="#toc10" tabindex="0">LEN関数で文字数を一括チェックする</a></li></ol></li><li><a href="#toc11" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc12" tabindex="0">FILTER・QUERYとの違い・使い分け</a></li><li><a href="#toc13" tabindex="0">まとめ</a><ol><li><a href="#toc14" tabindex="0">この記事を書いた人</a></li><li><a href="#toc15" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ARRAYFORMULA関数（アレイフォーミュラ関数）は、1つの数式を範囲全体に一括で適用する <strong>Googleスプレッドシート独自の関数</strong> です。</p>



<p class="wp-block-paragraph">英語の「array（配列）」と「formula（数式）」を組み合わせた名前で、「配列数式」とも呼ばれます。</p>



<p class="wp-block-paragraph">通常、数式は1つのセルにしか効きません。たとえば <code>=A2*B2</code> はそのセルだけの計算です。</p>



<p class="wp-block-paragraph">ARRAYFORMULA関数を使うと、この計算を一気に下の行すべてに展開できます。数式のコピーが不要になるのが最大のメリットです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ARRAYFORMULA関数はGoogleスプレッドシート独自の関数です。Excelには同じ名前の関数はありません。Excelで同様の処理をするには、Microsoft 365の「スピル」機能や <code>Ctrl+Shift+Enter</code> の配列数式を使います。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=ARRAYFORMULA(配列数式)</code></pre>



<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>配列数式</td><td>必須</td><td>範囲を使った数式や式（例: <code>A2:A100*B2:B100</code>）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは <strong>セル参照を「範囲」に書き換える</strong> ことです。</p>



<p class="wp-block-paragraph">通常の数式 <code>=A2<em>B2</code> を範囲に変えて <code>=ARRAYFORMULA(A2:A100</em>B2:B100)</code> と書きます。</p>



<p class="wp-block-paragraph">これだけで、A2<em>B2、A3</em>B3、A4*B4&#8230;と全行の計算結果が自動で展開されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ARRAYFORMULA関数を入力するショートカットがあります。数式を入力した状態で <code>Ctrl+Shift+Enter</code>（Macは <code>Cmd+Shift+Enter</code>）を押すと、自動で <code>ARRAYFORMULA()</code> が追加されます。</p></blockquote>



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



<p class="wp-block-paragraph">ここでは、次のような売上データを使って説明します。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（商品名）</th><th>B列（単価）</th><th>C列（数量）</th></tr></thead><tbody><tr><td>2行目</td><td>ノート</td><td>200</td><td>5</td></tr><tr><td>3行目</td><td>ペン</td><td>150</td><td>10</td></tr><tr><td>4行目</td><td>消しゴム</td><td>80</td><td>3</td></tr><tr><td>5行目</td><td>ファイル</td><td>300</td><td>7</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>やりたいこと</strong>: D列に「単価 x 数量」の金額を一括で計算する。</p>



<p class="wp-block-paragraph">通常なら D2 に <code>=B2*C2</code> と入力し、D5 までドラッグコピーしますよね。</p>



<p class="wp-block-paragraph">ARRAYFORMULAなら、<strong>D2 に1つだけ数式を入れれば完了</strong>です。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(B2:B5*C2:C5)</code></pre>



<p class="wp-block-paragraph">D2からD5まで、すべての行に計算結果が自動で表示されます。</p>



<p class="wp-block-paragraph"><strong>ここがポイントです</strong>。数式が入っているのはD2セルだけです。D3〜D5には数式がありません。それなのに、すべての行に結果が出ています。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>範囲の終わりを <code>B2:B</code> のように列だけにすると、データが増えても自動で対応します。空の行には <code>0</code> が表示されますが、後述のIF関数との組み合わせで解決できます。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc7">IF関数と組み合わせて空白行を処理する</span></h3>



<p class="wp-block-paragraph">ARRAYFORMULA関数で範囲を広めに取ると、データがない行にも <code>0</code> や不要な値が表示されます。</p>



<p class="wp-block-paragraph">これを防ぐには、<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B=&quot;&quot;, &quot;&quot;, B2:B*C2:C))</code></pre>



<p class="wp-block-paragraph">この数式は「B列が空白なら空白を返し、データがあれば計算する」という意味です。これで空行には何も表示されません。</p>



<p class="wp-block-paragraph"><strong>IF+ARRAYFORMULAは最も使用頻度の高い組み合わせ</strong>です。ぜひセットで覚えてください。</p>



<h3 class="wp-block-heading"><span id="toc8">COUNTIF・SUMIFと組み合わせて集計する</span></h3>



<p class="wp-block-paragraph">ARRAYFORMULA関数は、<a href="https://mashukabu.com/spreadsheet-countif-function/">COUNTIF関数</a>や<a href="https://mashukabu.com/spreadsheet-sumif-function/">SUMIF関数</a>とも組み合わせられます。</p>



<p class="wp-block-paragraph">たとえば、各商品の出現回数を一括で数えたい場合はこう書きます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(COUNTIF(A2:A, A2:A))</code></pre>



<p class="wp-block-paragraph">A列のすべての値に対して、同じ値が何回出てくるかを一括で集計します。</p>



<p class="wp-block-paragraph">SUMIF関数と組み合わせれば、カテゴリ別の合計金額を一括で算出できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(SUMIF(A2:A, E2:E, D2:D))</code></pre>



<p class="wp-block-paragraph">E列にカテゴリ一覧を用意しておけば、各カテゴリの合計がまとめて出力されます。</p>



<h3 class="wp-block-heading"><span id="toc9">文字列の結合を一括で行う</span></h3>



<p class="wp-block-paragraph">名前の列（姓と名）を結合したいとき、通常は1行ずつ <code>=A2&" "&B2</code> と書きます。</p>



<p class="wp-block-paragraph">ARRAYFORMULAなら一発です。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(A2:A&amp;&quot; &quot;&amp;B2:B)</code></pre>



<p class="wp-block-paragraph">列全体の文字列結合が1つの数式で完了します。</p>



<h3 class="wp-block-heading"><span id="toc10">LEN関数で文字数を一括チェックする</span></h3>



<p class="wp-block-paragraph">入力データの文字数を一括で確認したいときにも使えます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A=&quot;&quot;, &quot;&quot;, LEN(A2:A)))</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-len-function/">LEN関数</a>をARRAYFORMULAで展開すれば、すべてのセルの文字数を一括で表示できます。空白行にはIF関数で空文字を返しています。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー / 症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#REF!</code></td><td>出力先のセルにデータがある（展開先がふさがっている）</td><td>出力先の下方向を空けるか、出力位置を変更する</td></tr><tr><td><code>#N/A</code></td><td>VLOOKUP等と組み合わせたとき検索値が見つからない</td><td>IFERRORで囲む: <code>=ARRAYFORMULA(IFERROR(VLOOKUP(...), ""))</code></td></tr><tr><td><code>#VALUE!</code></td><td>ARRAYFORMULAに対応していない関数を使った</td><td>対応関数かどうかを確認する（後述）</td></tr><tr><td>空白行に <code>0</code> が表示される</td><td>空のセルに対しても計算が実行されている</td><td><code>IF(条件="","",計算)</code> で空白行を除外する</td></tr><tr><td>結果が1行分しか出ない</td><td>セル参照が単一セル（A2）のまま</td><td>範囲参照（A2:A）に書き換える</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に注意したいのが <strong>「結果が1行分しか出ない」</strong> パターンです。</p>



<p class="wp-block-paragraph">ARRAYFORMULAを付けても範囲を指定していなければ効果がありません。<code>=ARRAYFORMULA(A2<em>B2)</code> ではなく <code>=ARRAYFORMULA(A2:A</em>B2:B)</code> のように範囲にしてください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>すべての関数がARRAYFORMULAに対応しているわけではありません。AND関数・OR関数・QUERY関数などは非対応です。代わりに <code>*</code>（AND相当）や <code>+</code>（OR相当）の演算子を使います。AND・OR関数の代替については <a href="https://mashukabu.com/spreadsheet-and-function/">AND関数の使い方</a> を参考にしてください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc12">FILTER・QUERYとの違い・使い分け</span></h2>



<p class="wp-block-paragraph">スプレッドシートには、ARRAYFORMULAの他にもデータを一括処理する関数があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>ARRAYFORMULA</th><th>FILTER関数</th><th>QUERY関数</th></tr></thead><tbody><tr><td>主な用途</td><td>既存の関数を全行に一括適用</td><td>条件に一致する行の抽出</td><td>抽出+集計+並べ替えを一括</td></tr><tr><td>動作イメージ</td><td>「列ごとの計算」を自動化</td><td>「行の絞り込み」を自動化</td><td>SQL風にデータを操作</td></tr><tr><td>構文の難易度</td><td>やさしい</td><td>やさしい</td><td>やや難（SQL風の構文）</td></tr><tr><td>向いている場面</td><td>列の計算・変換を一括で</td><td>条件でデータを抽出</td><td>複雑な集計レポート</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>ざっくりまとめると</strong>:</p>



<ul class="wp-block-list"><li><strong>「列の計算を全行に適用したい」</strong> → ARRAYFORMULA</li><li><strong>「条件に合う行を取り出したい」</strong> → <a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a></li><li><strong>「集計やグループ化もしたい」</strong> → QUERY関数</li></ul>



<p class="wp-block-paragraph">ARRAYFORMULAは「計算の自動化」、FILTERは「抽出の自動化」と覚えるとわかりやすいです。</p>



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



<p class="wp-block-paragraph">この記事では、GoogleスプレッドシートのARRAYFORMULA関数の使い方を解説しました。</p>



<ul class="wp-block-list"><li><strong>基本</strong>: <code>=ARRAYFORMULA(範囲を使った数式)</code> で列全体に一括適用</li><li><strong>最大のメリット</strong>: 数式のコピーが不要。1セルだけで全行を処理</li><li><strong>IF関数との組み合わせ</strong>: 空白行の <code>0</code> 表示を防ぐ定番テクニック</li><li><strong>COUNTIF・SUMIFとも連携</strong>: 集計処理も一括で実行可能</li><li><strong>エラー対策</strong>: 範囲参照（A2:A）にすることと、空白行のIF処理がポイント</li></ul>



<p class="wp-block-paragraph">ARRAYFORMULA関数はGoogleスプレッドシートならではの便利な関数です。「数式を何十行もコピーしている」という方は、ぜひ試してみてください！</p>



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



<h3 class="wp-block-heading"><span id="toc14">この記事を書いた人</span></h3>



<p class="wp-block-paragraph">biz-tactics編集部。事務職の現場で本当に使えるExcel・スプレッドシート・AIの技を発信しています。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方｜条件分岐の基本から応用まで</a></li><li><a href="https://mashukabu.com/spreadsheet-sumif-function/">スプレッドシートのSUMIF関数の使い方｜条件付き合計の基本</a></li><li><a href="https://mashukabu.com/spreadsheet-countif-function/">スプレッドシートのCOUNTIF関数の使い方｜条件に合うセルを数える</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方｜条件抽出を自動化する方法</a></li><li><a href="https://mashukabu.com/spreadsheet-len-function/">スプレッドシートのLEN関数の使い方｜文字数を数える</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-arrayformula-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのJOIN関数の使い方｜配列を区切り結合</title>
		<link>https://mashukabu.com/spreadsheet-join-function/</link>
					<comments>https://mashukabu.com/spreadsheet-join-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:33:21 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[CONCAT]]></category>
		<category><![CDATA[FILTER]]></category>
		<category><![CDATA[JOIN]]></category>
		<category><![CDATA[QUERY]]></category>
		<category><![CDATA[SPLIT]]></category>
		<category><![CDATA[TEXTJOIN]]></category>
		<category><![CDATA[区切り文字]]></category>
		<category><![CDATA[文字列結合]]></category>
		<category><![CDATA[配列]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4825</guid>

					<description><![CDATA[スプレッドシートのJOIN関数の使い方を基礎から解説。配列やセル範囲を区切り文字で結合する方法、FILTER・QUERY・ARRAYFORMULAとの応用、TEXTJOIN・SPLIT・CONCATとの違い、空白スキップ・エラー対処まで徹底ガイド。]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">JOIN関数とは｜読み方・構文・できること</a><ol><li><a href="#toc2" tabindex="0">読み方と語源</a></li><li><a href="#toc3" tabindex="0">JOIN関数でできること・できないこと</a></li></ol></li><li><a href="#toc4" tabindex="0">JOIN関数の基本的な使い方｜書き方と引数の例</a><ol><li><a href="#toc5" tabindex="0">構文と引数の説明</a></li><li><a href="#toc6" tabindex="0">基本的な書き方の例</a></li><li><a href="#toc7" tabindex="0">複数範囲を一度に結合する</a></li><li><a href="#toc8" tabindex="0">区切り文字なしで結合する</a></li></ol></li><li><a href="#toc9" tabindex="0">JOIN関数の実務パターン7選</a><ol><li><a href="#toc10" tabindex="0">パターン1: カンマ区切りリストを作る</a></li><li><a href="#toc11" tabindex="0">パターン2: 改行コードでセル内改行を作る</a></li><li><a href="#toc12" tabindex="0">パターン3: 日付と数値を書式整えて結合</a></li><li><a href="#toc13" tabindex="0">パターン4: プレフィックス・サフィックスを付けて結合</a></li><li><a href="#toc14" tabindex="0">パターン5: 曜日リストや固定配列を作る</a></li><li><a href="#toc15" tabindex="0">パターン6: SORT と組み合わせて並び順を整える</a></li><li><a href="#toc16" tabindex="0">パターン7: UNIQUE で重複排除してから結合</a></li></ol></li><li><a href="#toc17" tabindex="0">FILTER・QUERY・ARRAYFORMULAとの組み合わせ応用</a><ol><li><a href="#toc18" tabindex="0">FILTER で条件付き結合</a></li><li><a href="#toc19" tabindex="0">QUERY で SQL 風の抽出結果を結合</a></li><li><a href="#toc20" tabindex="0">ARRAYFORMULAで行ごとに結合して1列に収める</a></li></ol></li><li><a href="#toc21" tabindex="0">TEXTJOIN関数との違いと使い分け</a><ol><li><a href="#toc22" tabindex="0">比較表</a></li><li><a href="#toc23" tabindex="0">どちらを使うべきか（選び方フロー）</a></li><li><a href="#toc24" tabindex="0">実例で比較する</a></li></ol></li><li><a href="#toc25" tabindex="0">SPLIT関数との逆関数関係（結合と分割の往復）</a><ol><li><a href="#toc26" tabindex="0">往復の典型シーン</a></li></ol></li><li><a href="#toc27" tabindex="0">CONCAT・CONCATENATEとの違いと使い分け</a><ol><li><a href="#toc28" tabindex="0">選び方の早見表</a></li></ol></li><li><a href="#toc29" tabindex="0">JOIN関数でよくあるエラーと対処法</a><ol><li><a href="#toc30" tabindex="0">FILTER結果が空になるときの対処（サンプル）</a></li><li><a href="#toc31" tabindex="0">日付書式を保持するサンプル</a></li><li><a href="#toc32" tabindex="0">パフォーマンス劣化への対処</a></li></ol></li><li><a href="#toc33" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">JOIN関数とは｜読み方・構文・できること</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートで「配列やセル範囲をカンマ区切りのテキストにまとめたい」と思ったことはありませんか?</p>



<p class="wp-block-paragraph">CONCATENATE関数や&#038;演算子でも結合はできます。でもセルが増えるほど数式が長くなって、読み返すのも修正するのもつらいですよね。</p>



<p class="wp-block-paragraph">そんなときに便利なのが<strong>JOIN関数</strong>です。区切り文字と配列を渡すだけで、サッと1つの文字列にまとめてくれます。この記事ではJOIN関数の基本から、FILTER・QUERY・ARRAYFORMULAとの応用、TEXTJOIN・SPLIT・CONCATとの使い分けまで、実務でそのまま使える形で整理していきますね。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と語源</span></h3>



<p class="wp-block-paragraph">JOIN関数の読み方は「ジョイン」です。英語で「結合する・つなぐ」という意味があります。名前のとおり「配列を結合する関数」とイメージしてください。</p>



<p class="wp-block-paragraph">ひとつ覚えておきたいのが、JOIN関数はGoogleスプレッドシート独自の関数という点です。Excelには搭載されていません。Excelで同じことをやりたいときは<a href="https://mashukabu.com/spreadsheet-textjoin-function/">TEXTJOIN関数</a>を使ってくださいね。</p>



<h3 class="wp-block-heading"><span id="toc3">JOIN関数でできること・できないこと</span></h3>



<p class="wp-block-paragraph">JOIN関数の役割を1枚の表で整理するとこうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>できること</th><th>できないこと</th></tr></thead><tbody><tr><td>配列・セル範囲を区切り文字で結合</td><td>空白セルを自動でスキップ</td></tr><tr><td>複数の引数を並べて結合</td><td>IF関数の結果配列を直接受け取る（FILTER経由が必要）</td></tr><tr><td>2次元の範囲も結合</td><td>日付や数値の書式を保持した結合（TEXT併用が必要）</td></tr><tr><td>区切りなし（空文字）の結合</td><td>Excelでの実行</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「空白スキップができない」と「書式保持ができない」がJOIN関数のクセです。この2点さえ押さえれば、ほとんどの場面で迷いません。</p>



<h2 class="wp-block-heading"><span id="toc4">JOIN関数の基本的な使い方｜書き方と引数の例</span></h2>



<h3 class="wp-block-heading"><span id="toc5">構文と引数の説明</span></h3>



<p class="wp-block-paragraph">JOIN関数の構文はこちらです。</p>



<pre class="wp-block-code"><code>=JOIN(区切り文字, 値または配列1, [値または配列2, ...])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>区切り文字</td><td>必須</td><td>値の間に挿入する文字列（&#8221;,&#8221;や&#8221; &#8220;など）</td></tr><tr><td>値または配列1</td><td>必須</td><td>結合したい値、セル参照、またはセル範囲</td></tr><tr><td>値または配列2, &#8230;</td><td>省略可</td><td>追加で結合したい値や配列</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第1引数の区切り文字には空文字&#8221;&#8221;も指定できます。区切りなしで結合したいときに使ってくださいね。</p>



<h3 class="wp-block-heading"><span id="toc6">基本的な書き方の例</span></h3>



<p class="wp-block-paragraph">A1からA4に「東京」「大阪」「名古屋」「福岡」と入っている場合を見てみましょう。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;, &quot;, A1:A4)
→ 「東京, 大阪, 名古屋, 福岡」</code></pre>



<p class="wp-block-paragraph">区切り文字にカンマ+スペースを指定するだけで、きれいなリストが完成します。セルが何個あっても数式は変わりません。</p>



<p class="wp-block-paragraph">セル範囲ではなく個別のセルを指定することもできます。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;-&quot;, A1, B1, C1)
→ 「東京-大阪-名古屋」</code></pre>



<p class="wp-block-paragraph">引数を複数並べても結合できますが、セル範囲のほうがスッキリ書けますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">複数範囲を一度に結合する</span></h3>



<p class="wp-block-paragraph">範囲を複数指定することもできます。A列とB列を横につなげたリストを作りたい場合はこうです。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;, &quot;, A1:A3, B1:B3)
→ 「東京, 大阪, 名古屋, 札幌, 仙台, 福岡」</code></pre>



<p class="wp-block-paragraph">範囲ごとに順番に結合されます。行ごとに交互に結合したいときはARRAYFORMULAを使いますが、これは後述の応用パートで扱いますね。</p>



<h3 class="wp-block-heading"><span id="toc8">区切り文字なしで結合する</span></h3>



<p class="wp-block-paragraph">区切り文字に空文字 <code>""</code> を指定すれば、区切りなしで連結できます。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;&quot;, A1:A3)
→ 「東京大阪名古屋」</code></pre>



<p class="wp-block-paragraph">ただし区切りなしの単純結合なら、<a href="https://mashukabu.com/spreadsheet-concat-function/">CONCAT関数</a>のほうが意図が伝わりやすいです。用途に応じて選んでくださいね。</p>



<h2 class="wp-block-heading"><span id="toc9">JOIN関数の実務パターン7選</span></h2>



<p class="wp-block-paragraph">実務でよく使う7つのパターンを、そのままコピーして使える形で紹介します。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン1: カンマ区切りリストを作る</span></h3>



<p class="wp-block-paragraph">タグ一覧やメール宛先リストを作るときの定番パターンです。A列にメールアドレスが入っている場合はこう書きます。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;; &quot;, A1:A5)
→ 「user1@example.com; user2@example.com; user3@example.com; ...」</code></pre>



<p class="wp-block-paragraph">セミコロン+スペースで区切れば、メールのCC欄にそのまま貼り付けられる形になりますよ。Gmailの「連絡先を貼り付け」にも使えます。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン2: 改行コードでセル内改行を作る</span></h3>



<p class="wp-block-paragraph">CHAR(10)を区切り文字に使うと、セル内で改行した文字列を作れます。</p>



<pre class="wp-block-code"><code>=JOIN(CHAR(10), A1:A4)</code></pre>



<p class="wp-block-paragraph">結果のセルで「折り返して全体を表示する」書式を設定すると、各値が1行ずつ表示されます。議事録の出席者リストやタスクの進捗サマリーを1セルにまとめたいときに重宝しますよ。</p>



<p class="wp-block-paragraph">CHAR(10)のほかにCHAR(13)（キャリッジリターン）も使えますが、スプレッドシートではCHAR(10)が一般的です。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン3: 日付と数値を書式整えて結合</span></h3>



<p class="wp-block-paragraph">JOIN関数は日付や数値をそのまま結合するとシリアル値になってしまいます。書式を保持したいときは<a href="https://support.google.com/docs/answer/3094139">TEXT関数</a>で変換してから渡します。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;/&quot;, TEXT(A1, &quot;yyyy&quot;), TEXT(B1, &quot;m&quot;), TEXT(C1, &quot;d&quot;))
→ 「2026/3/21」</code></pre>



<p class="wp-block-paragraph">通貨や%表示なども同じ要領です。</p>



<pre class="wp-block-code"><code>=JOIN(&quot; - &quot;, A1, TEXT(B1, &quot;¥#,##0&quot;), TEXT(C1, &quot;0.0%&quot;))
→ 「売上 - ¥1,234,567 - 12.5%」</code></pre>



<h3 class="wp-block-heading"><span id="toc13">パターン4: プレフィックス・サフィックスを付けて結合</span></h3>



<p class="wp-block-paragraph">各要素に「〇〇:」「- 」のような接頭語を付けたいときは、ARRAYFORMULAとの組み合わせが便利です。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;, &quot;, ARRAYFORMULA(&quot;#&quot; &amp; A1:A3))
→ 「#東京, #大阪, #名古屋」</code></pre>



<p class="wp-block-paragraph">ハッシュタグ付きリストやNotion風の箇条書きリストが一発で作れますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン5: 曜日リストや固定配列を作る</span></h3>



<p class="wp-block-paragraph">配列リテラル <code>{}</code> を直接渡すこともできます。</p>



<pre class="wp-block-code"><code>=JOIN(&quot; / &quot;, {&quot;月&quot;,&quot;火&quot;,&quot;水&quot;,&quot;木&quot;,&quot;金&quot;,&quot;土&quot;,&quot;日&quot;})
→ 「月 / 火 / 水 / 木 / 金 / 土 / 日」</code></pre>



<p class="wp-block-paragraph">シート上にデータを用意しなくても、数式内で完結する使い方です。アンケート選択肢の区切り表示などに向いていますね。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン6: SORT と組み合わせて並び順を整える</span></h3>



<p class="wp-block-paragraph">そのままのA列順ではなく、五十音順・日付順でリスト化したい場合は<a href="https://support.google.com/docs/answer/3093150">SORT関数</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;, &quot;, SORT(A2:A10))
→ 「大阪, 京都, 神戸, 名古屋, 東京」</code></pre>



<p class="wp-block-paragraph">昇順がデフォルトなので、降順にしたいときは <code>SORT(A2:A10, 1, FALSE)</code> としてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン7: UNIQUE で重複排除してから結合</span></h3>



<p class="wp-block-paragraph">重複のあるデータから一意な値だけ取り出してリスト化したい場合です。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;, &quot;, UNIQUE(A2:A100))
→ 「東京, 大阪, 名古屋」（重複除去後）</code></pre>



<p class="wp-block-paragraph">「今月のユニーク来店客リスト」「登場したカテゴリの一覧」などでよく使うパターンですよ。SORTと併用するとさらに読みやすくなります。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;, &quot;, SORT(UNIQUE(A2:A100)))</code></pre>



<h2 class="wp-block-heading"><span id="toc17">FILTER・QUERY・ARRAYFORMULAとの組み合わせ応用</span></h2>



<p class="wp-block-paragraph">JOIN関数がもっとも輝くのは、他の配列関数と組み合わせたときです。ここでは実務度の高い3パターンを掘り下げます。</p>



<h3 class="wp-block-heading"><span id="toc18">FILTER で条件付き結合</span></h3>



<p class="wp-block-paragraph"><a href="https://support.google.com/docs/answer/3093197">FILTER関数</a>で絞り込んだ結果をJOIN関数で結合する方法です。A列に名前、B列に部署が入っているとします。</p>



<p class="wp-block-paragraph">「営業部」のメンバーだけをカンマ区切りで結合する数式です。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;, &quot;, FILTER(A2:A10, B2:B10=&quot;営業部&quot;))
→ 「田中, 佐藤, 高橋」</code></pre>



<p class="wp-block-paragraph">FILTER関数が条件に合う名前の配列を返します。JOIN関数がその配列をカンマ区切りで結合します。2つの関数を組み合わせるだけで条件付き結合が完成しますよ。</p>



<p class="wp-block-paragraph">複数条件にしたいときは <code>*</code>（AND）や <code>+</code>（OR）を使います。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;, &quot;, FILTER(A2:A10, B2:B10=&quot;営業部&quot;, C2:C10&gt;=3))
→ 営業部で勤続3年以上の名前だけ結合</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>FILTER + JOIN の活用場面</strong></p><p>部署別の名前リスト、カテゴリ別の商品一覧、ステータス別のタスク一覧、担当者別の案件リストなど、「条件で絞り込んでからリスト化する」パターンに幅広く使えます。</p></blockquote>



<h4 class="wp-block-heading">FILTER結果が空のときのエラー回避</h4>



<p class="wp-block-paragraph">条件に合うデータがないとFILTERは <code>#N/A</code> を返してJOINも失敗します。IFERRORで包んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(JOIN(&quot;, &quot;, FILTER(A2:A10, B2:B10=&quot;広報部&quot;)), &quot;該当なし&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc19">QUERY で SQL 風の抽出結果を結合</span></h3>



<p class="wp-block-paragraph"><a href="https://support.google.com/docs/answer/3093343">QUERY関数</a>で抽出した結果もJOIN関数で結合できます。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;, &quot;, QUERY(A2:C100, &quot;SELECT A WHERE C='完了'&quot;, 0))
→ ステータスが完了の案件名だけをカンマ区切りで結合</code></pre>



<p class="wp-block-paragraph">QUERYの柔軟な条件指定とJOINのテキスト化がハマる組み合わせです。レポート作成の常連コンビなので、ぜひ覚えておいてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc20">ARRAYFORMULAで行ごとに結合して1列に収める</span></h3>



<p class="wp-block-paragraph">「A〜C列の値を各行ごとに結合して、D列に1列で出力したい」ときはARRAYFORMULAが使えます。ただしJOIN関数は配列展開に制約があるので、行ごとの結合には<code>&</code>演算子のほうが安定します。</p>



<pre class="wp-block-code"><code># D1に入力
=ARRAYFORMULA(IF(A1:A10=&quot;&quot;,&quot;&quot;, A1:A10 &amp; &quot;-&quot; &amp; B1:B10 &amp; &quot;-&quot; &amp; C1:C10))</code></pre>



<p class="wp-block-paragraph">どうしても区切り文字を可変にしたいなら、行ごとに <code>TEXTJOIN</code> を使うほうが柔軟です。</p>



<pre class="wp-block-code"><code># D1に入力（TEXTJOIN版）
=ARRAYFORMULA(IF(A1:A10=&quot;&quot;,&quot;&quot;, TEXTJOIN(&quot;-&quot;, TRUE, A1:A10, B1:B10, C1:C10)))</code></pre>



<p class="wp-block-paragraph">JOINとARRAYFORMULAは相性に制約があるので、行ごとの結合ではTEXTJOINや&#038;演算子を選ぶと挙動が安定しますよ。</p>



<h2 class="wp-block-heading"><span id="toc21">TEXTJOIN関数との違いと使い分け</span></h2>



<p class="wp-block-paragraph">JOIN関数と<a href="https://mashukabu.com/spreadsheet-textjoin-function/">TEXTJOIN関数</a>はどちらも区切り文字で結合する関数です。似ているようで大きな違いがあります。</p>



<h3 class="wp-block-heading"><span id="toc22">比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>JOIN</th><th>TEXTJOIN</th></tr></thead><tbody><tr><td>空白セルのスキップ</td><td>不可（空白もそのまま結合）</td><td>第2引数でTRUE/FALSE制御</td></tr><tr><td>引数の並び</td><td>区切り文字, 配列&#8230;</td><td>区切り文字, 空白無視, テキスト&#8230;</td></tr><tr><td>IF配列との相性</td><td>不可（FILTER経由が必要）</td><td>直接IF配列を渡せる</td></tr><tr><td>最大文字数</td><td>セル上限（約50,000字）</td><td>セル上限（約50,000字）</td></tr><tr><td>Sheets対応</td><td>対応（独自関数）</td><td>対応</td></tr><tr><td>Excel対応</td><td>非対応</td><td>対応（Microsoft 365 / Excel 2019以降）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">どちらを使うべきか（選び方フロー）</span></h3>



<p class="wp-block-paragraph">次の基準で選んでみてください。</p>



<ul class="wp-block-list"><li><strong>空白セルが混じるデータ</strong> → TEXTJOIN（空白スキップ機能あり）</li><li><strong>IF関数の結果を直接結合したい</strong> → TEXTJOIN</li><li><strong>空白セルがないクリーンな配列</strong> → JOIN（引数がシンプル）</li><li><strong>FILTER・UNIQUE・SORTの結果を結合</strong> → JOIN（相性が良く書きやすい）</li><li><strong>Excelとの互換性が必要</strong> → TEXTJOIN（Excel側でも動作する）</li></ul>



<p class="wp-block-paragraph">空白セルを含むデータなら迷わずTEXTJOINです。空白のないデータやFILTER関数の結果を結合するなら、引数がシンプルなJOINが便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc24">実例で比較する</span></h3>



<p class="wp-block-paragraph">A列が <code>東京 / （空白） / 大阪 / （空白） / 名古屋</code> の場合の結果を比較してみましょう。</p>



<pre class="wp-block-code"><code>=JOIN(&quot;, &quot;, A1:A5)
→ 「東京, , 大阪, , 名古屋」（空白のせいでカンマが連続）

=TEXTJOIN(&quot;, &quot;, TRUE, A1:A5)
→ 「東京, 大阪, 名古屋」（空白スキップ）</code></pre>



<p class="wp-block-paragraph">見た目の美しさに差が出ますね。実務では空白が混じることも多いので、TEXTJOINに切り替える選択肢を常に持っておくと安心です。</p>



<h2 class="wp-block-heading"><span id="toc25">SPLIT関数との逆関数関係（結合と分割の往復）</span></h2>



<p class="wp-block-paragraph">JOIN関数と<a href="https://mashukabu.com/spreadsheet-split-function/">SPLIT関数</a>は「結合」と「分割」の逆の関係にあります。セットで覚えておくと便利です。</p>



<figure class="wp-block-table"><table><thead><tr><th>操作</th><th>関数</th><th>例</th></tr></thead><tbody><tr><td>結合</td><td>JOIN</td><td>3つのセル → 「東京,大阪,名古屋」</td></tr><tr><td>分割</td><td>SPLIT</td><td>「東京,大阪,名古屋」→ 3つのセルに分割</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実際に相互変換してみましょう。</p>



<p class="wp-block-paragraph"><strong>結合（JOIN）:</strong></p>



<pre class="wp-block-code"><code>=JOIN(&quot;,&quot;, A1:C1)
→ 「東京,大阪,名古屋」</code></pre>



<p class="wp-block-paragraph"><strong>分割（SPLIT）:</strong></p>



<pre class="wp-block-code"><code>=SPLIT(&quot;東京,大阪,名古屋&quot;, &quot;,&quot;)
→ A1:「東京」, B1:「大阪」, C1:「名古屋」</code></pre>



<p class="wp-block-paragraph">同じ区切り文字（カンマ）を使えば、元の形に戻せます。データの結合と分割を行き来する場面で活躍しますよ。</p>



<h3 class="wp-block-heading"><span id="toc26">往復の典型シーン</span></h3>



<ul class="wp-block-list"><li>CSV形式で貼り付けたテキストを分割（SPLIT） → 必要な列だけ取り出して結合（JOIN）</li><li>タグ文字列を分割して並び替え → 再結合</li><li>フォーム回答の自由記述欄を単語分割 → 条件に合うものだけ結合</li></ul>



<p class="wp-block-paragraph">SPLITとJOINをセットで使うと、データクレンジングの小さなETLパイプラインが作れます。</p>



<h2 class="wp-block-heading"><span id="toc27">CONCAT・CONCATENATEとの違いと使い分け</span></h2>



<p class="wp-block-paragraph">単純に文字列を連結したいなら<a href="https://mashukabu.com/spreadsheet-concat-function/">CONCAT関数</a>や<a href="https://mashukabu.com/spreadsheet-concatenate-function/">CONCATENATE関数</a>が候補になります。違いは区切り文字の扱いです。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>区切り文字</th><th>配列対応</th><th>空白スキップ</th><th>主な用途</th></tr></thead><tbody><tr><td>JOIN</td><td>指定できる</td><td>可</td><td>不可</td><td>区切り付きリスト化</td></tr><tr><td>TEXTJOIN</td><td>指定できる</td><td>可</td><td>可（オプション）</td><td>区切り付き+空白対応</td></tr><tr><td>CONCAT</td><td>なし</td><td>可（一部）</td><td>&#8211;</td><td>2値の単純連結</td></tr><tr><td>CONCATENATE</td><td>なし</td><td>不可</td><td>&#8211;</td><td>旧版の単純連結</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc28">選び方の早見表</span></h3>



<ul class="wp-block-list"><li><strong>区切り文字入り、空白なしデータ</strong> → JOIN</li><li><strong>区切り文字入り、空白混じり</strong> → TEXTJOIN</li><li><strong>区切りなしの単純連結</strong> → CONCAT</li><li><strong>古いスプレッドシートで互換性重視</strong> → CONCATENATE</li></ul>



<p class="wp-block-paragraph">CONCATは <code>=CONCAT(A1, B1)</code> のような2値の連結が中心で、JOIN/TEXTJOINのように区切り文字を一括指定できません。リスト化にはJOIN系を選ぶのが定石です。</p>



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



<p class="wp-block-paragraph">JOIN関数で発生しやすいエラーと落とし穴をまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー・症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>区切り文字が連続する（&#8221;, ,&#8221;）</td><td>空白セルが含まれている</td><td>TEXTJOIN関数に切り替えて第2引数をTRUEに</td></tr><tr><td>#N/A エラー</td><td>FILTER関数が条件に合うデータを見つけられない</td><td>FILTER結果をIFERROR関数で囲む</td></tr><tr><td>#VALUE! エラー</td><td>第2引数以降を指定していない</td><td>結合対象を必ず1つ以上指定</td></tr><tr><td>数値がシリアル値になる</td><td>日付セルをそのまま渡した</td><td>TEXT関数で書式変換してから結合</td></tr><tr><td>結果が空になる</td><td>指定範囲のセルがすべて空</td><td>データの入力範囲を確認する</td></tr><tr><td>改行が表示されない</td><td>CHAR(10)を使ったが折り返し未設定</td><td>表示形式→折り返し→「折り返す」を設定</td></tr><tr><td>文字化けする</td><td>タブやNULL文字が混じる</td><td>CLEAN関数でクリーンアップしてから結合</td></tr><tr><td>パフォーマンスが劣化</td><td>大量行（1万以上）を一気に処理</td><td>QUERY/FILTERで事前に絞り込む</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">いちばん多いのが「区切り文字が連続する」ケースです。JOIN関数には空白セルをスキップする機能がありません。データに空白が混じるときはTEXTJOIN関数を使ってくださいね。</p>



<h3 class="wp-block-heading"><span id="toc30">FILTER結果が空になるときの対処（サンプル）</span></h3>



<p class="wp-block-paragraph">条件に一致するデータがないとFILTERは <code>#N/A</code> を返します。JOINの外側でIFERRORを使うのが定番です。</p>



<pre class="wp-block-code"><code>=IFERROR(JOIN(&quot;, &quot;, FILTER(A2:A100, B2:B100=&quot;広報部&quot;)), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">同じ要領でIFNA関数を使ってもOKです。</p>



<pre class="wp-block-code"><code>=IFNA(JOIN(&quot;, &quot;, FILTER(A2:A100, B2:B100=&quot;広報部&quot;)), &quot;該当なし&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc31">日付書式を保持するサンプル</span></h3>



<p class="wp-block-paragraph">日付セルをそのまま渡すと、内部のシリアル値（例: 46021）が結合されてしまいます。TEXT関数で書式変換してから渡しましょう。</p>



<pre class="wp-block-code"><code>=JOIN(&quot; / &quot;, TEXT(A1:A3, &quot;yyyy/mm/dd&quot;))
→ 「2026/03/21 / 2026/03/22 / 2026/03/23」</code></pre>



<p class="wp-block-paragraph">TEXT関数に配列を渡すときはARRAYFORMULAを挟むと安定する場面があります。動かないときは <code>=ARRAYFORMULA(JOIN(" / ", TEXT(A1:A3, "yyyy/mm/dd")))</code> を試してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc32">パフォーマンス劣化への対処</span></h3>



<p class="wp-block-paragraph">1万行を超えるような大きな範囲をJOINで処理すると、数式の再計算が遅くなります。事前にFILTERやQUERYで範囲を絞り込む、あるいは必要な範囲だけを引数に渡すのが基本です。</p>



<pre class="wp-block-code"><code># NG: 広すぎる範囲を全部渡す
=JOIN(&quot;, &quot;, A1:A10000)

# OK: 必要な条件で絞ってから渡す
=JOIN(&quot;, &quot;, FILTER(A1:A10000, B1:B10000=&quot;対象&quot;))</code></pre>



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



<p class="wp-block-paragraph">スプレッドシートのJOIN関数の使い方を振り返りましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>読み方</td><td>ジョイン</td></tr><tr><td>機能</td><td>配列やセル範囲を区切り文字で結合して1つの文字列にする</td></tr><tr><td>構文</td><td>=JOIN(区切り文字, 値または配列1, [値または配列2, &#8230;])</td></tr><tr><td>TEXTJOIN との違い</td><td>JOINは空白スキップ機能なし。シンプルな引数構造</td></tr><tr><td>対になる関数</td><td>SPLIT（分割）</td></tr><tr><td>注意点</td><td>Excelには非搭載（スプレッドシート独自関数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">配列やFILTER関数の結果を手早くテキストにまとめたいなら、JOINがいちばんシンプルです。区切り文字ひとつを指定するだけで、カンマ区切りリストもセル内改行も自在に作れますよ。</p>



<p class="wp-block-paragraph">空白セルが混じるデータには<a href="https://mashukabu.com/spreadsheet-textjoin-function/">TEXTJOIN関数</a>、逆に文字列を分割したいときは<a href="https://mashukabu.com/spreadsheet-split-function/">SPLIT関数</a>も合わせてチェックしてみてください。区切り文字なしで単純に結合したい場合は<a href="https://mashukabu.com/spreadsheet-concat-function/">CONCAT関数</a>や<a href="https://mashukabu.com/spreadsheet-concatenate-function/">CONCATENATE関数</a>もおすすめです。</p>



<p class="wp-block-paragraph">JOIN・TEXTJOIN・SPLIT・CONCATの4つをセットで覚えれば、スプレッドシートでの文字列操作はほぼカバーできます。用途に合わせて使い分けてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-join-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのSIGN関数で正負判定｜損益分類・矢印表示・ABS関数との組み合わせまで</title>
		<link>https://mashukabu.com/spreadsheet-sign-function/</link>
					<comments>https://mashukabu.com/spreadsheet-sign-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:30:32 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ABS関数]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[CHOOSE関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[SIGN関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[損益分析]]></category>
		<category><![CDATA[数学関数]]></category>
		<category><![CDATA[正負判定]]></category>
		<category><![CDATA[符号判定]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4763</guid>

					<description><![CDATA[スプレッドシートのSIGN関数で数値の符号（正・負・ゼロ）を判定する方法を徹底解説。基本構文から損益の自動分類・前月比の矢印表示・ABS関数を組み合わせた符号保持の丸め処理・ARRAYFORMULAによる一括判定まで、実務でそのまま使える6パターンを早見表とサンプル付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">売上の増減や在庫の過不足を一覧表で管理していると、「この数値はプラスなのかマイナスなのか」をパッと見分けたい場面ってありますよね。たとえば月次の損益表で黒字・赤字を自動分類したいときや、前月比に「▲」「▼」の矢印を付けたいときです。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>で条件分岐を書く方法もありますが、正・負・ゼロの3パターンを判定するにはIFのネストが必要です。式が長くなって、後から見たときに読みづらいですよね。</p>



<p class="wp-block-paragraph">そんなときに便利なのが <strong>SIGN関数</strong> です。数値を1つ渡すだけで、正なら「1」、負なら「-1」、ゼロなら「0」を返してくれます。1, -1, 0 という数値が返るのがポイントで、<a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>や<a href="https://mashukabu.com/spreadsheet-abs-function/">ABS関数</a>と組み合わせると、IF関数では書きにくい処理がスッキリ書けます。</p>



<p class="wp-block-paragraph">この記事ではSIGN関数の基本構文から、損益の自動分類・前月比の矢印表示・ABS関数を組み合わせた符号保持の丸め処理・<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>による一括判定まで、実務でそのまま使える6パターンを早見表付きで紹介します。エラー対処やExcelとの違いも整理しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-9" checked><label class="toc-title" for="toc-checkbox-9">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのSIGN関数とは？符号判定の基本</a><ol><li><a href="#toc2" tabindex="0">SIGN関数で何ができる？</a></li></ol></li><li><a href="#toc3" tabindex="0">SIGN関数の構文と引数</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li><li><a href="#toc6" tabindex="0">戻り値の早見表</a></li></ol></li><li><a href="#toc7" tabindex="0">SIGN関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">数値を直接渡す</a></li><li><a href="#toc9" tabindex="0">セル参照を使う</a></li><li><a href="#toc10" tabindex="0">数式の結果に対して使う</a></li><li><a href="#toc11" tabindex="0">基本パターンの早見表</a></li></ol></li><li><a href="#toc12" tabindex="0">実務でのSIGN関数活用パターン6選</a><ol><li><a href="#toc13" tabindex="0">パターン1: 損益を「黒字／赤字／収支ゼロ」に自動分類する</a></li><li><a href="#toc14" tabindex="0">パターン2: 前月比の増減方向を矢印で表示する（CHOOSEとの組み合わせ）</a></li><li><a href="#toc15" tabindex="0">パターン3: 前月比に増減ラベルを付ける（CHOOSEとの組み合わせ・文字版）</a></li><li><a href="#toc16" tabindex="0">パターン4: 符号別に件数や合計を集計する（SUMPRODUCTとの組み合わせ）</a></li><li><a href="#toc17" tabindex="0">パターン5: 符号を保持したまま端数を丸める（ABSとの組み合わせ）</a></li><li><a href="#toc18" tabindex="0">パターン6: ARRAYFORMULAで列全体を一括判定する</a></li></ol></li><li><a href="#toc19" tabindex="0">SIGN関数とABS関数は「方向」と「大きさ」のペア</a><ol><li><a href="#toc20" tabindex="0">符号を保持したまま上限を設定する</a></li><li><a href="#toc21" tabindex="0">符号を反転させる（マイナス符号を付ける）</a></li></ol></li><li><a href="#toc22" tabindex="0">SIGN関数のよくあるエラーと対処法</a><ol><li><a href="#toc23" tabindex="0">文字列が混在しているとき（#VALUE!対策）</a></li><li><a href="#toc24" tabindex="0">空白セルと「本当の0」を区別したいとき</a></li></ol></li><li><a href="#toc25" tabindex="0">SIGN関数と似た関数の使い分け</a><ol><li><a href="#toc26" tabindex="0">SIGN関数とIF関数の使い分け</a></li><li><a href="#toc27" tabindex="0">SIGN関数とABS関数の使い分け</a></li></ol></li><li><a href="#toc28" tabindex="0">SIGN関数のよくある質問（FAQ）</a></li><li><a href="#toc29" tabindex="0">ExcelのSIGN関数との違い</a></li><li><a href="#toc30" tabindex="0">まとめ：SIGN関数で符号判定をスッキリ書こう</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのSIGN関数とは？符号判定の基本</span></h2>



<p class="wp-block-paragraph">SIGN関数（読み方: サイン関数）は、<strong>数値の符号（正・負・ゼロ）を判定する関数</strong>です。名前は英語の「sign（符号・記号）」がそのまま由来になっています。</p>



<p class="wp-block-paragraph">引数に数値を1つ渡すと、次の3つのいずれかが返ります。</p>



<ul class="wp-block-list"><li>正の数 → <strong>1</strong></li><li>負の数 → <strong>-1</strong></li><li>ゼロ → <strong>0</strong></li></ul>



<p class="wp-block-paragraph">数値の「大きさ」ではなく「方向」だけを取り出す関数、と覚えるとイメージしやすいです。たとえば <code>=SIGN(1000)</code> も <code>=SIGN(0.001)</code> もどちらも結果は「1」で、値の大小は関係ありません。</p>



<h3 class="wp-block-heading"><span id="toc2">SIGN関数で何ができる？</span></h3>



<p class="wp-block-paragraph">SIGN関数が活躍するのは、おもに次のような場面です。</p>



<ul class="wp-block-list"><li>月次の損益を「黒字」「赤字」「収支ゼロ」に自動分類したいとき</li><li>前月比に「▲」「▼」の矢印記号を付けて視覚化したいとき</li><li>売上の増減方向だけを集計（プラスの件数・マイナスの件数）したいとき</li><li><a href="https://mashukabu.com/spreadsheet-abs-function/">ABS関数</a>と組み合わせて「大きさだけ丸めて、符号は元のまま」という処理をしたいとき</li><li><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>のネストを書きたくないとき</li></ul>



<p class="wp-block-paragraph">NOTE: SIGN関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りで結果がずれる心配はありません。Excel版の詳しい解説は <a href="https://mashukabu.com/excel-function-howto-use-sign/">ExcelのSIGN関数の使い方</a> もあわせてご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc3">SIGN関数の構文と引数</span></h2>



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



<pre class="wp-block-code"><code>=SIGN(値)</code></pre>



<p class="wp-block-paragraph">カッコの中に「符号を判定したい数値」を1つ入れるだけです。引数は1つだけなのでとてもシンプルですね。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>符号を判定したい数値、セル参照、または数式</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">結果は必ず「1」「-1」「0」のいずれかになります。それ以外の値は返りません。</p>



<h3 class="wp-block-heading"><span id="toc6">戻り値の早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>戻り値</th><th>意味</th></tr></thead><tbody><tr><td>正の整数（例: 100）</td><td>1</td><td>正の数</td></tr><tr><td>正の小数（例: 0.001）</td><td>1</td><td>正の数</td></tr><tr><td>負の整数（例: -50）</td><td>-1</td><td>負の数</td></tr><tr><td>負の小数（例: -0.5）</td><td>-1</td><td>負の数</td></tr><tr><td>ゼロ（0）</td><td>0</td><td>ゼロ</td></tr><tr><td>空白セル</td><td>0</td><td>空白は数値の0として扱われる</td></tr><tr><td>文字列（例: &#8220;abc&#8221;）</td><td>#VALUE!</td><td>エラー</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「正の数はすべて1、負の数はすべて-1」というのが基本ルールです。値の大小は結果に影響しません。</p>



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



<h3 class="wp-block-heading"><span id="toc8">数値を直接渡す</span></h3>



<p class="wp-block-paragraph">リテラル（数値そのもの）を渡すパターンです。動作確認や入門用に使います。</p>



<pre class="wp-block-code"><code>=SIGN(10)      → 1
=SIGN(-10)     → -1
=SIGN(0)       → 0
=SIGN(3.14)    → 1
=SIGN(-0.001)  → -1</code></pre>



<p class="wp-block-paragraph">正の数はすべて「1」、負の数はすべて「-1」、ゼロは「0」が返るのがわかりますね。</p>



<h3 class="wp-block-heading"><span id="toc9">セル参照を使う</span></h3>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<p class="wp-block-paragraph">実務ではセル参照を使うケースがほとんどです。A2セルに数値が入っているとします。</p>



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



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_sign-basic.png" alt="02 formula sign basic" /></figure>



<p class="wp-block-paragraph">セル参照にしておけば、A2の値が変わっても自動で判定結果が更新されます。一覧表でフィルダウン（下方向にコピー）すれば、列全体に対して符号判定ができますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">数式の結果に対して使う</span></h3>



<p class="wp-block-paragraph">引数には数式を直接書くこともできます。たとえば「B2とC2の差の符号」を判定するパターンです。</p>



<pre class="wp-block-code"><code>=SIGN(B2-C2)</code></pre>



<p class="wp-block-paragraph">B2が「80」、C2が「100」なら、B2-C2は「-20」になります。SIGN関数で「-1」が返ります。前月比や差分の方向判定でよく使うパターンです。</p>



<h3 class="wp-block-heading"><span id="toc11">基本パターンの早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>意味</th></tr></thead><tbody><tr><td><code>=SIGN(100)</code></td><td>1</td><td>正の数</td></tr><tr><td><code>=SIGN(-50)</code></td><td>-1</td><td>負の数</td></tr><tr><td><code>=SIGN(0)</code></td><td>0</td><td>ゼロ</td></tr><tr><td><code>=SIGN(A2)</code></td><td>1, -1, 0 のいずれか</td><td>セル参照</td></tr><tr><td><code>=SIGN(B2-C2)</code></td><td>1, -1, 0 のいずれか</td><td>差分の符号</td></tr><tr><td><code>=SIGN(SUM(A2:A10))</code></td><td>1, -1, 0 のいずれか</td><td>合計の符号</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_sign-basic.png" alt="03 result sign basic" /></figure>



<h2 class="wp-block-heading"><span id="toc12">実務でのSIGN関数活用パターン6選</span></h2>



<p class="wp-block-paragraph">ここからは、実務でよく使うSIGN関数の活用パターンを紹介します。「ラベル表示」「矢印表示」「条件付き集計」「符号保持の数値加工」など、IF関数だけでは書きにくい処理がSIGN関数を使うとスッキリ書けますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン1: 損益を「黒字／赤字／収支ゼロ」に自動分類する</span></h3>



<p class="wp-block-paragraph">月ごとの損益額を3パターンのラベルに自動分類するパターンです。B2セルに損益額が入っているとします。</p>



<pre class="wp-block-code"><code>=IF(SIGN(B2)=1, &quot;黒字&quot;, IF(SIGN(B2)=-1, &quot;赤字&quot;, &quot;収支ゼロ&quot;))</code></pre>



<p class="wp-block-paragraph">SIGN関数の結果（1, -1, 0）を<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>で判定して、ラベルを付けています。</p>



<p class="wp-block-paragraph">TIP: IF関数だけで書くと <code>=IF(B2>0, "黒字", IF(B2<0, "赤字", "収支ゼロ"))</code> です。この場合はIF関数のほうがシンプルですね。SIGN関数の真価は、次に紹介するCHOOSE関数やABS関数との組み合わせ、数値計算に符号を活用する場面で発揮されます。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン2: 前月比の増減方向を矢印で表示する（CHOOSEとの組み合わせ）</span></h3>



<p class="wp-block-paragraph">売上の前月比をもとに「▲（増加）」「−（変動なし）」「▼（減少）」の矢印を表示するパターンです。ダッシュボードや報告資料でよく使います。</p>



<pre class="wp-block-code"><code>=CHOOSE(SIGN(C2-B2)+2, &quot;▼&quot;, &quot;−&quot;, &quot;▲&quot;)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_sign-choose-arrow.png" alt="04 result sign choose arrow" /></figure>



<p class="wp-block-paragraph">仕組みはこうです。</p>



<ol class="wp-block-list"><li><code>C2-B2</code> で前月比を計算</li><li><code>SIGN(...)</code> で -1, 0, 1 のいずれかに変換</li><li><code>+2</code> を足して 1, 2, 3 に変換</li><li><a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>で1番目="▼"、2番目="−"、3番目="▲"を取り出す</li></ol>



<p class="wp-block-paragraph">CHOOSE関数は引数の番号（1から始まる整数）に対応する値を返す関数です。SIGN関数で必ず -1, 0, 1 が返ることを利用して、3パターンの分岐を1行でスッキリ書けます。IF関数のネストよりも読みやすいのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン3: 前月比に増減ラベルを付ける（CHOOSEとの組み合わせ・文字版）</span></h3>



<p class="wp-block-paragraph">矢印ではなく、文字でラベルを付けたい場合も同じパターンが使えます。</p>



<pre class="wp-block-code"><code>=CHOOSE(SIGN(C2-B2)+2, &quot;減少&quot;, &quot;変動なし&quot;, &quot;増加&quot;)</code></pre>



<p class="wp-block-paragraph">CHOOSE関数の引数を文字ラベルに差し替えるだけです。社内資料では文字ラベル、ダッシュボードでは矢印、と使い分けると見やすくなります。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン4: 符号別に件数や合計を集計する（SUMPRODUCTとの組み合わせ）</span></h3>



<p class="wp-block-paragraph">データの中から「プラスの値だけ」「マイナスの値だけ」を集計したいケースです。B2:B10に金額が入っているとします。</p>



<p class="wp-block-paragraph">正の値だけ合計するパターン:</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((SIGN(B2:B10)=1)*B2:B10)</code></pre>



<p class="wp-block-paragraph">負の値だけ合計するパターン:</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((SIGN(B2:B10)=-1)*B2:B10)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-sumproduct-function/">SUMPRODUCT関数</a>で「SIGNの結果が1（または-1）の行だけ」を条件にして掛け合わせ、合計しています。SUMIFよりも柔軟に条件を書けるので、複合条件の集計でも使えるパターンです。</p>



<p class="wp-block-paragraph">件数だけ知りたい場合は、掛け算する値を1にします。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((SIGN(B2:B10)=1)*1)   → プラスの件数
=SUMPRODUCT((SIGN(B2:B10)=-1)*1)  → マイナスの件数</code></pre>



<h3 class="wp-block-heading"><span id="toc17">パターン5: 符号を保持したまま端数を丸める（ABSとの組み合わせ）</span></h3>



<p class="wp-block-paragraph">金額の端数を丸めつつ、プラス・マイナスの符号はそのまま残したいパターンです。A2に金額が入っているとします。</p>



<pre class="wp-block-code"><code>=SIGN(A2) * ROUNDDOWN(ABS(A2), -2)</code></pre>



<p class="wp-block-paragraph">A2が「-1,234」の場合の動きを追ってみましょう。</p>



<ol class="wp-block-list"><li><code>ABS(A2)</code> で絶対値「1,234」に変換</li><li><a href="https://mashukabu.com/spreadsheet-rounddown-function/">ROUNDDOWN関数</a>で百の位で切り捨てて「1,200」</li><li><code>SIGN(A2)</code> の「-1」を掛けて「-1,200」</li></ol>



<p class="wp-block-paragraph">A2が「1,234」の場合も同じ式で「1,200」になります。符号に関係なく同じ丸め処理が適用されるのがポイントです。普通に <code>=ROUNDDOWN(A2, -2)</code> と書くと、負の数の場合に「ゼロ方向」と「マイナス方向」のどちらに丸めるかで結果がずれることがあります。SIGN×ABSの組み合わせなら、必ず「絶対値が小さくなる方向」に丸まります。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン6: ARRAYFORMULAで列全体を一括判定する</span></h3>



<p class="wp-block-paragraph">スプレッドシート特有の機能、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>と組み合わせると、1つの数式で列全体を一括判定できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(SIGN(B2:B100))</code></pre>



<p class="wp-block-paragraph">この1行で、B2からB100までの符号判定を一気に行えます。フィルダウンする必要がなく、データ行が増減しても自動追従するのがメリットです。</p>



<p class="wp-block-paragraph">矢印表示と組み合わせるなら次のように書きます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B100=&quot;&quot;, &quot;&quot;, CHOOSE(SIGN(B2:B100)+2, &quot;▼&quot;, &quot;−&quot;, &quot;▲&quot;)))</code></pre>



<p class="wp-block-paragraph"><code>IF(B2:B100="", "", ...)</code> で空白行は空白のまま残し、データがある行だけ矢印を表示しています。これでフォーム回答や追加データにも自動対応するダッシュボードが作れますよ。</p>



<h2 class="wp-block-heading"><span id="toc19">SIGN関数とABS関数は「方向」と「大きさ」のペア</span></h2>



<p class="wp-block-paragraph">SIGN関数とABS関数は、数値を扱う上で対になる関数です。役割を整理しておくと、組み合わせ技が理解しやすくなります。</p>



<ul class="wp-block-list"><li><strong>SIGN関数</strong>: 数値の「方向」（符号）を取り出す → 1, -1, 0</li><li><strong><a href="https://mashukabu.com/spreadsheet-abs-function/">ABS関数</a></strong>: 数値の「大きさ」（絶対値）を取り出す → 常に0以上</li></ul>



<p class="wp-block-paragraph">この2つを掛け合わせると、元の数値を復元できます。</p>



<pre class="wp-block-code"><code>=ABS(-15) * SIGN(-15)   → 15 × (-1) = -15
=ABS(15)  * SIGN(15)    → 15 × 1    = 15
=ABS(0)   * SIGN(0)     → 0  × 0    = 0</code></pre>



<p class="wp-block-paragraph">つまり <code>ABS(x) × SIGN(x) = x</code> という関係が常に成り立ちます。この性質を使うと「大きさだけを加工して、符号は元のまま」という処理がきれいに書けます。</p>



<h3 class="wp-block-heading"><span id="toc20">符号を保持したまま上限を設定する</span></h3>



<p class="wp-block-paragraph">値の絶対値に上限を設けつつ、符号はそのまま残したいパターンです。</p>



<pre class="wp-block-code"><code>=SIGN(A2) * MIN(ABS(A2), 1000)</code></pre>



<p class="wp-block-paragraph">A2が「-1,500」なら、動きはこうです。</p>



<ol class="wp-block-list"><li><code>ABS(A2)</code> で絶対値「1,500」</li><li><a href="https://mashukabu.com/spreadsheet-min-function/">MIN関数</a>で上限1,000に制限して「1,000」</li><li><code>SIGN(A2)</code> の「-1」を掛けて「-1,000」</li></ol>



<p class="wp-block-paragraph">A2が「1,500」なら「1,000」、A2が「-500」なら「-500」（上限を超えていないのでそのまま）になります。ポイント還元の上限処理や、損益のキャップ計算で使えるパターンです。</p>



<h3 class="wp-block-heading"><span id="toc21">符号を反転させる（マイナス符号を付ける）</span></h3>



<p class="wp-block-paragraph">たとえば「常に負の値として扱いたい」場合は、SIGN関数を使わずに <code>-ABS(A2)</code> と書くのが簡単です。逆に「常に正の値として扱いたい」なら <code>ABS(A2)</code> だけでOKです。SIGN関数を使うのは、あくまで「元の符号を保持したい」場合ですね。</p>



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



<p class="wp-block-paragraph">SIGN関数は引数1つのシンプルな関数ですが、エラーが出ることもあります。原因と対処法を整理しておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー・現象</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>引数に文字列が入っている</td><td>セル参照先が数値かどうか確認する。<a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a>で事前チェック</td></tr><tr><td>#ERROR!</td><td>構文ミス（カッコ忘れ、引数なし等）</td><td>数式の入力内容を見直す</td></tr><tr><td>#N/A</td><td>引数がエラー値（VLOOKUP等のエラー結果）</td><td>元のエラーを先に解決する</td></tr><tr><td>常に0が返る</td><td>空白セルを参照している</td><td>空白セルは0として扱われるため正常動作。未入力と区別したい場合は下記参照</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">文字列が混在しているとき（#VALUE!対策）</span></h3>



<p class="wp-block-paragraph">SIGN関数に文字列を渡すと#VALUE!エラーになります。</p>



<pre class="wp-block-code"><code>=SIGN(&quot;abc&quot;)   → #VALUE!
=SIGN(&quot;100&quot;)   → 1（文字列でも数値に変換できれば動く）</code></pre>



<p class="wp-block-paragraph">「100」のように数値として解釈できる文字列はエラーになりません。一方で「abc」のような純粋な文字列はエラーです。セル参照先に文字列が混じる可能性があるときは、<a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a>で事前にチェックすると安全です。</p>



<pre class="wp-block-code"><code>=IF(ISNUMBER(A1), SIGN(A1), &quot;数値を入力してください&quot;)</code></pre>



<p class="wp-block-paragraph">IFERROR関数で囲んでエラーを隠す方法もありますが、原因の特定が遅れるのでおすすめしません。事前チェックのほうが安全ですよ。</p>



<h3 class="wp-block-heading"><span id="toc24">空白セルと「本当の0」を区別したいとき</span></h3>



<p class="wp-block-paragraph">SIGN関数に空白セルを渡すと「0」が返ります。これは空白セルが数値の「0」として扱われるためで、エラーではありません。</p>



<p class="wp-block-paragraph">ただし「データが未入力なのか、本当にゼロなのか」を区別したいケースもあります。その場合はIF関数で事前に空白判定を入れます。</p>



<pre class="wp-block-code"><code>=IF(A1=&quot;&quot;, &quot;未入力&quot;, SIGN(A1))</code></pre>



<p class="wp-block-paragraph">これで未入力のセルには「未入力」、数値が入っているセルには SIGN関数の結果（1, -1, 0）が返ります。</p>



<h2 class="wp-block-heading"><span id="toc25">SIGN関数と似た関数の使い分け</span></h2>



<p class="wp-block-paragraph">符号判定や条件分岐に使える関数は他にもあります。SIGN関数とどう使い分けるか整理しておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動作</th><th>引数</th><th>戻り値</th><th>SIGN関数との違い</th></tr></thead><tbody><tr><td><strong>SIGN</strong></td><td><strong>符号を判定する</strong></td><td><strong>1つ</strong></td><td><strong>1, 0, -1 のいずれか</strong></td><td><strong>本記事の主役</strong></td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-abs-function/">ABS</a></td><td>絶対値を返す</td><td>1つ</td><td>常に0以上の数値</td><td>「大きさ」を取り出す。SIGNの対になる関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-if-function/">IF</a></td><td>条件で分岐する</td><td>3つ</td><td>条件に応じた値</td><td>ラベル表示はIFが読みやすい</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE</a></td><td>番号で値を選ぶ</td><td>2つ以上</td><td>選ばれた値</td><td>SIGN+2と組み合わせて3パターン分岐</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER</a></td><td>数値かを判定</td><td>1つ</td><td>TRUE/FALSE</td><td>符号ではなく型をチェック</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">SIGN関数とIF関数の使い分け</span></h3>



<p class="wp-block-paragraph">SIGN関数の結果は、IF関数で書くと次のようになります。</p>



<pre class="wp-block-code"><code>=IF(A1&gt;0, 1, IF(A1&lt;0, -1, 0))</code></pre>



<p class="wp-block-paragraph">この式は <code>=SIGN(A1)</code> と完全に同じ結果です。</p>



<p class="wp-block-paragraph">ラベル（「黒字」「赤字」等）を表示したい場合は <strong>IF関数</strong> が読みやすいです。符号の数値（1, -1, 0）をそのまま計算に使いたい、または <strong>CHOOSE関数</strong> と組み合わせて3パターン分岐したい場合は <strong>SIGN関数</strong> がシンプルですよ。</p>



<h3 class="wp-block-heading"><span id="toc27">SIGN関数とABS関数の使い分け</span></h3>



<p class="wp-block-paragraph">ABS関数は「大きさ」、SIGN関数は「方向」を取り出します。</p>



<pre class="wp-block-code"><code>=ABS(-5)   → 5（大きさ）
=SIGN(-5)  → -1（方向）</code></pre>



<p class="wp-block-paragraph">「大きさだけ知りたい」ならABS関数、「方向だけ知りたい」ならSIGN関数です。両方組み合わせれば元の値を復元できる、というのが2つの関数の関係です。</p>



<h2 class="wp-block-heading"><span id="toc28">SIGN関数のよくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph"><strong>Q1. SIGN関数とIF関数、どちらを使えばいい？</strong></p>



<p class="wp-block-paragraph">A. ラベル（「黒字」「赤字」など）を表示したい場合は<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>が読みやすいです。符号の数値（1, -1, 0）を計算に使いたい、または<a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>で3パターン分岐したい場合はSIGN関数が向いています。</p>



<p class="wp-block-paragraph"><strong>Q2. SIGN関数で空白セルを渡すと何が返る？</strong></p>



<p class="wp-block-paragraph">A. 「0」が返ります。空白セルは数値の0として扱われるためです。未入力と0を区別したい場合は <code>=IF(A1="", "未入力", SIGN(A1))</code> のように事前確認を入れます。</p>



<p class="wp-block-paragraph"><strong>Q3. ABS関数とSIGN関数をかけると元の値に戻る？</strong></p>



<p class="wp-block-paragraph">A. はい、<code>=ABS(A1) * SIGN(A1)</code> は元の値と同じになります。<code>ABS(x) × SIGN(x) = x</code> という関係が常に成り立ちます。この性質を利用して「大きさだけ加工して符号はそのまま」という処理が書けます。</p>



<p class="wp-block-paragraph"><strong>Q4. SIGN関数の結果を矢印（▲▼）に変換するベストな書き方は？</strong></p>



<p class="wp-block-paragraph">A. <code>=CHOOSE(SIGN(A1)+2, "▼", "−", "▲")</code> が一番スッキリ書けます。SIGN関数の結果(-1, 0, 1)に2を足すと(1, 2, 3)になるので、<a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>の引数番号にちょうど対応します。</p>



<p class="wp-block-paragraph"><strong>Q5. SIGN関数を列全体に一気に適用したい</strong></p>



<p class="wp-block-paragraph">A. <a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>を使います。<code>=ARRAYFORMULA(SIGN(B2:B100))</code> と書けば、フィルダウン不要で範囲全体を一括判定できます。</p>



<p class="wp-block-paragraph"><strong>Q6. 文字列が混じった列でもSIGN関数を使いたい</strong></p>



<p class="wp-block-paragraph">A. <a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER関数</a>で事前チェックします。<code>=IF(ISNUMBER(A1), SIGN(A1), "")</code> のように書けば、文字列のセルではエラーを返さず空白を表示できます。</p>



<h2 class="wp-block-heading"><span id="toc29">ExcelのSIGN関数との違い</span></h2>



<p class="wp-block-paragraph">SIGN関数はExcelとGoogleスプレッドシートで<strong>完全に同じ動作</strong>です。引数名の表記が若干違うだけで、機能差はありません。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>構文</td><td><code>=SIGN(数値)</code></td><td><code>=SIGN(値)</code></td></tr><tr><td>動作</td><td>符号を判定する</td><td>符号を判定する</td></tr><tr><td>正の数</td><td>1</td><td>1</td></tr><tr><td>負の数</td><td>-1</td><td>-1</td></tr><tr><td>ゼロ</td><td>0</td><td>0</td></tr><tr><td>空白セル</td><td>0</td><td>0</td></tr><tr><td>文字列</td><td>#VALUE!</td><td>#VALUE!</td></tr><tr><td>ARRAYFORMULA対応</td><td>不要（スピル対応）</td><td>必要（ARRAYFORMULA）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ファイルを共有しても判定結果がずれることはありません。ARRAYFORMULAの扱いだけ違うので、Excelから移行した場合は「列全体への適用は ARRAYFORMULA で囲む」というポイントを押さえておくと安心です。</p>



<p class="wp-block-paragraph">Excel版の詳しい解説は <a href="https://mashukabu.com/excel-function-howto-use-sign/">ExcelのSIGN関数の使い方</a> をご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc30">まとめ：SIGN関数で符号判定をスッキリ書こう</span></h2>



<p class="wp-block-paragraph">SIGN関数は、数値の符号（正・負・ゼロ）を判定する1引数のシンプルな関数です。ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=SIGN(値)</code>。正なら<strong>1</strong>、負なら<strong>-1</strong>、ゼロなら<strong>0</strong>を返す</li><li>ラベル表示は<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>、3パターン分岐は <strong>SIGN+<a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE</a></strong> がスッキリ</li><li>前月比の矢印表示は <code>=CHOOSE(SIGN(C2-B2)+2, "▼", "−", "▲")</code> が定番</li><li>符号別の集計は <strong>SIGN+<a href="https://mashukabu.com/spreadsheet-sumproduct-function/">SUMPRODUCT</a></strong> で柔軟に書ける</li><li><a href="https://mashukabu.com/spreadsheet-abs-function/">ABS関数</a>とは「方向と大きさ」のペア。<code>ABS(x) × SIGN(x) = x</code> で元の値を復元できる</li><li>「符号を保持したまま丸める／上限を設ける」処理は <strong>SIGN×ABS</strong> の組み合わせが定石</li><li>列全体への適用は<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>で1行化できる</li></ul>



<p class="wp-block-paragraph">まずは <code>=SIGN(A2)</code> でセルの符号を判定するところから試して、慣れてきたらCHOOSE関数やABS関数との組み合わせに挑戦してみてください。IF関数のネストを書く前に「SIGNで書けないか？」と発想を切り替えるだけで、数式の見通しがグッと良くなりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-sign-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのSWITCH関数の使い方｜ケース分岐をIFネストよりスッキリ書く実務7パターン</title>
		<link>https://mashukabu.com/spreadsheet-switch-function/</link>
					<comments>https://mashukabu.com/spreadsheet-switch-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:30:00 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[CHOOSE関数]]></category>
		<category><![CDATA[IFS関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[SWITCH関数]]></category>
		<category><![CDATA[ステータス変換]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[完全一致]]></category>
		<category><![CDATA[条件分岐]]></category>
		<category><![CDATA[部署コード変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4751</guid>

					<description><![CDATA[スプレッドシートのSWITCH関数で「部署コード→部署名」「ステータスコード→ラベル」のような完全一致のケース分岐をスッキリ書く方法を徹底解説。基本構文から、曜日変換・進捗ラベル・配列対応・既定値の設定・ARRAYFORMULAでの一括判定まで実務7パターンを早見表とサンプル付きで紹介。IF/IFS/CHOOSE関数との使い分けや#N/A・#VALUE!エラーの対処法もまとめます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「部署コードを部署名に変換したい」「ステータスコードに応じてラベルを出し分けたい」。スプレッドシートの一覧表でよくある作業ですよね。こんなときに <a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a> のネストで書くと、条件が増えるたびに括弧が深くなって、後から修正するのも一苦労です。</p>



<p class="wp-block-paragraph">そんなときに便利なのが <strong>SWITCH関数</strong> です。判定したい値と、それに対する結果をペアで並べていくだけで、IFネストよりずっと読みやすいケース分岐が書けます。プログラミングの<code>switch</code>文と同じ発想なので、エンジニア出身の方には馴染みのある関数ですね。</p>



<p class="wp-block-paragraph">この記事ではSWITCH関数の基本構文から、部署コード変換・曜日名変換・進捗ラベル表示・<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>による一括判定など、実務でそのまま使える7パターンを早見表付きで紹介します。<code>#N/A</code>や<code>#VALUE!</code>エラーの対処法、<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>・<a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a>・<a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a>との使い分けまで整理しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのSWITCH関数とは？値の完全一致でケース分岐する関数</a><ol><li><a href="#toc2" tabindex="0">SWITCH関数で何ができる？</a></li></ol></li><li><a href="#toc3" tabindex="0">SWITCH関数の構文と引数</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li><li><a href="#toc6" tabindex="0">SWITCH関数の動作イメージ早見表</a></li></ol></li><li><a href="#toc7" tabindex="0">SWITCH関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">文字列のコードでケース分岐する</a></li><li><a href="#toc9" tabindex="0">数値のコードでケース分岐する</a></li><li><a href="#toc10" tabindex="0">数式の結果に対してケース分岐する</a></li><li><a href="#toc11" tabindex="0">基本パターンの早見表</a></li></ol></li><li><a href="#toc12" tabindex="0">実務で使えるSWITCH関数の活用パターン7選</a><ol><li><a href="#toc13" tabindex="0">パターン1: 部署コードから部署名を自動変換する（総務・人事向け）</a></li><li><a href="#toc14" tabindex="0">パターン2: 申請ステータスを処理コメントに変換する</a></li><li><a href="#toc15" tabindex="0">パターン3: 曜日番号を日本語の曜日名に変換する</a></li><li><a href="#toc16" tabindex="0">パターン4: 進捗ステータスコードを日本語ラベルに変換する（タスク管理向け）</a></li><li><a href="#toc17" tabindex="0">パターン5: 範囲条件の代用としてTRUEパターンで使う（IFSの代わり）</a></li><li><a href="#toc18" tabindex="0">パターン6: 既定値で「該当なし」「未分類」を必ず返すようにする</a></li><li><a href="#toc19" tabindex="0">パターン7: ARRAYFORMULAで列全体を一括変換する（Sheets限定）</a></li></ol></li><li><a href="#toc20" tabindex="0">SWITCH関数のよくあるエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">#N/Aエラー（一致する値がない）の対処法</a></li><li><a href="#toc22" tabindex="0">#VALUE!エラー（引数が不正）の対処法</a></li><li><a href="#toc23" tabindex="0">全角・半角の不一致に注意</a></li><li><a href="#toc24" tabindex="0">文字列と数値の混在に注意</a></li></ol></li><li><a href="#toc25" tabindex="0">SWITCH関数と似た関数の使い分け</a><ol><li><a href="#toc26" tabindex="0">IFネスト→SWITCH関数への書き換え（Before/After）</a></li><li><a href="#toc27" tabindex="0">SWITCH関数とIFS関数の使い分け</a></li><li><a href="#toc28" tabindex="0">SWITCH関数とCHOOSE関数の使い分け</a></li><li><a href="#toc29" tabindex="0">SWITCH関数とVLOOKUP関数の使い分け</a></li></ol></li><li><a href="#toc30" tabindex="0">SWITCH関数のよくある質問（FAQ）</a></li><li><a href="#toc31" tabindex="0">ExcelのSWITCH関数との違い</a></li><li><a href="#toc32" tabindex="0">まとめ：SWITCH関数で完全一致のケース分岐をスッキリ書こう</a><ol><li><a href="#toc33" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのSWITCH関数とは？値の完全一致でケース分岐する関数</span></h2>



<p class="wp-block-paragraph">SWITCH関数（読み方: スイッチ関数）は、<strong>1つの値を複数の候補と照合し、最初に一致した候補に対応する結果を返す関数</strong>です。関数名はプログラミング言語の<code>switch</code>文に由来していて、「ケース分岐」という考え方をそのまま関数化したものですね。</p>



<p class="wp-block-paragraph">たとえば「部署コードがS01なら営業部、A01なら総務部、F01なら経理部」のように、<strong>値と結果のペアを並べていく</strong>だけで分岐が完成します。IF関数のネストのように <code>IF(... IF(... IF(...)))</code> と入れ子になることがないので、条件が5つ・10個と増えても式が読みやすいままです。</p>



<h3 class="wp-block-heading"><span id="toc2">SWITCH関数で何ができる？</span></h3>



<p class="wp-block-paragraph">SWITCH関数が活躍するのは、おもに次のような場面です。</p>



<ul class="wp-block-list"><li>部署コード・支店コード・商品コードなどの <strong>コード値を表示用のラベルに変換</strong> したいとき</li><li>申請ステータス（「承認」「却下」「保留」）に応じて <strong>コメントやアイコンを出し分け</strong> たいとき</li><li><a href="https://mashukabu.com/spreadsheet-weekday-function/">WEEKDAY関数</a> の結果（1〜7）を <strong>日本語の曜日名に変換</strong> したいとき</li><li>タスクの進捗コード（0〜4）を <strong>「未着手」「進行中」などの日本語ラベル</strong> に変換したいとき</li><li>候補が10個以下で固定されていて、わざわざ<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>で別テーブルを作るほどでもないとき</li></ul>



<p class="wp-block-paragraph">NOTE: SWITCH関数はGoogleスプレッドシートの全バージョンで使えます。Excelでは2019以降またはMicrosoft 365で対応しています。古いExcel（2016以前）と互換性が必要なファイルでは使えないので、その場合はIFネストやVLOOKUPで代用してください。Excel版の詳しい解説は <a href="https://mashukabu.com/excel-function-howto-use-switch/">ExcelのSWITCH関数の使い方</a> もあわせてご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc3">SWITCH関数の構文と引数</span></h2>



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



<pre class="wp-block-code"><code>=SWITCH(式, 値1, 結果1, [値2, 結果2], ..., [既定値])</code></pre>



<p class="wp-block-paragraph">最初に判定したい「式（セル参照や数式）」を1つ書き、その後に <strong>「値, 結果」のペア</strong> を並べていきます。最後の引数を1つだけ余らせると、それが「どの候補にも一致しなかったとき」の <strong>既定値</strong> として扱われます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>式</td><td>必須</td><td>比較対象となるセル参照、数値、文字列、または数式</td></tr><tr><td>値1</td><td>必須</td><td>式と照合する最初の候補</td></tr><tr><td>結果1</td><td>必須</td><td>値1と一致したときに返す値</td></tr><tr><td>値2〜値126</td><td>任意</td><td>追加の候補（最大126ペアまで指定可）</td></tr><tr><td>結果2〜結果126</td><td>任意</td><td>各値に対応する結果</td></tr><tr><td>既定値</td><td>任意</td><td>どの候補にも一致しなかったときに返す値（省略可だが、省略すると<code>#N/A</code>エラー）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">値と結果は必ずセットで指定します。引数を後ろから数えて <strong>奇数番目</strong> が余ったときに、それが既定値として扱われる仕組みです。文字列を値にする場合は <code>"S01"</code> のようにダブルクォーテーションで囲み、数値の場合は囲みません。</p>



<p class="wp-block-paragraph">TIP: 既定値は省略可能ですが、<strong>省略すると一致しなかったときに <code>#N/A</code> エラーが返ります</strong>。実務では「該当なし」「未分類」など意味のある文字列を入れておくと、後から見たときにも安全です。</p>



<h3 class="wp-block-heading"><span id="toc6">SWITCH関数の動作イメージ早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>数式の例</th><th>A2の値</th><th>戻り値</th></tr></thead><tbody><tr><td><code>=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")</code></td><td>&#8220;S01&#8221;</td><td>営業部</td></tr><tr><td><code>=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")</code></td><td>&#8220;A01&#8221;</td><td>総務部</td></tr><tr><td><code>=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")</code></td><td>&#8220;X99&#8221;</td><td>該当なし</td></tr><tr><td><code>=SWITCH(A2, "S01", "営業部", "A01", "総務部")</code></td><td>&#8220;X99&#8221;</td><td>#N/A（既定値なし）</td></tr><tr><td><code>=SWITCH(A2, 1, "S", 2, "A", 3, "B", "未評価")</code></td><td>2</td><td>A</td></tr><tr><td><code>=SWITCH(A2, 1, "S", 2, "A", 3, "B", "未評価")</code></td><td>99</td><td>未評価</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">上から順に値を照合していき、<strong>最初に一致した結果を返したら処理は終了</strong> します。同じ値を複数回書いても、最初に書いた結果しか返らない点に注意してください。</p>



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



<h3 class="wp-block-heading"><span id="toc8">文字列のコードでケース分岐する</span></h3>



<p class="wp-block-paragraph">実務でいちばん多いパターンです。A列に部署コード、B列に変換した部署名を表示するケースで見てみましょう。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;F01&quot;, &quot;経理部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">A2が「S01」なら「営業部」、「A01」なら「総務部」、「F01」なら「経理部」、それ以外なら「該当なし」が返ります。IF関数のネストで同じことを書くと <code>=IF(A2="S01", "営業部", IF(A2="A01", "総務部", IF(A2="F01", "経理部", "該当なし")))</code> になりますが、SWITCH関数なら<strong>「A2=」を3回も繰り返さずに済む</strong>のがメリットです。</p>



<h3 class="wp-block-heading"><span id="toc9">数値のコードでケース分岐する</span></h3>



<p class="wp-block-paragraph">評価ランク（1〜4）を S/A/B/C のラベルに変換するパターンです。数値の場合は値をダブルクォーテーションで囲む必要はありません。</p>



<pre class="wp-block-code"><code>=SWITCH(B2, 1, &quot;S&quot;, 2, &quot;A&quot;, 3, &quot;B&quot;, 4, &quot;C&quot;, &quot;未評価&quot;)</code></pre>



<p class="wp-block-paragraph">B2が「1」なら「S」、「3」なら「B」、範囲外（0や5など）なら「未評価」が返ります。コードが連続した整数（1, 2, 3, &#8230;）なら <a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a> のほうが短く書けますが、コードが「1, 3, 5」のように飛び飛びだったり、「0=未着手」のように0始まりだったりする場合はSWITCH関数の出番です。</p>



<h3 class="wp-block-heading"><span id="toc10">数式の結果に対してケース分岐する</span></h3>



<p class="wp-block-paragraph">引数の「式」には、セル参照だけでなく数式そのものを書くこともできます。たとえば<a href="https://mashukabu.com/spreadsheet-weekday-function/">WEEKDAY関数</a>の結果を日本語の曜日に変換するパターンです。</p>



<pre class="wp-block-code"><code>=SWITCH(WEEKDAY(A2), 1, &quot;日&quot;, 2, &quot;月&quot;, 3, &quot;火&quot;, 4, &quot;水&quot;, 5, &quot;木&quot;, 6, &quot;金&quot;, 7, &quot;土&quot;)</code></pre>



<p class="wp-block-paragraph"><code>WEEKDAY(A2)</code>は1〜7の数値を返すので、その結果を直接SWITCH関数の「式」に渡しています。中間セルに曜日番号を表示する必要がないので、列が増えずスッキリします。</p>



<h3 class="wp-block-heading"><span id="toc11">基本パターンの早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>用途</th><th>既定値の扱い</th></tr></thead><tbody><tr><td><code>=SWITCH(A2, "S01", "営業部", "A01", "総務部", "該当なし")</code></td><td>文字列コード→ラベル変換</td><td>&#8220;該当なし&#8221;</td></tr><tr><td><code>=SWITCH(B2, 1, "S", 2, "A", 3, "B", 4, "C", "未評価")</code></td><td>数値コード→ラベル変換</td><td>&#8220;未評価&#8221;</td></tr><tr><td><code>=SWITCH(WEEKDAY(A2), 1, "日", 2, "月", ..., 7, "土")</code></td><td>数式の結果→ラベル変換</td><td>省略（1〜7で全パターン網羅）</td></tr><tr><td><code>=SWITCH(TRUE, A2>=80, "A", A2>=60, "B", TRUE, "C")</code></td><td>範囲判定の代用（IFSのほうが推奨）</td><td>最後のTRUE</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc12">実務で使えるSWITCH関数の活用パターン7選</span></h2>



<p class="wp-block-paragraph">ここからは、実務でそのまま使えるSWITCH関数の活用パターンを7つ紹介します。「コード変換」「ラベル変換」「曜日変換」「複合条件」「配列対応」など、よくある場面を網羅しているので、自分のケースに近いものから試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン1: 部署コードから部署名を自動変換する（総務・人事向け）</span></h3>



<p class="wp-block-paragraph">社員データの部署コードを、報告書に貼るための読みやすい部署名に変換する場面です。A列に社員名、B列に部署コードが入っているとします。</p>



<pre class="wp-block-code"><code>=SWITCH(B2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;F01&quot;, &quot;経理部&quot;, &quot;H01&quot;, &quot;人事部&quot;, &quot;IT1&quot;, &quot;情報システム部&quot;, &quot;不明&quot;)</code></pre>



<p class="wp-block-paragraph">候補が10個以下の場合は、SWITCH関数が最もシンプルです。マスタテーブルを別シートに作らずに済むので、軽い変換ならこれで十分ですよ。</p>



<p class="wp-block-paragraph">TIP: 部署コードが20個・30個と増えてくる場合は、別シートにマスタテーブルを作って <a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a> で参照したほうがメンテしやすくなります。「マスタを更新するときに数式を書き換えるかどうか」が分かれ目です。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン2: 申請ステータスを処理コメントに変換する</span></h3>



<p class="wp-block-paragraph">申請管理シートで、ステータス（「承認」「却下」「保留」など）に応じたコメントを表示するパターンです。</p>



<pre class="wp-block-code"><code>=SWITCH(B2, &quot;承認&quot;, &quot;処理完了&quot;, &quot;却下&quot;, &quot;差し戻し対応&quot;, &quot;保留&quot;, &quot;確認待ち&quot;, &quot;取下げ&quot;, &quot;対応不要&quot;, &quot;ステータス不明&quot;)</code></pre>



<p class="wp-block-paragraph">B2が「承認」なら「処理完了」、「保留」なら「確認待ち」が返ります。担当者がコメント欄に書く文言を統一できるので、後から検索したり集計したりするのもラクになります。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン3: 曜日番号を日本語の曜日名に変換する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-weekday-function/">WEEKDAY関数</a> の結果を日本語の曜日に変換する定番パターンです。A列に日付が入っているとします。</p>



<pre class="wp-block-code"><code>=SWITCH(WEEKDAY(A2), 1, &quot;日&quot;, 2, &quot;月&quot;, 3, &quot;火&quot;, 4, &quot;水&quot;, 5, &quot;木&quot;, 6, &quot;金&quot;, 7, &quot;土&quot;)</code></pre>



<p class="wp-block-paragraph">WEEKDAY関数の戻り値は1=日曜〜7=土曜なので、それぞれに対応する日本語を並べるだけです。「曜日（営業日／休日）」を出し分けるなら、次のように2パターンにまとめることもできます。</p>



<pre class="wp-block-code"><code>=SWITCH(WEEKDAY(A2, 2), 6, &quot;休日&quot;, 7, &quot;休日&quot;, &quot;営業日&quot;)</code></pre>



<p class="wp-block-paragraph">WEEKDAY関数の第2引数に<code>2</code>を指定すると「月曜=1〜日曜=7」になるので、6（土）と7（日）だけ「休日」、それ以外はすべて既定値の「営業日」が返ります。</p>



<p class="wp-block-paragraph">TIP: 曜日変換は <a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a> で <code>=TEXT(A2, "ddd")</code>（→月、火&#8230;）と書く方法もあります。SWITCH関数のメリットは <strong>任意のラベル（例: 「Mon」「Tuesday」「定休日」）に自由に変換できる</strong> こと。TEXT関数では「月」を「Mon」に変えられないので、表記をコントロールしたい場面ではSWITCH関数を選びましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン4: 進捗ステータスコードを日本語ラベルに変換する（タスク管理向け）</span></h3>



<p class="wp-block-paragraph">タスク管理シートで、数値の進捗コード（0〜4）を読みやすいラベルに変換する例です。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, 0, &quot;未着手&quot;, 1, &quot;進行中&quot;, 2, &quot;レビュー中&quot;, 3, &quot;完了&quot;, 4, &quot;差し戻し&quot;, &quot;不明&quot;)</code></pre>



<p class="wp-block-paragraph">数値コードの場合もダブルクォーテーションは不要です。コードを直接見るよりラベル表示にすると、一目で状況がわかりますよね。スプレッドシートで条件付き書式と組み合わせると、ラベルに応じてセルの色を変えることもできます。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン5: 範囲条件の代用としてTRUEパターンで使う（IFSの代わり）</span></h3>



<p class="wp-block-paragraph">SWITCH関数は本来 <strong>完全一致しか判定できません</strong> が、第1引数に<code>TRUE</code>を指定する裏ワザを使うと、範囲条件（80点以上ならAなど）も書けます。</p>



<pre class="wp-block-code"><code>=SWITCH(TRUE, A2&gt;=80, &quot;A&quot;, A2&gt;=60, &quot;B&quot;, A2&gt;=40, &quot;C&quot;, &quot;D&quot;)</code></pre>



<p class="wp-block-paragraph">仕組みはこうです。</p>



<ol class="wp-block-list"><li>第1引数を <code>TRUE</code> にする</li><li>値の位置に <code>A2>=80</code> のような比較式を書く（結果はTRUE/FALSEになる）</li><li>TRUEと一致した最初の結果が返る</li></ol>



<p class="wp-block-paragraph">ただし、このパターンは <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a> のほうが意図が伝わりやすいので、範囲判定なら基本的にはIFS関数を使うことをおすすめします。</p>



<pre class="wp-block-code"><code>=IFS(A2&gt;=80, &quot;A&quot;, A2&gt;=60, &quot;B&quot;, A2&gt;=40, &quot;C&quot;, TRUE, &quot;D&quot;)</code></pre>



<p class="wp-block-paragraph">このIFS版とほぼ同じ意味ですね。SWITCH関数のTRUEパターンを使うのは「マクロ内などでIFS関数が使えない環境」「すでにSWITCH関数で書き始めていて統一したい」場合に限定しましょう。</p>



<h3 class="wp-block-heading"><span id="toc18">パターン6: 既定値で「該当なし」「未分類」を必ず返すようにする</span></h3>



<p class="wp-block-paragraph">SWITCH関数の <strong>既定値は必ず設定しておく</strong> のがおすすめです。理由は、未登録のコードが入力されたときに <code>#N/A</code> エラーを返さず、データの異常に気付きやすくするためです。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">「該当なし」の行が一覧表に並べば、コードの入力ミスや新規コードの追加漏れがすぐ発見できます。エラー値（#N/A）だと、フィルタや並べ替えで除外されたり、SUM関数の対象範囲でエラーが伝播したりして扱いづらいんですよね。</p>



<p class="wp-block-paragraph">TIP: 既定値に空文字<code>""</code>を入れると「何も表示しない」設定にできます。<code>=SWITCH(A2, "S01", "営業部", "A01", "総務部", "")</code> のように書けば、未登録コードは空欄になります。</p>



<h3 class="wp-block-heading"><span id="toc19">パターン7: ARRAYFORMULAで列全体を一括変換する（Sheets限定）</span></h3>



<p class="wp-block-paragraph">スプレッドシート特有の機能、<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a> を組み合わせて列全体を一括判定するパターンです。残念ながら <strong>SWITCH関数は直接ARRAYFORMULA化できません</strong> （配列を渡しても1セル分の結果しか返らないため）。代わりに <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a> を使います。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IFS(B2:B100=&quot;&quot;, &quot;&quot;, B2:B100=&quot;S01&quot;, &quot;営業部&quot;, B2:B100=&quot;A01&quot;, &quot;総務部&quot;, TRUE, &quot;該当なし&quot;))</code></pre>



<p class="wp-block-paragraph"><code>B2:B100=""</code> で空白行は空白のまま残し、データがある行だけラベル変換しています。1つの数式で列全体に対応するので、フィルダウン不要・データ追加にも自動対応する設計です。</p>



<p class="wp-block-paragraph">「SWITCH関数で書きたいけれど配列対応したい」場合は、思い切ってIFS関数に書き換えるのが現実的な解です。SWITCH関数は1セル単位の処理が前提、と覚えておきましょう。</p>



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



<p class="wp-block-paragraph">SWITCH関数は構文がシンプルな分、エラーパターンも限定的です。代表的なものを早見表でまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー・現象</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>値が候補に一致せず、既定値も省略している</td><td>最後の引数に「該当なし」など既定値を追加する</td></tr><tr><td>#VALUE!</td><td>引数の数が不正（値だけあって結果がない）</td><td>値と結果がペアになっているか確認する</td></tr><tr><td>#NAME?</td><td>関数名のスペルミス（SWICH・SWHICHなど）</td><td><code>=SWITCH</code> と正しく入力する</td></tr><tr><td>#ERROR!</td><td>カンマの数が合わない・カッコ忘れ</td><td>引数の区切りとカッコの対応をチェック</td></tr><tr><td>期待と違う結果が返る</td><td>全角/半角の不一致（&#8221;S01&#8243;と&#8221;Ｓ０１&#8221;）</td><td><a href="https://mashukabu.com/spreadsheet-text-function/">ASC関数</a>で半角に統一してから判定</td></tr><tr><td>期待と違う結果が返る</td><td>文字列と数値の混在（&#8221;1&#8243;と1）</td><td>比較対象の型を揃える</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc21">#N/Aエラー（一致する値がない）の対処法</span></h3>



<p class="wp-block-paragraph">SWITCH関数でいちばん多いエラーです。式の値がどの候補にも一致せず、既定値も指定されていないときに発生します。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;)</code></pre>



<p class="wp-block-paragraph">A2が「F01」の場合、一致する候補がないため <code>#N/A</code> エラーになります。<strong>対処法は最後に既定値を追加する</strong> だけです。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">既存のSWITCH関数のエラーを後から隠したいだけなら、<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a> で囲む方法もあります。</p>



<pre class="wp-block-code"><code>=IFERROR(SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;), &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">ただし、はじめからSWITCH関数の既定値を設定するほうがシンプルで読みやすいので、IFERRORは応急処置と考えましょう。</p>



<h3 class="wp-block-heading"><span id="toc22">#VALUE!エラー（引数が不正）の対処法</span></h3>



<p class="wp-block-paragraph">引数の数が不足している場合に発生します。値だけを指定して、対応する結果を書き忘れるケースが典型です。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;)</code></pre>



<p class="wp-block-paragraph">この式では値1（&#8221;S01&#8243;）に対応する結果1がないためエラーになります。「値と結果はペア」というルールを意識して、引数を1つずつ数えながら書きましょう。</p>



<h3 class="wp-block-heading"><span id="toc23">全角・半角の不一致に注意</span></h3>



<p class="wp-block-paragraph">SWITCH関数の値の照合は <strong>大文字と小文字を区別しません</strong>（「abc」と「ABC」は同じと判定）が、<strong>全角と半角は区別します</strong>（「S01」と「Ｓ０１」は別物）。データの表記ゆれがある場合は、事前に<a href="https://mashukabu.com/spreadsheet-text-function/">ASC関数</a>で半角に統一しておくと安心です。</p>



<pre class="wp-block-code"><code>=SWITCH(ASC(A2), &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph"><code>ASC(A2)</code>で全角英数字を半角に変換してから判定するので、入力時のばらつきを吸収できます。</p>



<h3 class="wp-block-heading"><span id="toc24">文字列と数値の混在に注意</span></h3>



<p class="wp-block-paragraph">数値の「1」と文字列の「&#8221;1&#8243;」は別物として扱われます。コード列に文字列で「1」が入力されていると、数値の<code>1</code>では一致しません。</p>



<pre class="wp-block-code"><code>=SWITCH(A2, 1, &quot;S&quot;, 2, &quot;A&quot;, &quot;未評価&quot;)</code></pre>



<p class="wp-block-paragraph">A2が文字列の「&#8221;1&#8243;」だと、上の式では「未評価」が返ります。セルの表示形式が「文字列」になっている場合は、<code>=SWITCH(VALUE(A2), 1, "S", ...)</code> のように <a href="https://mashukabu.com/spreadsheet-text-function/">VALUE関数</a> で数値に変換してから判定するか、判定する値も文字列で揃えて <code>=SWITCH(A2, "1", "S", "2", "A", ...)</code> と書きます。</p>



<h2 class="wp-block-heading"><span id="toc25">SWITCH関数と似た関数の使い分け</span></h2>



<p class="wp-block-paragraph">ケース分岐や条件判定に使える関数は他にもあります。それぞれの特徴を比較して、場面に応じて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>判定方式</th><th>範囲条件</th><th>既定値</th><th>向いている場面</th></tr></thead><tbody><tr><td><strong>SWITCH</strong></td><td><strong>完全一致</strong></td><td><strong>不可</strong></td><td><strong>最後の引数</strong></td><td><strong>コード→ラベル変換（候補10個以下）</strong></td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-if-function/">IF</a>（ネスト）</td><td>自由な条件式</td><td>可</td><td>最後のELSE</td><td>条件1〜2個の単純な分岐</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS</a></td><td>自由な条件式</td><td>可</td><td><code>TRUE</code>+値で代用</td><td>範囲条件（80点以上ならAなど）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE</a></td><td>連続整数のインデックス</td><td>不可</td><td>なし（#VALUE!）</td><td>連番（1,2,3&#8230;）→値の変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP</a></td><td>完全一致／近似一致</td><td>近似なら可</td><td>別途設定</td><td>候補10個超のマスタ参照</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">IFネスト→SWITCH関数への書き換え（Before/After）</span></h3>



<p class="wp-block-paragraph">部署コードを3種類で判定する場合を見比べてみましょう。</p>



<p class="wp-block-paragraph"><strong>Before（IFネスト）:</strong></p>



<pre class="wp-block-code"><code>=IF(A2=&quot;S01&quot;, &quot;営業部&quot;, IF(A2=&quot;A01&quot;, &quot;総務部&quot;, IF(A2=&quot;F01&quot;, &quot;経理部&quot;, &quot;該当なし&quot;)))</code></pre>



<p class="wp-block-paragraph"><strong>After（SWITCH関数）:</strong></p>



<pre class="wp-block-code"><code>=SWITCH(A2, &quot;S01&quot;, &quot;営業部&quot;, &quot;A01&quot;, &quot;総務部&quot;, &quot;F01&quot;, &quot;経理部&quot;, &quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph">IFネストでは <code>A2=</code> を3回繰り返していますが、SWITCH関数では1回で済みます。条件が増えるほど、この差は大きくなりますよ。読み手も「これは値の照合だな」と一目で意図が掴めるのがメリットです。</p>



<h3 class="wp-block-heading"><span id="toc27">SWITCH関数とIFS関数の使い分け</span></h3>



<p class="wp-block-paragraph">SWITCH関数は完全一致専用、IFS関数は自由な条件式が書けます。</p>



<ul class="wp-block-list"><li><strong>値の完全一致で振り分け</strong> → SWITCH関数</li><li><strong><code>>=</code> <code><</code> などの範囲条件で振り分け</strong> → IFS関数</li><li><strong>条件式を細かくカスタマイズ</strong> → IFS関数</li></ul>



<p class="wp-block-paragraph">たとえば「80点以上ならA、60点以上ならB...」のような範囲判定にはSWITCH関数は不向きです。IFS関数を使いましょう。</p>



<pre class="wp-block-code"><code>=IFS(B2&gt;=80, &quot;A&quot;, B2&gt;=60, &quot;B&quot;, B2&gt;=40, &quot;C&quot;, TRUE, &quot;D&quot;)</code></pre>



<p class="wp-block-paragraph">逆に「コードが完全に一致するかどうか」を判定するなら、SWITCH関数のほうが意図が明確に伝わります。</p>



<h3 class="wp-block-heading"><span id="toc28">SWITCH関数とCHOOSE関数の使い分け</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a> は <strong>連続した整数（1, 2, 3, ...）</strong> をインデックスとして値を返す関数です。</p>



<pre class="wp-block-code"><code>=CHOOSE(B2, &quot;S&quot;, &quot;A&quot;, &quot;B&quot;, &quot;C&quot;)</code></pre>



<p class="wp-block-paragraph">B2が1なら"S"、2なら"A"、3なら"B"、4なら"C"が返ります。値が1から始まる連番なら、こちらのほうが短く書けます。</p>



<p class="wp-block-paragraph">ただし、CHOOSE関数は次のケースに弱いです。</p>



<ul class="wp-block-list"><li>値が <strong>0始まり</strong>（CHOOSEは1以上が必要）</li><li>値が <strong>飛び飛び</strong>（1, 3, 5など）</li><li>値が <strong>文字列</strong>（CHOOSEは数値のみ）</li><li><strong>既定値が設定できない</strong> （範囲外は<code>#VALUE!</code>エラー）</li></ul>



<p class="wp-block-paragraph">これらに該当する場合はSWITCH関数を使いましょう。「コードがそのまま連番ならCHOOSE、そうでなければSWITCH」と覚えておくとラクです。</p>



<h3 class="wp-block-heading"><span id="toc29">SWITCH関数とVLOOKUP関数の使い分け</span></h3>



<p class="wp-block-paragraph">候補が10個を超えてくると、SWITCH関数の式は長くなってメンテしづらくなります。そんなときは別シートにマスタテーブルを作って <a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a> で参照したほうが扱いやすいです。</p>



<ul class="wp-block-list"><li><strong>候補10個以下・固定</strong> → SWITCH関数（マスタ不要、式に直接書ける）</li><li><strong>候補10個超・変動あり</strong> → VLOOKUP関数（マスタ更新で対応可能）</li><li><strong>複数列を参照したい</strong> → VLOOKUP関数や<a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a></li></ul>



<p class="wp-block-paragraph">部署マスタのように「部署コード」「部署名」「部署長名」「所在地」のように複数列ある情報を扱うなら、SWITCH関数では対応できません。素直にマスタテーブル＋VLOOKUPを使いましょう。</p>



<h2 class="wp-block-heading"><span id="toc30">SWITCH関数のよくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph"><strong>Q1. SWITCH関数とIF関数のネスト、どちらを使うべき？</strong></p>



<p class="wp-block-paragraph">A. 「<strong>値の完全一致</strong>で振り分ける」場合は、SWITCH関数のほうが読みやすいです。IF関数のネストは、条件が <code>>=</code> <code><</code> などの範囲判定や、複数条件の組み合わせ（AND/OR）を含む場合に使います。値の照合だけなら迷わずSWITCH関数を選びましょう。</p>



<p class="wp-block-paragraph"><strong>Q2. SWITCH関数とIFS関数の違いは何？</strong></p>



<p class="wp-block-paragraph">A. SWITCH関数は <strong>1つの式と複数の候補値を完全一致で照合</strong> します。IFS関数は <strong>複数の条件式を順番に評価</strong> します。「部署コードならSWITCH」「点数の範囲判定ならIFS」と覚えると使い分けやすいです。詳しくは <a href="https://mashukabu.com/spreadsheet-ifs-function/">スプレッドシートのIFS関数の使い方</a> もご覧ください。</p>



<p class="wp-block-paragraph"><strong>Q3. SWITCH関数で範囲条件（80点以上ならAなど）を書ける？</strong></p>



<p class="wp-block-paragraph">A. 第1引数に <code>TRUE</code> を指定すれば書けますが、可読性の観点からは <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a> のほうが推奨です。<code>=IFS(A2>=80, "A", A2>=60, "B", TRUE, "C")</code> のように書いたほうが意図が伝わります。</p>



<p class="wp-block-paragraph"><strong>Q4. SWITCH関数の既定値を省略するとどうなる？</strong></p>



<p class="wp-block-paragraph">A. どの値にも一致しないと <code>#N/A</code> エラーが返ります。実務では「該当なし」「未分類」「空文字<code>""</code>」など、意味のある既定値を設定しておくのがおすすめです。</p>



<p class="wp-block-paragraph"><strong>Q5. SWITCH関数をARRAYFORMULAで列全体に適用したい</strong></p>



<p class="wp-block-paragraph">A. SWITCH関数は配列引数に対応していないため、ARRAYFORMULAでは1セル分しか結果が返りません。列全体に適用したい場合は <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a> に書き換えてください。例: <code>=ARRAYFORMULA(IFS(A2:A100="", "", A2:A100="S01", "営業部", TRUE, "該当なし"))</code></p>



<p class="wp-block-paragraph"><strong>Q6. SWITCH関数は古いExcelでも使える？</strong></p>



<p class="wp-block-paragraph">A. Excel 2019以降またはMicrosoft 365でのみ使えます。Excel 2016以前と互換性が必要なファイルでは、IFネストか<a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数</a>で代用してください。</p>



<p class="wp-block-paragraph"><strong>Q7. SWITCH関数で値を大文字・小文字区別して判定したい</strong></p>



<p class="wp-block-paragraph">A. SWITCH関数は値の照合で大文字・小文字を区別しません（"abc"と"ABC"が一致する）。区別したい場合は <code>EXACT関数</code> を使ってIFS関数で書き換えます。例: <code>=IFS(EXACT(A2, "ABC"), "X", EXACT(A2, "abc"), "Y", TRUE, "")</code></p>



<h2 class="wp-block-heading"><span id="toc31">ExcelのSWITCH関数との違い</span></h2>



<p class="wp-block-paragraph">SWITCH関数はExcel（2019以降）とGoogleスプレッドシートで <strong>基本動作はほぼ同じ</strong> です。構文・引数・既定値の扱いはすべて共通で、ファイルをやり取りしても結果がずれることはありません。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Googleスプレッドシート</th><th>Excel（2019以降）</th></tr></thead><tbody><tr><td>基本構文</td><td><code>=SWITCH(式, 値1, 結果1, ..., [既定値])</code></td><td>同じ</td></tr><tr><td>最大ペア数</td><td>126ペア</td><td>126ペア</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>なし（ARRAYFORMULAでも1セル分）</td><td>なし（スピル非対応）</td></tr><tr><td>対応バージョン</td><td>全バージョン</td><td>2019以降またはM365</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">両環境での差は実質ないので、Excelで作ったSWITCH関数の数式はそのままスプレッドシートに貼っても動きます。Excel版の詳しい解説は <a href="https://mashukabu.com/excel-function-howto-use-switch/">ExcelのSWITCH関数の使い方</a> をご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc32">まとめ：SWITCH関数で完全一致のケース分岐をスッキリ書こう</span></h2>



<p class="wp-block-paragraph">SWITCH関数は、<strong>値と結果のペアを並べていくだけで完全一致のケース分岐ができる</strong> シンプルな関数です。ポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>構文は <code>=SWITCH(式, 値1, 結果1, 値2, 結果2, ..., 既定値)</code>。値と結果は必ずペアで指定</li><li><strong>既定値を必ず設定</strong>して、<code>#N/A</code>エラーを防ぐ。未登録コードの発見もしやすくなる</li><li>IFネストより読みやすく、条件の追加・変更がカンタン</li><li>候補10個以下で固定なら <strong>SWITCH</strong>、10個超や変動ありなら <strong>VLOOKUP</strong> に切り替える</li><li>範囲条件（>=など）には <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数</a>、連番には <a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE関数</a> を使い分ける</li><li>配列対応が必要なら <a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS</a> + <a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a> に書き換える</li></ul>



<p class="wp-block-paragraph">まずは「部署コード→部署名」の変換から試してみてください。IF関数のネストの括弧地獄から解放されて、数式の見通しがグッと良くなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc33">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-ifs-function/">スプレッドシートのIFS関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-choose-function/">スプレッドシートのCHOOSE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-iferror-function/">スプレッドシートのIFERROR関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-weekday-function/">スプレッドシートのWEEKDAY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-switch/">ExcelのSWITCH関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-switch-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
