<?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>SIGN関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/sign%e9%96%a2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:38:05 +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>SIGN関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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-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">スプレッドシートの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>スプレッドシートのABS関数で絶対値｜差額・乖離率・在庫過不足をマイナス符号なしで集計する</title>
		<link>https://mashukabu.com/spreadsheet-abs-function/</link>
					<comments>https://mashukabu.com/spreadsheet-abs-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 11:25:50 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ABS関数]]></category>
		<category><![CDATA[ARRAYFORMULA]]></category>
		<category><![CDATA[SIGN関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[マイナス除去]]></category>
		<category><![CDATA[乖離率]]></category>
		<category><![CDATA[在庫管理]]></category>
		<category><![CDATA[差額計算]]></category>
		<category><![CDATA[数学関数]]></category>
		<category><![CDATA[絶対値]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4097</guid>

					<description><![CDATA[GoogleスプレッドシートのABS関数で数値の絶対値を求める方法を実務目線で解説。予算と実績の差額・乖離率・在庫の過不足・気温差などマイナス符号を消したい場面で使う6パターンを早見表と数式サンプル付きで紹介。SIGN関数との組み合わせ、ARRAYFORMULAでの列一括処理、空白・文字列のエラー対処、Excelとの違いまで網羅します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">予算と実績を比べたあとに <code>=B2-C2</code> で差額を出したら、列の中にプラスとマイナスが混在してしまった経験はありませんか？知りたいのは「どれだけズレているか」だけなのに、符号が混ざると並べ替えも合計もしづらいですよね。</p>



<p class="wp-block-paragraph">そんなときに使うのが、スプレッドシートのABS関数です。引数はひとつだけ。マイナスの符号を取り除いて絶対値を返してくれるので、差の大きさだけを純粋に取り出せます。</p>



<p class="wp-block-paragraph">この記事ではスプレッドシートのABS関数の基本構文から、実務でそのまま使える6パターンを早見表と数式サンプル付きで紹介します。予算実績差・乖離率・在庫の過不足・気温差・<a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN関数</a>との組み合わせ・<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>による列一括処理まで、ひととおりカバーしますよ。エラー対処や<a href="https://mashukabu.com/excel-function-howto-use-abs/">Excel版のABS関数</a>との違いも整理します。</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">スプレッドシートのABS関数とは？絶対値を返す基本</a><ol><li><a href="#toc2" tabindex="0">ABS関数で何ができる？</a></li></ol></li><li><a href="#toc3" tabindex="0">ABS関数の構文と引数</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">ABS関数の基本的な使い方</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">実務でのABS関数活用パターン6選</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: 符号別に「絶対値の合計」を集計する</a></li><li><a href="#toc18" tabindex="0">パターン6: ARRAYFORMULAで列全体を一括処理する</a></li></ol></li><li><a href="#toc19" tabindex="0">ABS関数とSIGN関数は「大きさ」と「方向」のペア</a><ol><li><a href="#toc20" tabindex="0">符号を保持したまま端数を丸める</a></li><li><a href="#toc21" tabindex="0">符号を保持したまま上限を設定する</a></li><li><a href="#toc22" tabindex="0">単純に「常に正」「常に負」にしたい場合</a></li></ol></li><li><a href="#toc23" tabindex="0">ABS関数のよくあるエラーと対処法</a><ol><li><a href="#toc24" tabindex="0">文字列が混在しているとき（#VALUE!対策）</a></li><li><a href="#toc25" tabindex="0">空白セルと「本当の0」を区別したいとき</a></li></ol></li><li><a href="#toc26" tabindex="0">ABS関数と似た関数の使い分け</a><ol><li><a href="#toc27" tabindex="0">ABSと「マイナス1を掛ける」の違い</a></li><li><a href="#toc28" tabindex="0">ABSとSIGNの使い分け</a></li></ol></li><li><a href="#toc29" tabindex="0">ABS関数のよくある質問（FAQ）</a></li><li><a href="#toc30" tabindex="0">ExcelのABS関数との違い</a></li><li><a href="#toc31" tabindex="0">まとめ：ABS関数で「ズレの大きさ」を素早く取り出そう</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのABS関数とは？絶対値を返す基本</span></h2>



<p class="wp-block-paragraph">スプレッドシートのABS関数（読み方: アブソリュート関数）は、<strong>数値の絶対値を返す関数</strong>です。名前は英語の「absolute value（絶対値）」の頭文字がそのまま由来になっています。</p>



<p class="wp-block-paragraph">引数に数値を1つ渡すと、次のように動きます。</p>



<ul class="wp-block-list"><li>負の数（例: -5）→ 符号を取り除いて <strong>5</strong></li><li>正の数（例: 5）→ そのまま <strong>5</strong></li><li>ゼロ（0）→ そのまま <strong>0</strong></li></ul>



<p class="wp-block-paragraph">絶対値とは「0からの距離」のことです。数直線でいえば、「-5」も「5」も0からの距離は同じ「5」ですよね。プラス・マイナスの方向ではなく、距離（大きさ）だけを取り出す関数だとイメージするとわかりやすいです。</p>



<h3 class="wp-block-heading"><span id="toc2">ABS関数で何ができる？</span></h3>



<p class="wp-block-paragraph">ABS関数が活躍するのは、おもに次のような場面です。</p>



<ul class="wp-block-list"><li>予算と実績の差額を「ズレの大きさ」として集計したいとき</li><li>目標値からの乖離率を「方向に関係なく」比較したいとき</li><li>在庫の過不足を「ズレ量」として統一的に把握したいとき</li><li>2地点の気温差や測定値の誤差を符号なしで求めたいとき</li><li><a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN関数</a>と組み合わせて「大きさだけ加工し、符号は元のまま」処理したいとき</li><li><a href="https://mashukabu.com/spreadsheet-sumproduct-function/">SUMPRODUCT関数</a>で「絶対値の合計（誤差の総量）」を求めたいとき</li></ul>



<p class="wp-block-paragraph">NOTE: ABS関数はGoogleスプレッドシートの全バージョンで使えます。ExcelのABS関数とも完全に互換性があるので、ファイルをやり取りしても計算結果がずれる心配はありません。Excel版の詳しい解説は<a href="https://mashukabu.com/excel-function-howto-use-abs/">ExcelのABS関数の使い方</a>もあわせてご覧ください。</p>



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



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



<pre class="wp-block-code"><code>=ABS(値)</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">戻り値は必ず <strong>0以上の数値</strong> になります。マイナスの値が返ることはありません。</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>100</td><td>そのまま返る</td></tr><tr><td>正の小数（例: 0.5）</td><td>0.5</td><td>そのまま返る</td></tr><tr><td>負の整数（例: -100）</td><td>100</td><td>マイナス符号が外れる</td></tr><tr><td>負の小数（例: -0.5）</td><td>0.5</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><tr><td>数値文字列（例: &#8220;-5&#8243;）</td><td>5</td><td>数値に変換できればOK</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「結果は必ず0以上」というのが基本ルールです。</p>



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



<h3 class="wp-block-heading"><span id="toc8">数値を直接渡す</span></h3>



<p class="wp-block-paragraph">リテラル（数値そのもの）を渡すパターンです。動作確認や入門用に使います。</p>



<pre class="wp-block-code"><code>=ABS(-10)    → 10
=ABS(10)     → 10
=ABS(0)      → 0
=ABS(-3.14)  → 3.14
=ABS(0.001)  → 0.001</code></pre>



<p class="wp-block-paragraph">負の数はマイナスの符号が消え、正の数とゼロはそのまま返ります。</p>



<h3 class="wp-block-heading"><span id="toc9">セル参照を使う</span></h3>



<p class="wp-block-paragraph">実務ではセル参照を使うケースがほとんどです。A2セルに数値が入っているとします。</p>



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



<p class="wp-block-paragraph">A2が「-25」なら結果は「25」、A2が「100」なら結果は「100」になります。セル参照にしておけば、値が変わっても自動で絶対値が更新されます。一覧表で下にフィルダウン（コピー）すれば、列全体に対して絶対値を求められますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">数式の結果に対して使う</span></h3>



<p class="wp-block-paragraph">引数には数式を直接書くこともできます。実務でいちばんよく使うのが、引き算の結果にABS関数を適用するパターンです。</p>



<pre class="wp-block-code"><code>=ABS(B2-C2)</code></pre>



<p class="wp-block-paragraph">B2が「80」、C2が「100」なら、<code>B2-C2</code> は「-20」になります。ABS関数で「20」が返ります。B2とC2が逆だった場合（B2=100、C2=80）でも、結果はやはり「20」です。どちらの方向の差でも、ズレの大きさだけが残ります。</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>=ABS(-15)</code></td><td>15</td><td>リテラル</td></tr><tr><td><code>=ABS(A2)</code></td><td>A2の絶対値</td><td>セル参照</td></tr><tr><td><code>=ABS(B2-C2)</code></td><td>2セルの差の絶対値</td><td>差額計算</td></tr><tr><td><code>=ABS(SUM(A2:A10))</code></td><td>合計の絶対値</td><td>集計後の符号除去</td></tr><tr><td><code>=ABS(C2-B2)/B2</code></td><td>乖離率（小数）</td><td>比率計算</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc12">実務でのABS関数活用パターン6選</span></h2>



<p class="wp-block-paragraph">ここからは、実務でよく使うABS関数の活用パターンを紹介します。差額・乖離率・在庫管理など、符号を意識せずに「ズレの大きさ」だけ取り出したい場面で活躍しますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン1: 予算と実績の差額を求める</span></h3>



<p class="wp-block-paragraph">もっとも使用頻度が高い使い方です。B列に予算、C列に実績、D列に差額を出すケースを考えます。</p>



<pre class="wp-block-code"><code>=ABS(B2-C2)</code></pre>



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



<p class="wp-block-paragraph">予算100万円、実績85万円なら <code>B2-C2</code> は「-150,000」ですが、ABS関数で「150,000」になります。実績115万円でも結果は「150,000」です。どちらの方向にズレていても、差の大きさだけが残ります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-abs-function_03_result_budget-diff.png" alt="03 result budget diff" /></figure>



<p class="wp-block-paragraph">差額の絶対値を別列に出しておけば、降順に並べ替えるだけで「乖離の大きい項目」がすぐに浮かび上がります。月次レビューで重点的に見るべき科目を機械的にピックアップできて便利ですよ。</p>



<p class="wp-block-paragraph">TIP: 差額の合計を「総ズレ量」として把握したいときは<a href="https://mashukabu.com/spreadsheet-sum-function/">SUM関数</a>と組み合わせます。D列にABS関数の結果を入れておけば、<code>=SUM(D2:D10)</code> でプラスとマイナスが相殺されずに済みます。純粋なズレの総量だけを集計できますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン2: 目標からの乖離率を求める</span></h3>



<p class="wp-block-paragraph">部門ごとの売上目標と実績を比較するケースです。「目標を100％とした場合に、どれくらい離れているか」を方向に関係なく比較できます。</p>



<pre class="wp-block-code"><code>=ABS(C2-B2)/B2</code></pre>



<p class="wp-block-paragraph">B2が目標、C2が実績です。表示形式を「パーセント」にすれば、そのまま乖離率として読めます。</p>



<p class="wp-block-paragraph">目標100万円に対して実績90万円なら乖離率は <strong>10％</strong>、実績110万円でも <strong>10％</strong> です。プラス方向の達成超過もマイナス方向の未達も、同じ尺度で並べて比較できますよ。</p>



<p class="wp-block-paragraph">NOTE: 目標を上回ったか下回ったかを別列で残したいときは、<a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN関数</a>を併用します。<code>=SIGN(C2-B2)</code> を別セルに置けば、達成（1）／未達（-1）／同値（0）が判定できるので、「方向」と「ズレ幅」を分けて管理できます。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン3: 在庫の過不足を統一的に把握する</span></h3>



<p class="wp-block-paragraph">適正在庫と実在庫の差をABS関数で求めるパターンです。B列に適正在庫、C列に実在庫が入っているとします。</p>



<pre class="wp-block-code"><code>=ABS(B2-C2)</code></pre>



<p class="wp-block-paragraph">適正100個に対して実在庫80個なら「20個の不足」、実在庫120個なら「20個の過剰」。どちらも結果は <strong>20</strong> です。「ズレ量」として並べると、適正からの乖離が大きい商品を優先的に見つけられます。</p>



<p class="wp-block-paragraph">過不足の方向は別列で持ち、ABS関数の列はズレ幅専用にするのがコツです。</p>



<pre class="wp-block-code"><code>=IF(C2&gt;B2, &quot;過剰&quot;, IF(C2&lt;B2, &quot;不足&quot;, &quot;適正&quot;))</code></pre>



<p class="wp-block-paragraph">方向（ラベル）とズレ幅（数値）を分けて持っておくと、フィルタや並べ替えがしやすくなります。さらに <code>=IF(C2-B2>0, "過剰", IF(C2-B2<0, "不足", "適正"))</code> のように <a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>で書いてもOKですし、<a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN関数</a>を使って <code>=CHOOSE(SIGN(C2-B2)+2, "不足", "適正", "過剰")</code> とまとめることもできます。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン4: 気温差・測定値の誤差を求める</span></h3>



<p class="wp-block-paragraph">2地点の気温の差や、設計値と実測値の誤差など、「2つの値がどれくらい離れているか」を符号なしで求めたいケースです。</p>



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



<p class="wp-block-paragraph">A2が東京の気温「5℃」、B2が札幌の気温「-3℃」なら、<code>A2-B2</code> は「8」。逆にA2が「-3」、B2が「5」なら「-8」ですが、ABS関数で同じく「8」になります。</p>



<p class="wp-block-paragraph">入力順を気にせずに「2点間の距離」を求められるのがポイントです。製造現場の寸法誤差や、テスト点数の前後比較など、絶対誤差を扱うシーンで定番のパターンですよ。</p>



<h3 class="wp-block-heading"><span id="toc17">パターン5: 符号別に「絶対値の合計」を集計する</span></h3>



<p class="wp-block-paragraph">データの中にプラスとマイナスが混在しているとき、相殺せずに「動いた量の総和」を出したいケースです。たとえば株価の値動き列に、上昇日と下落日が混ざっているような場面ですね。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(ABS(B2:B100))</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-sumproduct-function/">SUMPRODUCT関数</a>で各セルの絶対値をまとめて合計します。<code>=SUM(ABS(B2:B100))</code> でも同じ結果になりますが、SUM関数は配列処理を明示しないと正しく動かない場合があるので、SUMPRODUCTを使うか後述のARRAYFORMULAを使うほうが安全です。</p>



<p class="wp-block-paragraph">応用として「プラスとマイナスを別々に集計したい」場合は、<a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN関数</a>と組み合わせます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((SIGN(B2:B100)=1)*B2:B100)   → 正の値だけ合計
=SUMPRODUCT((SIGN(B2:B100)=-1)*ABS(B2:B100))  → 負の値の絶対値だけ合計</code></pre>



<p class="wp-block-paragraph">増減の総量、上昇幅と下落幅の比較などに使えるパターンです。</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(ABS(B2:B100))</code></pre>



<p class="wp-block-paragraph">この1行で、B2からB100までの絶対値を一括計算できます。フィルダウンが不要なので、データが増減しても式が崩れず、フォーム回答のように行が後から追加されるシートでも自動追従しますよ。</p>



<p class="wp-block-paragraph">空白行を空のまま残したいときは、IFで条件分岐を入れます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B100=&quot;&quot;, &quot;&quot;, ABS(B2:B100)))</code></pre>



<p class="wp-block-paragraph">差額の絶対値を一括で出したい場合も同じ要領です。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(B2:B100=&quot;&quot;, &quot;&quot;, ABS(B2:B100-C2:C100)))</code></pre>



<p class="wp-block-paragraph">集計列の数式を1セルに集約できるので、シートが見やすくなり、メンテナンスも楽になります。</p>



<h2 class="wp-block-heading"><span id="toc19">ABS関数とSIGN関数は「大きさ」と「方向」のペア</span></h2>



<p class="wp-block-paragraph">ABS関数を使いこなすうえで、ぜひセットで覚えておきたいのが<a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN関数</a>です。2つの関数は数値を扱ううえで対になる存在です。</p>



<ul class="wp-block-list"><li><strong>ABS関数</strong>: 数値の「大きさ」（絶対値）を取り出す → 常に0以上</li><li><strong>SIGN関数</strong>: 数値の「方向」（符号）を取り出す → 1, -1, 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">金額の端数処理で、プラス・マイナスの符号はそのまま残したいパターンです。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="toc21">符号を保持したまま上限を設定する</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」なら、絶対値1,500を上限1,000に制限したうえで、符号「-1」を掛けて「-1,000」が返ります。A2が「1,500」なら「1,000」、A2が「-500」なら上限を超えていないのでそのまま「-500」になります。</p>



<p class="wp-block-paragraph">ポイント還元の上限処理や、損益のキャップ計算、外れ値の抑制処理などで重宝するパターンです。</p>



<h3 class="wp-block-heading"><span id="toc22">単純に「常に正」「常に負」にしたい場合</span></h3>



<p class="wp-block-paragraph">「符号は気にせず、とにかく正の値にしたい」だけなら、SIGN関数を使わず <code>=ABS(A2)</code> だけでOKです。逆に「常に負の値として扱いたい」場合は <code>=-ABS(A2)</code> と書けば、A2が正でも負でも必ず負の値が返ります。SIGN関数を組み合わせるのは、あくまで「元の符号を保持したい」場面に限定するのがシンプルですよ。</p>



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



<p class="wp-block-paragraph">ABS関数は引数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><tr><td>プラスのままで何も変わらない</td><td>もともと正の数を渡している</td><td>ABS関数の正常動作。マイナス値を渡すと初めて符号が外れます</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc24">文字列が混在しているとき（#VALUE!対策）</span></h3>



<p class="wp-block-paragraph">ABS関数に純粋な文字列を渡すと #VALUE! エラーになります。</p>



<pre class="wp-block-code"><code>=ABS(&quot;abc&quot;)    → #VALUE!
=ABS(&quot;-100&quot;)   → 100（数値に変換できればOK）</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), ABS(A1), &quot;数値を入力してください&quot;)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>で囲んでエラーを隠す書き方もありますが、原因の特定が遅れるので、まずは事前チェックを推奨します。</p>



