ExcelでAIが作成した数式や、ほかの人が作った数式を見たとき、

「数式の中にある『--』って何?」
「マイナスが2つ並んでいるけれど、必要なの?」
「消しても計算結果は変わらない?」
と思ったことはありませんか?
Excelの数式にある「--」は、主に文字列を数値に変換したり、TRUE・FALSEを1・0に変換したりするために使われます。
「--」はダブルマイナスとも呼ばれ、CopilotなどのAIが作成した数式にも登場します。
この記事では、「--」の意味と使い方を、実際の計算例を使って初心者向けに解説します。
※Windows版Microsoft 365 Excelを想定しています。Microsoft 365 Personalでも使用できる標準的な数式の仕組みです。
Excelの数式にある「--」とは?
Excelの「--」は、マイナス記号を2回使うことで、値を数値として扱うための書き方です。
例えば、次の数式を入力します。
=--"123"この数式の結果は「123」です。
「”123″」は文字列ですが、先頭に「--」を付けることで、数値の123へ変換されます。
仕組みは次のとおりです。
| 数式 | 結果 | 意味 |
|---|---|---|
="123" | 123 | 文字列の123 |
=-"123" | -123 | 数値へ変換して符号を反転 |
=--"123" | 123 | 符号を2回反転して数値の123にする |
マイナスを1回付けると「-123」になりますが、もう1回付けることで「123」に戻ります。
つまり、数値への変換を行いながら、元の正負の符号を維持しているわけです。

なお、「--」は専用の関数名ではありません。マイナスの演算子を2回続けて使ったものです。
「--」で文字列を数値に変換する方法
Excelでは、見た目が数字でも、実際には文字列として保存されている場合があります。
例えば、外部システムから取り込んだデータなどです。
このようなとき、「--」を使って数値に変換できます。
① 文字列の数字を用意する
A2セルに次の数式を入力します。
="123"この結果は「123」と表示されますが、データの種類は文字列です。
数値かどうかを確認するために、C2セルへ次の数式を入力します。
=ISNUMBER(A2)結果はFALSEになります。
ISNUMBER関数は、対象が数値ならTRUE、数値でなければFALSEを返す関数です。
② 「–」を付けて数値に変換する
次に、B2セルへ次の数式を入力します。
=--A2これで、A2セルの文字列を数値へ変換できます。
D2セルに次の数式を入力して確認してみましょう。
=ISNUMBER(B2)今度はTRUEになります。
| セル | 入力内容 | 結果 |
|---|---|---|
| A2 | ="123" | 123(文字列) |
| B2 | =--A2 | 123(数値) |
| C2 | =ISNUMBER(A2) | FALSE |
| D2 | =ISNUMBER(B2) | TRUE |

見た目はどちらも「123」ですが、「--」を使うことで、計算結果が文字列から数値へ変わっていることが分かります。
なお、「--」を使っても参照元のA2セルは変更されません。A2の文字列はそのまま残り、B2の計算結果が数値になります。
また、商品コードなどに使われる「00123」を数値へ変換すると、先頭のゼロが失われて「123」になります。コードや電話番号のように、先頭のゼロが重要なデータには注意してください。
「--」でTRUE・FALSEを1・0に変換する方法
「--」には、もう1つ便利な使い道があります。
それが、TRUEを1、FALSEを0へ変換する方法です。
例えば、次の数式を入力します。
=--TRUE結果は「1」になります。
一方、次の数式では、結果が「0」になります。
=--FALSE| 元の値 | 数式 | 結果 |
|---|---|---|
| TRUE | =--TRUE | 1 |
| FALSE | =--FALSE | 0 |
この仕組みは、条件に合うデータの件数を数えるときに役立ちます。
80点以上なら1、未満なら0にする
例えば、B2セルに85点と入力されている場合を考えます。
次の数式では、結果はTRUEになります。
=B2>=80一方、先頭に「--」を付けて、
=--(B2>=80)とすると、結果は「1」になります。
B2セルが70点なら、結果は「0」です。
条件を満たしているかどうかを、数値の1・0で表せるわけです。

