スプレッドシートで引き算をするなら、=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関数を選ぶのか。答えが変わるわけではないので、どれも「好みで選んでよい」程度の差だと考えてください。
- 引き算の式だけを検索で探したいとき:「検索と置換」で数式内も検索する設定にして、
MINUSを探します。-で探すと、マイナスの数値や文字列のハイフンまで拾ってしまいがちです - MULTIPLY・DIVIDE と書き方をそろえたいとき:四則演算を関数の形でそろえておくと、式の見た目が統一されます
- 長い式で「どこからどこを引くか」をはっきりさせたいとき:
=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 | 商品A | 12,000 | 7,500 | 4,500 |
| 3 | 商品B | 8,000 | 5,200 | 2,800 |
| 4 | 商品C | 15,000 | 9,800 | 5,200 |
利益の合計は =SUM(D2:D4) で 12,500 になります。
予算と実績の差を見るときも、考え方は同じ。予算から実績を引けば、プラスなら予算内、マイナスなら予算超過です。
| 行 | A: 部門 | B: 予算 | C: 実績 | D: 差異(=B2-C2) |
|---|---|---|---|---|
| 2 | 営業部 | 500,000 | 480,000 | 20,000 |
| 3 | 製造部 | 300,000 | 330,000 | -30,000 |
| 4 | 総務部 | 150,000 | 145,000 | 5,000 |
差異を「予算内」「超過」という文字で出したいなら、IF関数と組み合わせます。
=IF(B2-C2>=0, "予算内", "超過")
在庫の残数も同じ形で、=前日の在庫-出荷数 と書くだけ。たとえば在庫 120 個から 35 個出荷したなら、=B2-C2 で 85 個が残りです。
3つ以上引く・合計から引く(=A1-B1-C1 と =A1-SUM(B1:D1))
月曜から水曜の出荷数を、期首の在庫から引くケースを考えてみます。
| 行 | A: 期首在庫 | B: 月 | C: 火 | D: 水 |
|---|---|---|---|---|
| 2 | 200 | 30 | 45 | 25 |
書き方は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 | 商品A | 3,000 | 2,500 |
| 3 | 商品B | 4,800 | 4,300 |
| 4 | 商品C | 2,200 | 1,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つ。
- Excel で開いた:MINUS関数は Excel の関数一覧にありません。
.xlsxで書き出したファイルや、Excel に貼った式でエラーになります。=MINUS(A2,B2)を=A2-B2に書き換えてください - つづりを間違えた:
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ステップ。
- 結果のセルを選ぶ
- メニューの「表示形式」→「数字」→「カスタム数値形式」を開く
#,##0;[Red]-#,##0と入力して「適用」を押す
セミコロンの左がプラスのとき、右がマイナスのときの書式です。予算差異の表なら、製造部の -30,000 だけが赤で表示されます。
まとめ
スプレッドシートの引き算について、要点を3つにまとめます。
- 普段の引き算は
=A1-B1の-で十分。3つ以上なら=A1-SUM(B1:D1)が扱いやすい - MINUS関数は
-の関数版。引数は2つだけで、Excel には関数がない - 列ごと引くなら $ 固定か ARRAYFORMULA。エラーが出たら、文字列や小数の誤差を疑う
MINUS関数は覚えておくと便利ですが、無理に - から置き換える必要はありません。迷ったら - を選んでおけば、Excel との行き来でも困らないはずです。
次は、同じ演算子の仲間である MULTIPLY関数 や DIVIDE関数 もあわせてチェックしてみてください。日付の引き算をもっと使いこなしたい方は、スプレッドシートの日付計算ガイド がおすすめです。