<h3 class="wp-block-heading"><span id="toc25">空白セルと「本当の0」を区別したいとき</span></h3>



<p class="wp-block-paragraph">ABS関数に空白セルを渡すと「0」が返ります。これは空白セルが数値の「0」として扱われるためで、エラーではありません。差額計算で一方が未入力だと、もう一方の値がそのままズレ幅として表示されてしまうので注意が必要です。</p>



<p class="wp-block-paragraph">データが未入力なのか本当にゼロなのかを区別したい場合は、IFで事前に空白判定を入れます。</p>



<pre class="wp-block-code"><code>=IF(OR(A1=&quot;&quot;, B1=&quot;&quot;), &quot;未入力&quot;, ABS(A1-B1))</code></pre>



<p class="wp-block-paragraph">これで両方のセルに数値が入っているときだけ差額の絶対値を計算し、片方でも空白なら「未入力」と表示できます。</p>



<h2 class="wp-block-heading"><span id="toc26">ABS関数と似た関数の使い分け</span></h2>



<p class="wp-block-paragraph">ABS関数と混同しやすい関数はあまりありませんが、符号や丸めに関連する関数との違いを知っておくと、使い分けがクリアになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動作</th><th>引数</th><th>戻り値</th><th>ABS関数との違い</th></tr></thead><tbody><tr><td><strong>ABS</strong></td><td><strong>絶対値を返す</strong></td><td><strong>1つ</strong></td><td><strong>常に0以上の数値</strong></td><td><strong>本記事の主役</strong></td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN</a></td><td>符号を判定する</td><td>1つ</td><td>1, 0, -1 のいずれか</td><td>「方向」を取り出す。ABSの対になる関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-int-function/">INT</a></td><td>整数に切り捨てる</td><td>1つ</td><td>整数</td><td>小数の切り捨て。符号は変えない</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-round-function/">ROUND</a></td><td>四捨五入する</td><td>2つ</td><td>指定桁の数値</td><td>桁の丸め。符号は変えない</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR</a></td><td>エラーを別の値に置き換える</td><td>2つ</td><td>任意</td><td>エラー処理。絶対値とは無関係</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc27">ABSと「マイナス1を掛ける」の違い</span></h3>