SUMPRODUCT関数で「--」を消すとどうなる?
「--」の役割が特に分かりやすいのが、SUMPRODUCT関数を使った集計です。
例えば、次の点数表があるとします。
| 氏名 | 点数 |
|---|---|
| 佐藤 | 85 |
| 田中 | 70 |
| 鈴木 | 92 |
| 山田 | 60 |
| 高橋 | 88 |
この表で、80点以上の人数を数えてみましょう。
「--」がない場合
まず、次の数式を入力します。
=SUMPRODUCT(B2:B6>=80)80点以上の人は3人ですが、この数式では結果が「0」になります。
これは、条件式B2:B6>=80の結果がTRUE・FALSEであり、SUMPRODUCT関数が直接渡された論理値を数値として合計しないためです。
「--」を付けた場合
今度は、次の数式を入力します。
=SUMPRODUCT(--(B2:B6>=80))この場合では、結果は「3」になります。
この数式では、次の処理を行っています。
1.B2:B6>=80で80点以上か判定する
↓
2.--でTRUE・FALSEを1・0に変換する
↓
3.SUMPRODUCTで1・0を合計する
実際の判定結果は次のとおりです。
| 氏名 | 点数 | 80点以上? | 「–」変換後 |
|---|---|---|---|
| 佐藤 | 85 | TRUE | 1 |
| 田中 | 70 | FALSE | 0 |
| 鈴木 | 92 | TRUE | 1 |
| 山田 | 60 | FALSE | 0 |
| 高橋 | 88 | TRUE | 1 |
| 合計 | 3 |

これが、数式にある「--」を削除すると、計算結果が変わる場合がある理由です。
ただし、80点以上の人数を数えるだけなら、次のCOUNTIF関数でも計算できます。
=COUNTIF(B2:B6,">=80")こちらも結果は3になります。
単純な条件の件数集計なら、COUNTIF関数の方が分かりやすいでしょう。
状況に応じて使い分けしてみてください。
👉SUMPRODUCT関数は、複数条件を組み合わせたり、配列を使った計算を行ったりする場合に役立ちます。SUMPRODUCT関数の詳しい使い方は、以下の記事で紹介しています。
数式の「--」は削除してもよい?
「--」が必要かどうかは、数式の内容によって異なります。
例えば、数値として計算できる文字列を変換する場合や、SUMPRODUCT関数でTRUE・FALSEを数値化する場合には役立ちます。
一方、ほかの演算によってすでに数値へ変換されている場合や、COUNTIF関数のように別の方法で集計できる場合は、「--」が不要なこともあります。
そのため、AIが作成した数式に「--」が入っていても、意味を確認せずに削除しないことが重要です。
「--」以外にも数値へ変換する方法がある
例えば、文字列の「123」を数値に変換する場合は、次の方法も使えます。
| 数式 | 結果 |
|---|---|
=--"123" | 123 |
="123"*1 | 123 |
="123"+0 | 123 |
=VALUE("123") | 123 |

いずれも、今回の例では数値の123になります。
ただし、数式の中で「--」が使われている場合は、前後の計算も確認してから変更しましょう。
数値に変換できない文字列はエラーになる
「--」を付ければ、すべての文字列を数値に変換できるわけではありません。
例えば、
=--"ABC"と入力すると、#VALUE!エラーになります。
元々が数字でないため、変換できずにエラーが発生してしまいます。
また、
=--"ABC123"のような文字列から、数字部分だけを取り出すこともできません。
この場合は、数字を抽出するための別の関数が必要です。
👉商品コードや文字列から数字だけを取り出したい場合は、以下の記事で詳しく解説しています。
AIが作成した数式に「--」があったら?
CopilotなどのAIが作成した数式にも、「--」が含まれることがあります。
例えば、文字列を数値に変換したり、条件判定の結果を集計したりする数式です。
このようなときは、「不要なマイナスが2つ入っている」と判断せず、何を数値へ変換しているのかを確認してみましょう。
数式が長くて意味を理解できない場合は、Copilotに説明を求める方法もあります。
例えば、次のように質問します。

「このExcel数式にある『--』が何をしているのか、初心者にも分かるように説明してください。数式は変更しないでください。」
AIの説明は参考になりますが、必ずしも正しいとは限りません。重要な数式は、実際の計算結果も確認しましょう。
👉Excel Copilotで数式の意味を調べる詳しい手順は、以下の記事で解説しています。
まとめ|Excelの「--」は値を数値に変換するために使われる
Excelの数式にある「--」は、マイナス記号を2回使って値を数値として扱うための書き方です。
主な役割は次の2つです。
・文字列の数字を数値へ変換する
・TRUE・FALSEを1・0へ変換する
特にSUMPRODUCT関数では、「--」があるかどうかによって集計結果が変わる場合があります。
AIやほかの人が作った数式に「--」が含まれていても、意味を理解せずに削除しないようにしましょう。
まずは=--"123"や=--TRUEを入力して、計算結果を確認してみてください。





コメント