スプレッドシートで引き算する方法|MINUS関数と「-」の違い

スポンサーリンク

スプレッドシートで引き算をするなら、=A1-B1 と書くだけで答えが出ます。Google スプレッドシートの MINUS関数を使い、=MINUS(A1,B1) と書いても結果は同じです。

ここで扱うのは、Google スプレッドシートに用意されている MINUS関数。Workday など別のツールにも同じ名前の関数がありますが、中身は別物です。

とはいえ、実際の表づくりでは次のようなところで手が止まりがちですよね。

  • - と MINUS関数のどちらを使えばいいのか分からない
  • 列をまとめて引き算したいのに、1行ずつ式を書いている
  • 引き算したはずが #VALUE! や #NAME? になって先に進めない

このままだと、Excel に渡したファイルがエラーだらけになったり、差額の集計がずれたりしかねません。この記事では、- と MINUS関数の違いを早見表で整理します。そのうえで、列をまとめて引く方法と、引き算できないときの直し方まで順に紹介していきます。

対応バージョン: Google スプレッドシート(Web 版)。Microsoft 公式の関数一覧に MINUS関数はなく、Excel では使えません(関数名を認識できず #NAME? になるはずです)。Excel では - 演算子で引き算してください。

結論|スプレッドシートの引き算は「-」で十分。MINUS関数との違い早見表

先に結論から。スプレッドシートの普段の引き算は - 演算子で十分です。MINUS関数を覚えていなくても、困る場面はほとんどありません。

MINUS関数は「- を関数の形で書けるようにしたもの」と考えるとすっきりします。違いが出るのは、引ける値の数・範囲の扱い・Excel との互換性の3点だけです。

MINUS関数の書き方(引数は2つだけ)

MINUS は「マイナス」と読み、英語の minus(〜を引いた)がそのまま名前になっています。構文はとてもシンプル。

=MINUS(値1, 値2)
引数意味例
値1引かれる数(被減数)売上のセル B2
値2値1から引く数(減数)原価のセル C2

戻り値は「値1 − 値2」です。Google の公式ヘルプでも、- 演算子と同じ結果を返す関数として紹介されています。

ポイントは、引数がちょうど2つに決まっていること。SUM関数のように3つ目の値は渡せません。3つ以上引くときは、- を続けるか SUM と組み合わせます。

=MINUS(100, 30)   → 70
=MINUS(50, 80)    → -30

引いた結果がマイナスになっても、そのままマイナスの値が返ってきます。

「-」とMINUS関数の挙動比較表

よく使う場面ごとに、- と MINUS関数の動きを並べました。表の結果は、Google スプレッドシートで実際に式を入れて確かめたもの(2026年10月)。100 から 30 を引く例で書いています。

比較する点- 演算子MINUS関数
書き方=A1-B1=MINUS(A1,B1)
引ける値の数いくつでも(=A1-B1-C1)2つだけ(3つ渡すと #N/A)
ARRAYFORMULA なしで範囲を渡す式と同じ行の値だけで計算。同じ行がなければ #VALUE!- と同じ
空白セル0 として計算(100 − 空白 = 100)同じ
数字だけの文字列('100)・前後の空白( 100 )数値として計算(70)同じ
全角の数字(100)#VALUE!#VALUE!
文字が混ざった値(100円)#VALUE!#VALUE!
日付どうし(4/30 − 4/1)日数が出る(29)同じ
ARRAYFORMULA の中使える使える
Excel で開くそのまま計算される使えない(関数一覧にないため #NAME? になるはず)

表のとおり、計算そのものの結果は - と MINUS で変わりませんでした。差が出るのは「3つ以上の値」と「Excel」が絡む場面だけです。

MINUS関数が役立つ3つの場面

ではどんなときに MINUS関数を選ぶのか。答えが変わるわけではないので、どれも「好みで選んでよい」程度の差だと考えてください。

  1. 引き算の式だけを検索で探したいとき:「検索と置換」で数式内も検索する設定にして、MINUS を探します。- で探すと、マイナスの数値や文字列のハイフンまで拾ってしまいがちです
  2. MULTIPLY・DIVIDE と書き方をそろえたいとき:四則演算を関数の形でそろえておくと、式の見た目が統一されます
  3. 長い式で「どこからどこを引くか」をはっきりさせたいとき:=B2C2-D2E2 と =MINUS(B2C2, D2E2) を比べてみてください。後者のほうが、引く側と引かれる側の区切りが見えます

逆に、Excel にコピーしたり .xlsx で書き出したりする予定があるなら、- 一択。MINUS関数は Excel の関数一覧にないため、Excel で開くとエラーになってしまいます。

仲間の関数(MULTIPLY / DIVIDE / UMINUS / UPLUS)

公式ヘルプの「演算子」カテゴリには、MINUS と同じように演算子を関数の形にしたものが並んでいます。引き算と一緒に使うことが多いものを抜き出しました。

関数対応する演算子構文解説記事
ADD+(足し算)ADD(値1, 値2)—
MINUS-(引き算)MINUS(値1, 値2)この記事
MULTIPLY*(掛け算)MULTIPLY(値1, 値2)MULTIPLY関数の使い方
DIVIDE/(割り算)DIVIDE(値1, 値2)DIVIDE関数の使い方
UMINUS先頭の -(符号を反転)UMINUS(値)UMINUS関数の使い方
UPLUS先頭の +(値をそのまま返す)UPLUS(値)UPLUS関数の使い方

「プラスとマイナスを逆にしたい」なら、引き算ではなく UMINUS関数のほうが目的に合います。なお、演算子カテゴリにはべき乗の POW などもあり、この6つだけではありません。

基本の引き算と実務でよく使う形

ここからは、仕事でよく出てくる引き算の形を見ていきましょう。どれも - 演算子で書いていますが、2つの値の引き算なら MINUS関数に置き換えても同じ結果です。

セル同士を引く(売上−原価・予算−実績・在庫の残数)

いちばん基本の形が、売上から原価を引いて利益を出す計算です。D2 に =B2-C2 と入力し、下の行にもコピーします。

行A: 商品B: 売上C: 原価D: 利益(=B2-C2)
2商品A12,0007,5004,500
3商品B8,0005,2002,800
4商品C15,0009,8005,200

利益の合計は =SUM(D2:D4) で 12,500 になります。

予算と実績の差を見るときも、考え方は同じ。予算から実績を引けば、プラスなら予算内、マイナスなら予算超過です。

行A: 部門B: 予算C: 実績D: 差異(=B2-C2)
2営業部500,000480,00020,000
3製造部300,000330,000-30,000
4総務部150,000145,0005,000

差異を「予算内」「超過」という文字で出したいなら、IF関数と組み合わせます。

=IF(B2-C2>=0, "予算内", "超過")

在庫の残数も同じ形で、=前日の在庫-出荷数 と書くだけ。たとえば在庫 120 個から 35 個出荷したなら、=B2-C2 で 85 個が残りです。

3つ以上引く・合計から引く(=A1-B1-C1 と =A1-SUM(B1:D1))

月曜から水曜の出荷数を、期首の在庫から引くケースを考えてみます。

行A: 期首在庫B: 月C: 火D: 水
2200304525

書き方は3通りあり、どれも答えは 100 です。

=A2-B2-C2-D2                          → 100
=A2-SUM(B2:D2)                        → 100
=MINUS(MINUS(MINUS(A2,B2),C2),D2)     → 100

おすすめは2つ目の SUM を使う形。引く項目が増えても範囲を広げるだけで済み、式も短く保てます。SUM関数の細かい使い方は SUM関数の使い方 にまとめています。

3つ目の MINUS のネストは読みにくいので、実務ではまず使いません。

引く数をまとめて書くときは、カッコを付け忘れないようにしましょう。=A2-(B2+C2+D2) なら 100 です。ところがカッコなしで =A2-B2+C2+D2 と書くと、C2 と D2 が足されて 240 になってしまいます。

差を常にプラスで出す(ABS)

「どちらが大きいかは気にせず、差の大きさだけ知りたい」こともありますよね。そんなときは ABS関数で絶対値(マイナスの符号を外した値)にします。

=ABS(B3-C3)   → 30000

先ほどの製造部の例なら、300,000-330,000 は -30,000 ですが、ABS で囲むと 30,000 になります。詳しくは ABS関数で絶対値を求める方法 を参考にしてください。

列をまとめて引き算する(オートフィル・$固定・ARRAYFORMULA)

行がたくさんある表で、1行ずつ式を打つのは大変です。スプレッドシートで列ごと引き算する方法は、主に3つあります。

オートフィルで下の行にコピーする

D2 に =B2-C2 を入れたら、セルの右下にある小さな四角(フィルハンドル)を下へドラッグします。D2 から下のセルを範囲選択して、Ctrl+D(Mac は ⌘+D)を押す方法でもかまいません。

コピーした式は、行番号が自動でずれていく仕組み。D3 は =B3-C3、D4 は =B4-C4 になります。これを「相対参照」と呼びます。

1つのセルを全行から引く:$で固定する(=B2-$E$1)

全商品から一律で 500 円値引きするように、1つのセルの値を全行から引きたい場面もあるでしょう。ここで相対参照のままコピーすると、引くセルまで1行ずつずれてしまいます。

そこで、引く側のセルに $ を付けて固定しましょう。E1 に値引き額 500 を入れ、C2 に次の式を書きます。

=B2-$E$1
行A: 商品B: 定価C: 値引き後(=B2-$E$1)
2商品A3,0002,500
3商品B4,8004,300
4商品C2,2001,700

$ を付けずに =B2-E1 のままコピーすると、C3 は =B3-E2 になります。E2 が空白なら 0 を引いたことになり、定価がそのまま表示されてしまうわけです。

$ は手で打たなくても、式の中で E1 を選んで F4 キーを押せば付けられます。

ARRAYFORMULAで1つの式にまとめる(空白行を空のままにする)

コピーすら面倒なら、ARRAYFORMULA関数を使いましょう。先頭の1セルに式を入れるだけで、範囲全体の引き算がまとめて出ます。

=ARRAYFORMULA(B2:B4-C2:C4)

D2 にこの式を入れると、D2〜D4 に3行分の結果が並びます。MINUS関数で書くなら次の形です。

=ARRAYFORMULA(MINUS(B2:B4, C2:C4))

どちらも、行数のそろった範囲どうしで使います。行数がずれていると、足りない行の結果が #N/A になります。

データが今後増える表なら、B2:B のように終わりを決めない範囲にしておくと便利です。ただしそのままだと、未入力の行にも 0 が並びがちです。 IF関数で、B列が空の行は空欄にしておきましょう。

=ARRAYFORMULA(IF(B2:B="", "", B2:B-C2:C))

注意したいのは、結果が広がる先のセルに値が入っていると #REF! になること。出力する列は空けておいてください。詳しい使い方は ARRAYFORMULA関数の使い方 で解説しています。

日付から日付を引くと日数が出る

スプレッドシートの日付は内部では数値として扱われているため、日付どうしも - で引き算できます。

=B2-A2   → 20(A2 が 2026/10/01、B2 が 2026/10/21 のとき)

結果が日付の形で表示されたら、メニューの「表示形式」→「数字」→「数値」で数値に切り替えてください。

年・月単位の期間を出したいなら DATEDIF関数、関数で日数を出すなら DAYS関数 が向いています。日付計算の全体像は スプレッドシートの日付計算ガイド にまとめました。

引き算できない・結果がおかしいときの直し方

引き算がうまくいかないときは、出ている症状から原因をしぼると早く片付きます。よくある4つの症状と直し方を見ていきましょう。

#VALUE! になる(数字に見える文字列・全角数字・空白)

#VALUE! は「数値として計算できない値が混ざっている」というサイン。よくある原因は次のとおりです。

  • 100円 や 約100 のように、数字に文字が付いている
  • 100 のような全角の数字が入っている
  • 未入力の代わりに - や なし と書いてある

まずは =ISNUMBER(A2) で、そのセルが数値かどうかを確かめましょう。FALSE なら文字列として入っています。

=ISNUMBER(A2)            → FALSE なら文字列
=VALUE(ASC(A2))-B2       → 全角の数字を半角にしてから引く

全角の数字は VALUE だけでは直らず、#VALUE! のまま。ASC関数で半角にしてから VALUE で数値にすると、計算できるようになります。

円 などの単位は、セルに直接書かずに表示形式で付けるのがおすすめです。そうすれば中身は数値のままなので、引き算でつまずきません。

なお、'100 のような数字だけの文字列や、 100 のように前後に空白が付いた数字は、そのまま数値として計算されます。#VALUE! の原因はほかにあると考えてください。

#NAME? になる(Excelで開いた・つづり違い)

#NAME? は「そんな関数は知らない」という意味のエラーです。引き算で出るときの原因は、ほぼ次の2つ。

  1. Excel で開いた:MINUS関数は Excel の関数一覧にありません。.xlsx で書き出したファイルや、Excel に貼った式でエラーになります。=MINUS(A2,B2) を =A2-B2 に書き換えてください
  2. つづりを間違えた:MINIS や MINUSE のような打ち間違いです。関数名を入力し始めると候補が出るので、そこから選ぶと防げます
=MINIS(A2, B2)   → #NAME?
=MINUS(A2, B2)   → 正しく計算される

MINUSに範囲や3つの値を渡してエラーになる

MINUS関数は値を2つしか受け取りません。3つ目の値を渡すと #N/A(引数の数が違う)になります。

範囲を渡したときは少しややこしい動きです。式を A2〜A4 と同じ行に置くと、その行の値だけで計算されます。それ以外の行に置くと #VALUE! です。どちらにしても範囲全体は引けません。

=MINUS(A2:A4, B2)     → 範囲全体は引けない(別の行に置くと #VALUE!)
=MINUS(A2, B2, C2)    → #N/A(引数の数が違う)

「範囲の合計から引きたい」なら、先に SUM で1つの値にまとめてから渡しましょう。

=MINUS(SUM(A2:A4), B2)
=SUM(A2:A4)-B2

行ごとにまとめて引きたいのであれば、前の章の ARRAYFORMULA を使います。

差が0のはずなのに一致しない(小数の誤差はROUND)

小数の引き算では、見た目は 0 なのに「0 と等しいか」を判定すると FALSE になることがあります。

=0.3-0.1-0.2              → 0 と表示される
=0.3-0.1-0.2=0            → FALSE
=ROUND(0.3-0.1-0.2, 10)=0 → TRUE

=0.3-0.1-0.2 は 0 と表示されますが、内部では -0.0000000000000000277… というごくわずかな値が残っています。=100.3-100.2=0.1 も同じ理由で FALSE になりました。ROUND で桁をそろえれば、判定は一致します。

これは、コンピューターが小数を2進数で扱うために生じる誤差が原因。表示上の値と内部の値がほんの少しずれていることがあります。

IF関数で差額が 0 かどうかを判定するときなどは、ROUND関数で桁をそろえてから比べると安心です。

エラーが出たときに空欄にしておきたい場合は、=IFERROR(B2-C2, "") のように囲みます。詳しくは IFERROR関数の使い方 をどうぞ。

よくある質問(FAQ)

SUBTRACT関数はある?

Google スプレッドシートに SUBTRACT という関数はなく、引き算の関数は MINUS です。=SUBTRACT(A1,B1) と入力すると #NAME? になります。Excel の関数一覧にも SUBTRACT関数はありません。

英語の「subtract(引く)」から関数名を推測して入力すると、ここでつまずきがちです。

引き算の結果がマイナスなら0にしたい

MAX関数で「0 と引き算の結果の大きいほう」を返せば、マイナスは 0 になります。

=MAX(0, B2-C2)

たとえば在庫 30 個に対して注文が 45 個なら、30-45 は -15 ですが、この式では 0 が返ります。不足分を別の列で見たいなら、=MAX(0, C2-B2) で 15 を出しておきましょう。

マイナスの結果を赤字で表示したい

表示形式を変えるだけで、値はそのままに赤字にできます。手順は次の3ステップ。

  1. 結果のセルを選ぶ
  2. メニューの「表示形式」→「数字」→「カスタム数値形式」を開く
  3. #,##0;[Red]-#,##0 と入力して「適用」を押す

セミコロンの左がプラスのとき、右がマイナスのときの書式です。予算差異の表なら、製造部の -30,000 だけが赤で表示されます。

まとめ

スプレッドシートの引き算について、要点を3つにまとめます。

  • 普段の引き算は =A1-B1 の - で十分。3つ以上なら =A1-SUM(B1:D1) が扱いやすい
  • MINUS関数は - の関数版。引数は2つだけで、Excel には関数がない
  • 列ごと引くなら $ 固定か ARRAYFORMULA。エラーが出たら、文字列や小数の誤差を疑う

MINUS関数は覚えておくと便利ですが、無理に - から置き換える必要はありません。迷ったら - を選んでおけば、Excel との行き来でも困らないはずです。

次は、同じ演算子の仲間である MULTIPLY関数 や DIVIDE関数 もあわせてチェックしてみてください。日付の引き算をもっと使いこなしたい方は、スプレッドシートの日付計算ガイド がおすすめです。

タイトルとURLをコピーしました