<p class="wp-block-paragraph">マイナスを取り除きたいだけなら <code>=A2*-1</code> で符号を反転させる手もありますが、これは「もともと負の数だった」場合にしか機能しません。</p>



<pre class="wp-block-code"><code>=ABS(-5)    → 5
=-5*-1      → 5</code></pre>



<pre class="wp-block-code"><code>=ABS(5)     → 5
=5*-1       → -5</code></pre>



<p class="wp-block-paragraph">プラスの値に「-1」を掛けるとマイナスになってしまうので、符号が混在しているデータには使えません。ABS関数なら入力がプラスでもマイナスでも、常に0以上の値が返るので安全です。</p>



<h3 class="wp-block-heading"><span id="toc28">ABSとSIGNの使い分け</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">両方を組み合わせれば元の値を復元できる、というのが2つの関数の関係です。差額計算で「ズレの大きさ」だけが欲しいなら <strong>ABS関数だけ</strong>、達成・未達のラベルもあわせて出したいなら <strong>SIGN関数と併用</strong> という使い分けが基本ですよ。</p>



<h2 class="wp-block-heading"><span id="toc29">ABS関数のよくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph"><strong>Q1. ABS関数とSIGN関数、どちらを使えばいい？</strong></p>



<p class="wp-block-paragraph">A. 「ズレの大きさ」だけが欲しいなら<a href="https://mashukabu.com/spreadsheet-abs-function/">ABS関数</a>、「方向（プラス／マイナス／ゼロ）」だけ知りたいなら<a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN関数</a>です。両方ほしいときは別列に並べると見やすくなりますよ。</p>



<p class="wp-block-paragraph"><strong>Q2. ABS関数で空白セルを渡すと何が返る？</strong></p>



<p class="wp-block-paragraph">A. 「0」が返ります。空白セルは数値の0として扱われるためです。差額計算で片方が空白だとズレ幅がそのまま入ってしまうので、<code>=IF(OR(A1="", B1=""), "未入力", ABS(A1-B1))</code> のように事前判定を入れると安全です。</p>



<p class="wp-block-paragraph"><strong>Q3. ABS関数と「-1を掛ける」の違いは？</strong></p>



<p class="wp-block-paragraph">A. <code>=A2*-1</code> は <strong>負の数を正にする</strong> だけで、もともと正の数だった場合はマイナスになってしまいます。ABS関数なら入力がプラスでもマイナスでも常に0以上の値が返ります。符号が混在するデータには必ずABS関数を使いましょう。</p>



<p class="wp-block-paragraph"><strong>Q4. ABS関数を列全体に一気に適用したい</strong></p>



<p class="wp-block-paragraph">A. <a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>を使います。<code>=ARRAYFORMULA(ABS(B2:B100))</code> と書けばフィルダウン不要で範囲全体を一括処理できます。差額の絶対値も <code>=ARRAYFORMULA(ABS(B2:B100-C2:C100))</code> でまとめて出せますよ。</p>



<p class="wp-block-paragraph"><strong>Q5. 絶対値の合計を出したい</strong></p>



<p class="wp-block-paragraph">A. <code>=SUMPRODUCT(ABS(B2:B100))</code> が確実です。<code>=SUM(ABS(B2:B100))</code> でも動くケースが多いですが、配列処理が正しく評価されない環境もあるので、SUMPRODUCTかARRAYFORMULAを使うと安心です。</p>



<p class="wp-block-paragraph"><strong>Q6. ABS関数の結果がマイナスになることはある？</strong></p>



<p class="wp-block-paragraph">A. ありません。ABS関数の戻り値は必ず <strong>0以上</strong> です。もしマイナスが返ってきたら、ABS関数の外側で別の計算（<code>=-ABS(A2)</code> など）が掛かっていないかを確認してください。</p>



<p class="wp-block-paragraph"><strong>Q7. 「常に負の値にしたい」場合は？</strong></p>



<p class="wp-block-paragraph">A. <code>=-ABS(A2)</code> と書けば、A2が正でも負でも必ず負の値が返ります。逆に「常に正」なら <code>=ABS(A2)</code> のみでOKです。</p>



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



<p class="wp-block-paragraph">ABS関数は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>=ABS(数値)</code></td><td><code>=ABS(値)</code></td></tr><tr><td>動作</td><td>絶対値を返す</td><td>絶対値を返す</td></tr><tr><td>負の数</td><td>-5 → 5</td><td>-5 → 5</td></tr><tr><td>正の数</td><td>5 → 5</td><td>5 → 5</td></tr><tr><td>ゼロ</td><td>0 → 0</td><td>0 → 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>配列処理</td><td>スピル対応（Microsoft 365）</td><td>ARRAYFORMULAで指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ファイルを共有しても計算結果がずれることはありません。列全体への適用方法だけが違うので、Excelから移行した場合は「列一括処理は ARRAYFORMULA で囲む」というポイントを押さえておくと安心です。</p>



<p class="wp-block-paragraph">Excel版の詳しい解説や歴史的経緯は<a href="https://mashukabu.com/excel-function-howto-use-abs/">ExcelのABS関数の使い方</a>で紹介していますので、Excelとの比較資料として併用してみてください。</p>



<h2 class="wp-block-heading"><span id="toc31">まとめ：ABS関数で「ズレの大きさ」を素早く取り出そう</span></h2>



<p class="wp-block-paragraph">スプレッドシートのABS関数は、数値の絶対値（マイナス符号を取り除いた0以上の値）を返す1引数のシンプルな関数です。ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=ABS(値)</code>。負の数なら符号を外し、正の数とゼロはそのまま返す</li><li>予算と実績の差額は <code>=ABS(B2-C2)</code> で「ズレの大きさ」だけ取り出せる</li><li>目標からの乖離率は <code>=ABS(C2-B2)/B2</code> で方向に関係なく比較できる</li><li>在庫の過不足は「ズレ幅（ABS）」と「方向（<a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN関数</a>や<a href="https://mashukabu.com/spreadsheet-if-function/">IF関数</a>）」を別列に分けると見やすい</li><li>列全体への適用は<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>で1行にまとめられる</li><li><a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN関数</a>とは「大きさ」と「方向」のペア。<code>ABS(x) × SIGN(x) = x</code> で元の値を復元できる</li><li>「符号を保持したまま丸める／上限を設ける」処理は <strong>SIGN×ABS</strong> の組み合わせが定石</li><li>絶対値の合計は <code>=SUMPRODUCT(ABS(B2:B100))</code> が確実</li></ul>



<p class="wp-block-paragraph">まずは <code>=ABS(B2-C2)</code> で予算実績の差額を出すところから試して、慣れてきたら ARRAYFORMULA や SIGN関数との組み合わせに広げてみてください。符号に振り回されずに「数値の大きさ」だけを扱えるようになると、レポートも集計もぐっとシンプルになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-abs-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのSIGN関数の使い方｜数値の符号判定を基本から実践例まで解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-sign/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-sign/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 07 Jun 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[ABS関数]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[SIGN関数]]></category>
		<category><![CDATA[正負判定]]></category>
		<category><![CDATA[符号判定]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2180</guid>

					<description><![CDATA[ExcelのSIGN関数の使い方を初心者向けに解説。数値がプラス・ゼロ・マイナスのどれかを判定する方法から、IF関数やABS関数と組み合わせた実践例、条件付き書式での色分けまで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで数値がプラスなのかマイナスなのか、一つひとつ目で確認していませんか？</p>



<p class="wp-block-paragraph">データが数十行ならまだしも、数百行を超えると見落としが出てきますよね。計算結果の正負によって処理を分けたい場面でも、いちいちIF関数で条件を書くのは手間がかかります。</p>



<p class="wp-block-paragraph">そんなときに便利なのが <strong>SIGN関数</strong> です。数値の符号を <strong>1・0・-1</strong> の3パターンで返してくれるので、正負の判定がとてもシンプルになります。この記事では、SIGN関数の基本から実務で使える活用パターンまで解説していきます。</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">SIGN関数とは？（数値の符号を判定するExcel関数）</a><ol><li><a href="#toc2" tabindex="0">読み方と語源</a></li><li><a href="#toc3" tabindex="0">戻り値のパターン</a></li></ol></li><li><a href="#toc4" tabindex="0">SIGN関数の書き方（構文と引数）</a><ol><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></ol></li><li><a href="#toc11" tabindex="0">SIGN関数の実践的な活用例</a><ol><li><a href="#toc12" tabindex="0">IF関数と組み合わせて3分岐する</a></li><li><a href="#toc13" tabindex="0">ABS関数と組み合わせて符号と絶対値を分離する</a></li><li><a href="#toc14" tabindex="0">条件付き書式でプラス・マイナスを色分けする</a></li><li><a href="#toc15" tabindex="0">在庫増減の方向を判定する</a></li><li><a href="#toc16" tabindex="0">SUMPRODUCT + SIGN でプラス合計・マイナス合計を分けて集計する</a></li></ol></li><li><a href="#toc17" tabindex="0">SIGN関数でよくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc19" tabindex="0">#NAME? エラー</a></li></ol></li><li><a href="#toc20" tabindex="0">SIGN関数と似た関数の違い・使い分け</a></li><li><a href="#toc21" tabindex="0">SIGN関数に関するよくある質問（FAQ）</a><ol><li><a href="#toc22" tabindex="0">Q1. SIGN(0) が 0 になる理由は？</a></li><li><a href="#toc23" tabindex="0">Q2. SIGN関数はGoogleスプレッドシートでも使えるか？</a></li><li><a href="#toc24" tabindex="0">Q3. 文字列が混ざった列でエラーを避けるには？</a></li><li><a href="#toc25" tabindex="0">Q4. SIGN関数をSUMIF/COUNTIFの代わりに使えるか？</a></li></ol></li><li><a href="#toc26" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">SIGN関数とは？（数値の符号を判定するExcel関数）</span></h2>



<p class="wp-block-paragraph">SIGN関数は、指定した数値が <strong>正の数・ゼロ・負の数</strong> のどれかを判定するExcelの関数です。</p>



<p class="wp-block-paragraph">Excel 2010以降のすべてのバージョンとMicrosoft 365で使用できます。Googleスプレッドシートでも同じ書き方で使えますよ。</p>



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



<p class="wp-block-paragraph">SIGN関数の読み方は「<strong>サイン</strong>」関数です。</p>



<p class="wp-block-paragraph">英語の「<strong>Sign</strong>」には「符号・記号」という意味があります。数値の符号（プラスかマイナスか）を返す関数なので、そのまま関数名になっています。</p>



<h3 class="wp-block-heading"><span id="toc3">戻り値のパターン</span></h3>



<p class="wp-block-paragraph">SIGN関数の戻り値は <strong>3種類</strong> だけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>数値の種類</th><th>戻り値</th><th>具体例</th></tr></thead><tbody><tr><td>正の数（0より大きい）</td><td><strong>1</strong></td><td>=SIGN(100) → 1</td></tr><tr><td>ゼロ</td><td><strong>0</strong></td><td>=SIGN(0) → 0</td></tr><tr><td>負の数（0より小さい）</td><td><strong>-1</strong></td><td>=SIGN(-50) → -1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「1・0・-1」という整数で返してくれるので、後続の計算や条件分岐にそのまま使えるのがポイントです。</p>



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



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



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



<pre class="wp-block-code"><code>=SIGN(数値)</code></pre>



<p class="wp-block-paragraph">引数はたった <strong>1つ</strong> だけ。Excel関数の中でもトップクラスにシンプルな関数ですね。</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>数値</td><td>必須</td><td>符号を判定したい数値またはセル参照</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「数値」には直接数値を入力することもできますし、セル参照を指定することもできます。計算式を入れることも可能です。</p>



<pre class="wp-block-code"><code>=SIGN(-100)     → 結果: -1（直接数値を指定）
=SIGN(A1)       → A1の値の符号を判定
=SIGN(A1-B1)    → 計算結果の符号を判定</code></pre>



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



<p class="wp-block-paragraph">ここからは、実際にSIGN関数を使ってみましょう。</p>



<h3 class="wp-block-heading"><span id="toc8">数値の符号を判定する</span></h3>



<p class="wp-block-paragraph">もっとも基本的な使い方は、数値を直接指定するパターンです。</p>



<pre class="wp-block-code"><code>=SIGN(250)</code></pre>



<p class="wp-block-paragraph">この数式を入力すると、結果は <strong>1</strong> になります。正の数なので「1」が返ってきますね。</p>



<p class="wp-block-paragraph">マイナスの数値ではどうなるでしょうか？</p>



<pre class="wp-block-code"><code>=SIGN(-250)</code></pre>



<p class="wp-block-paragraph">結果は <strong>-1</strong> です。負の数であることがひと目でわかります。</p>



<h3 class="wp-block-heading"><span id="toc9">セル参照で符号を判定する</span></h3>



<p class="wp-block-paragraph">実務では、セルに入力された値の符号を調べることが多いですよね。</p>



<p class="wp-block-paragraph">たとえばA1セルに「-3500」が入っている場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=SIGN(A1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>-1</strong> になります。セル参照を使えば、元のデータを変更するだけで判定結果も自動更新されます。</p>



<h3 class="wp-block-heading"><span id="toc10">計算結果の符号を判定する</span></h3>



<p class="wp-block-paragraph">SIGN関数には計算式を直接入れることもできます。</p>



<p class="wp-block-paragraph">たとえば売上目標と実績の差がプラスかマイナスかを調べたいときは、次のように書きます。</p>



<pre class="wp-block-code"><code>=SIGN(B1-A1)</code></pre>



<p class="wp-block-paragraph">B1（実績）からA1（目標）を引いた結果が正なら「1」（目標達成）、負なら「-1」（未達）と判定されます。</p>



<h2 class="wp-block-heading"><span id="toc11">SIGN関数の実践的な活用例</span></h2>



<p class="wp-block-paragraph">基本がわかったところで、実務でよく使うパターンを見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">IF関数と組み合わせて3分岐する</span></h3>



<p class="wp-block-paragraph">SIGN関数とIF関数を組み合わせると、正・ゼロ・負の <strong>3パターン</strong> で表示を切り替えられます。</p>



<p class="wp-block-paragraph">たとえば前月比の増減を「増加」「変動なし」「減少」と表示する数式はこうなります。</p>



<pre class="wp-block-code"><code>=IF(SIGN(B1-A1)=1, &quot;増加&quot;, IF(SIGN(B1-A1)=-1, &quot;減少&quot;, &quot;変動なし&quot;))</code></pre>



<p class="wp-block-paragraph">SIGN関数が「1・0・-1」を返すので、IF関数の条件がシンプルに書けます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>Excel 2019以降であれば、IFS関数やSWITCH関数を使うともっとスッキリ書けます。<br>&#8220;`<br>=SWITCH(SIGN(B1-A1), 1, &#8220;増加&#8221;, -1, &#8220;減少&#8221;, 0, &#8220;変動なし&#8221;)<br>&#8220;`</p></blockquote>



<p class="wp-block-paragraph">IF関数の詳しい使い方は「<a href="https://mashukabu.com/excel-function-howto-use-if/">ExcelのIF関数の使い方｜基本から複数条件まで実例で解説</a>」で解説しています。</p>



<h3 class="wp-block-heading"><span id="toc13">ABS関数と組み合わせて符号と絶対値を分離する</span></h3>



<p class="wp-block-paragraph">SIGN関数とABS関数を組み合わせると、数値を <strong>符号</strong> と <strong>絶対値</strong> に分解できます。</p>



<pre class="wp-block-code"><code>=SIGN(A1)            → 符号（1, 0, -1）
=ABS(A1)             → 絶対値
=SIGN(A1) * ABS(A1)  → 元の値に戻る</code></pre>



<p class="wp-block-paragraph">この性質を使えば、符号はそのままで絶対値だけを加工するといった処理が可能です。</p>



<p class="wp-block-paragraph">たとえば「マイナスはそのままで、金額を千円単位に丸めたい」というケースではこう書きます。</p>



<pre class="wp-block-code"><code>=SIGN(A1) * ROUNDDOWN(ABS(A1), -3)</code></pre>



<p class="wp-block-paragraph">ABS関数の使い方は「<a href="https://mashukabu.com/excel-function-howto-use-abs/">ExcelのABS関数の使い方｜絶対値の基本と実践例を解説</a>」で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc14">条件付き書式でプラス・マイナスを色分けする</span></h3>



<p class="wp-block-paragraph">SIGN関数を条件付き書式の数式で使うと、データの正負を視覚的に区別できます。</p>



<p class="wp-block-paragraph">設定手順は次のとおりです。</p>



<ol class="wp-block-list"><li>色分けしたいセル範囲を選択する</li><li>「ホーム」タブ →「条件付き書式」→「新しいルール」を選択</li><li>「数式を使用して、書式設定するセルを決定」を選ぶ</li><li>次の数式を入力する</li></ol>



<p class="wp-block-paragraph">プラスの値を <strong>緑色</strong> にしたい場合:</p>



<pre class="wp-block-code"><code>=SIGN(A1)=1</code></pre>



<p class="wp-block-paragraph">マイナスの値を <strong>赤色</strong> にしたい場合:</p>



<pre class="wp-block-code"><code>=SIGN(A1)=-1</code></pre>



<p class="wp-block-paragraph">これで、数値が正ならセルが緑、負なら赤に色付けされます。損益データや前年比の一覧表で、ひと目で状況がわかるようになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">在庫増減の方向を判定する</span></h3>



<p class="wp-block-paragraph">在庫データで「入庫」か「出庫」かを自動判定するパターンです。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（増減数）</th><th>B列（判定）</th></tr></thead><tbody><tr><td>1行目</td><td>50</td><td>=IF(SIGN(A1)=1, &#8220;入庫&#8221;, &#8220;出庫&#8221;)</td></tr><tr><td>2行目</td><td>-30</td><td>=IF(SIGN(A2)=1, &#8220;入庫&#8221;, &#8220;出庫&#8221;)</td></tr><tr><td>3行目</td><td>0</td><td>=IF(SIGN(A3)=1, &#8220;入庫&#8221;, &#8220;出庫&#8221;)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">増減数がプラスなら「入庫」、それ以外なら「出庫」と表示されます。ゼロのケースも分けたい場合は、先ほどの3分岐パターンを使ってください。</p>



<h3 class="wp-block-heading"><span id="toc16">SUMPRODUCT + SIGN でプラス合計・マイナス合計を分けて集計する</span></h3>



<p class="wp-block-paragraph">入出庫や収支のように、プラスの値とマイナスの値が同じ列に混在しているデータはよくありますよね。</p>



<p class="wp-block-paragraph">このとき「プラスの値だけの合計」と「マイナスの値だけの合計」を分けて出したいことがあります。SIGN関数とSUMPRODUCT関数を組み合わせると、補助列を作らずに一発で集計できますよ。</p>



<p class="wp-block-paragraph">A2:A20に増減数が入っているとして、まずプラスの値だけを合計する数式はこうなります。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((SIGN(A2:A20)=1)*A2:A20)</code></pre>



<p class="wp-block-paragraph"><code>SIGN(A2:A20)=1</code> の部分が、プラスの値だけを <code>TRUE</code>（=1）、それ以外を <code>FALSE</code>（=0）として返します。それをA列の値に掛けるので、マイナスやゼロの行は0になり、プラスの値だけが合計されるという仕組みです。</p>



<p class="wp-block-paragraph">次に、マイナスの値だけを合計する数式です。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((SIGN(A2:A20)=-1)*A2:A20)</code></pre>



<p class="wp-block-paragraph">条件を <code>SIGN(A2:A20)=-1</code> に変えるだけですね。マイナスの行だけが残るので、結果もマイナスの合計値になります。</p>



<p class="wp-block-paragraph">実務では次のような集計に使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>集計したい内容</th><th>数式</th></tr></thead><tbody><tr><td>入庫合計（プラスのみ）</td><td>=SUMPRODUCT((SIGN(A2:A20)=1)*A2:A20)</td></tr><tr><td>出庫合計（マイナスのみ）</td><td>=SUMPRODUCT((SIGN(A2:A20)=-1)*A2:A20)</td></tr><tr><td>純増減（全体の合計）</td><td>=SUM(A2:A20)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">入出庫リストの増減数から「入庫の合計」と「出庫の合計」を別々に出したり、収支データから「収入だけ」「支出だけ」を集計したりと、応用範囲は広いです。SUM関数で全体の純増減も並べて出しておくと、データの動きがひと目で把握できますよ。</p>



<p class="wp-block-paragraph">SUMPRODUCT関数そのものの使い方は「<a href="https://mashukabu.com/excel-function-howto-use-sumproduct/">SUMPRODUCT関数の使い方｜複数条件の集計を実例で解説</a>」で詳しく解説しています。</p>



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



<p class="wp-block-paragraph">SIGN関数はシンプルな関数ですが、いくつかエラーが出るパターンがあります。</p>



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



<p class="wp-block-paragraph">SIGN関数に <strong>文字列</strong> を渡すと <code>#VALUE!</code> エラーが発生します。</p>



<pre class="wp-block-code"><code>=SIGN(&quot;abc&quot;)    → #VALUE! エラー
=SIGN(A1)       → A1に文字列が入っている場合も #VALUE!</code></pre>



<p class="wp-block-paragraph"><strong>対処法</strong>: 引数が数値であることを確認しましょう。文字列が混ざる可能性がある場合は、IFERROR関数で囲むと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(SIGN(A1), &quot;&quot;)</code></pre>



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



<p class="wp-block-paragraph">関数名のスペルミスで <code>#NAME?</code> エラーが出ることがあります。</p>



<pre class="wp-block-code"><code>=SIGN(-10)      → 正しい
=SGIN(-10)      → #NAME? エラー（GとIが逆）
=SIGNE(-10)     → #NAME? エラー（Eが余分）</code></pre>



<p class="wp-block-paragraph"><strong>対処法</strong>: 関数名が「SIGN」の4文字になっているか確認しましょう。Excelの数式オートコンプリートを使えば入力ミスを防げます。</p>



<h2 class="wp-block-heading"><span id="toc20">SIGN関数と似た関数の違い・使い分け</span></h2>



<p class="wp-block-paragraph">SIGN関数に関連する関数をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th><th>使用例</th></tr></thead><tbody><tr><td>SIGN</td><td>符号を判定する（1, 0, -1）</td><td>=SIGN(-10) → -1</td></tr><tr><td>ABS</td><td>絶対値を求める（符号を取り除く）</td><td>=ABS(-10) → 10</td></tr><tr><td>IF</td><td>条件に応じて値を切り替える</td><td>=IF(A1>0, &#8220;正&#8221;, &#8220;負&#8221;)</td></tr><tr><td>ODD</td><td>奇数に切り上げる</td><td>=ODD(2.5) → 3</td></tr><tr><td>EVEN</td><td>偶数に切り上げる</td><td>=EVEN(2.5) → 4</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">SIGN関数は「符号だけを取り出す」関数、ABS関数は「符号を取り除いて絶対値にする」関数です。セットで覚えておくと、数値処理の幅がぐっと広がりますよ。</p>



<p class="wp-block-paragraph">ABS関数の使い方は「<a href="https://mashukabu.com/excel-function-howto-use-abs/">ExcelのABS関数の使い方｜絶対値の基本と実践例を解説</a>」、ODD関数は「<a href="https://mashukabu.com/excel-function-howto-use-odd/">ExcelのODD関数の使い方｜最も近い奇数への切り上げを基本から解説</a>」で解説しています。</p>



<h2 class="wp-block-heading"><span id="toc21">SIGN関数に関するよくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph">SIGN関数について、つまずきやすいポイントをQ&#038;A形式でまとめました。</p>



<h3 class="wp-block-heading"><span id="toc22">Q1. SIGN(0) が 0 になる理由は？</span></h3>



<p class="wp-block-paragraph">SIGN関数は「正・ゼロ・負」の3パターンを区別するため、ゼロには専用の戻り値として <strong>0</strong> を割り当てています。</p>



<p class="wp-block-paragraph">正の数なら1、負の数なら-1ですが、ゼロは「正でも負でもない」状態なので、どちらにも属さない0を返すわけです。</p>



<p class="wp-block-paragraph">ここで注意したいのが、IF関数で <code>=IF(SIGN(A1)=1, "プラス", "マイナス")</code> のように2分岐で書くと、ゼロのときに「マイナス」と表示されてしまう点です。ゼロを別扱いしたい場合は、本文で紹介した <strong>3分岐パターン</strong> を使ってください。</p>



<h3 class="wp-block-heading"><span id="toc23">Q2. SIGN関数はGoogleスプレッドシートでも使えるか？</span></h3>



<p class="wp-block-paragraph">はい、Googleスプレッドシートでも <strong>まったく同じ書き方</strong> で使えます。</p>



<pre class="wp-block-code"><code>=SIGN(A1)</code></pre>



<p class="wp-block-paragraph">戻り値が「1・0・-1」になる仕様もExcelと同じです。SUMPRODUCTやIFと組み合わせる活用パターンもそのまま流用できますよ。</p>



<p class="wp-block-paragraph">スプレッドシートでの使い方や損益分類・矢印表示の実例は「<a href="https://mashukabu.com/spreadsheet-sign-function/">スプレッドシートのSIGN関数で正負判定｜損益分類・矢印表示・ABS関数との組み合わせまで</a>」で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc24">Q3. 文字列が混ざった列でエラーを避けるには？</span></h3>



<p class="wp-block-paragraph">数値と文字列（空白セルや「-」などのテキスト）が混在する列にSIGN関数を使うと、文字列の行で <code>#VALUE!</code> エラーが出てしまいます。</p>



<p class="wp-block-paragraph">これを避けるには、IFERROR関数で囲むのが手軽です。</p>



<pre class="wp-block-code"><code>=IFERROR(SIGN(A1), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">文字列の行はエラーにならず空白として扱われるので、表が崩れません。</p>



<p class="wp-block-paragraph">「数値が入っているときだけ判定したい」という場合は、ISNUMBER関数で事前にチェックする方法もあります。</p>



<pre class="wp-block-code"><code>=IF(ISNUMBER(A1), SIGN(A1), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">A1が数値のときだけ符号を判定し、それ以外は空白にする数式です。集計の前処理としてこちらを使うと、より意図が明確になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc25">Q4. SIGN関数をSUMIF/COUNTIFの代わりに使えるか？</span></h3>



<p class="wp-block-paragraph">「プラスの値だけ合計したい」という単純な条件なら、SUMIFのほうがシンプルです。</p>



<pre class="wp-block-code"><code>=SUMIF(A2:A20, &quot;&gt;0&quot;)</code></pre>



<p class="wp-block-paragraph">この1行でプラスの値だけを合計できるので、わざわざSIGN関数を経由する必要はありません。</p>



<p class="wp-block-paragraph">SIGN関数が活きるのは、<strong>符号そのものを別の計算に使いたいとき</strong> です。たとえば「符号は残したまま絶対値だけ丸める」「符号を判定して別の値に変換する」といった処理は、SUMIFやCOUNTIFでは書けません。</p>



<p class="wp-block-paragraph">用途を整理すると次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>おすすめ</th></tr></thead><tbody><tr><td>条件に合う値を合計・カウントする</td><td>SUMIF / COUNTIF</td></tr><tr><td>符号を使って別の計算をする</td><td>SIGN</td></tr><tr><td>符号で行をフラグ化して合計する</td><td>SUMPRODUCT + SIGN</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">SUMIF関数の詳しい使い方は「<a href="https://mashukabu.com/excel-function-howto-use-sumif/">ExcelのSUMIF関数の使い方｜条件別4パターン完全ガイド</a>」で解説しています。条件付き集計だけが目的ならこちらが近道です。</p>



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



<p class="wp-block-paragraph">この記事では、ExcelのSIGN関数について基本から実践的な活用法まで解説しました。</p>



<p class="wp-block-paragraph">SIGN関数のポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>SIGN関数は数値の <strong>符号（正・ゼロ・負）</strong> を 1・0・-1 で返す関数</li><li>構文は <code>=SIGN(数値)</code> で、引数は1つだけのシンプルな関数</li><li>IF関数との組み合わせで <strong>正・ゼロ・負の3分岐</strong> が簡単にできる</li><li>ABS関数とセットで使えば、<strong>符号と絶対値を分離</strong> して柔軟な計算が可能</li><li>条件付き書式と組み合わせて <strong>プラス・マイナスの色分け</strong> もできる</li><li>SUMPRODUCTと組み合わせれば <strong>プラス合計・マイナス合計を分けて集計</strong> できる</li></ul>



<p class="wp-block-paragraph">SIGN関数はシンプルですが、IF関数やABS関数、SUMPRODUCT関数と組み合わせることで活用の幅が大きく広がります。まずは前月比や売上増減のデータで試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-sign/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
