PR

Excelの数式にある「--」は何?ダブルマイナスの意味と使い方を解説

Excel
記事内に広告が含まれています。

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」に戻ります。
つまり、数値への変換を行いながら、元の正負の符号を維持しているわけです。

Excelでマイナスなし、1個、2個の数式と計算結果を比較した実画面

なお、「--」は専用の関数名ではありません。マイナスの演算子を2回続けて使ったものです。

「--」で文字列を数値に変換する方法

Excelでは、見た目が数字でも、実際には文字列として保存されている場合があります。

例えば、外部システムから取り込んだデータなどです。
このようなとき、「--」を使って数値に変換できます。

① 文字列の数字を用意する

A2セルに次の数式を入力します。

="123"

この結果は「123」と表示されますが、データの種類は文字列です。

数値かどうかを確認するために、C2セルへ次の数式を入力します。

=ISNUMBER(A2)

結果はFALSEになります。
ISNUMBER関数は、対象が数値ならTRUE、数値でなければFALSEを返す関数です。

② 「–」を付けて数値に変換する

次に、B2セルへ次の数式を入力します。

=--A2

これで、A2セルの文字列を数値へ変換できます。

D2セルに次の数式を入力して確認してみましょう。

=ISNUMBER(B2)

今度はTRUEになります。

セル入力内容結果
A2="123"123(文字列)
B2=--A2123(数値)
C2=ISNUMBER(A2)FALSE
D2=ISNUMBER(B2)TRUE
Excelで文字列123をダブルマイナスで数値化しISNUMBERで比較した画面

見た目はどちらも「123」ですが、「--」を使うことで、計算結果が文字列から数値へ変わっていることが分かります。
なお、「--」を使っても参照元のA2セルは変更されません。A2の文字列はそのまま残り、B2の計算結果が数値になります。

また、商品コードなどに使われる「00123」を数値へ変換すると、先頭のゼロが失われて「123」になります。コードや電話番号のように、先頭のゼロが重要なデータには注意してください。

「--」でTRUE・FALSEを1・0に変換する方法

「--」には、もう1つ便利な使い道があります。
それが、TRUEを1、FALSEを0へ変換する方法です。

例えば、次の数式を入力します。

=--TRUE

結果は「1」になります。

一方、次の数式では、結果が「0」になります。

=--FALSE
元の値数式結果
TRUE=--TRUE1
FALSE=--FALSE0

この仕組みは、条件に合うデータの件数を数えるときに役立ちます。

80点以上なら1、未満なら0にする

例えば、B2セルに85点と入力されている場合を考えます。

次の数式では、結果はTRUEになります。

=B2>=80

一方、先頭に「--」を付けて、

=--(B2>=80)

とすると、結果は「1」になります。
B2セルが70点なら、結果は「0」です。

条件を満たしているかどうかを、数値の1・0で表せるわけです。

80点以上の判定をTRUEとFALSEから1と0へ変換したExcel画面

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点以上?「–」変換後
佐藤85TRUE1
田中70FALSE0
鈴木92TRUE1
山田60FALSE0
高橋88TRUE1
合計3
SUMPRODUCTのダブルマイナスなしが0、ありが3、COUNTIFが3となるExcel画面

これが、数式にある「--」を削除すると、計算結果が変わる場合がある理由です。

ただし、80点以上の人数を数えるだけなら、次のCOUNTIF関数でも計算できます。

=COUNTIF(B2:B6,">=80")

こちらも結果は3になります。
単純な条件の件数集計なら、COUNTIF関数の方が分かりやすいでしょう。
状況に応じて使い分けしてみてください。

👉SUMPRODUCT関数は、複数条件を組み合わせたり、配列を使った計算を行ったりする場合に役立ちます。SUMPRODUCT関数の詳しい使い方は、以下の記事で紹介しています。

数式の「--」は削除してもよい?

「--」が必要かどうかは、数式の内容によって異なります。

例えば、数値として計算できる文字列を変換する場合や、SUMPRODUCT関数でTRUE・FALSEを数値化する場合には役立ちます。

一方、ほかの演算によってすでに数値へ変換されている場合や、COUNTIF関数のように別の方法で集計できる場合は、「--」が不要なこともあります。

そのため、AIが作成した数式に「--」が入っていても、意味を確認せずに削除しないことが重要です。

「--」以外にも数値へ変換する方法がある

例えば、文字列の「123」を数値に変換する場合は、次の方法も使えます。

数式結果
=--"123"123
="123"*1123
="123"+0123
=VALUE("123")123
文字列の123を数値に変換する4パターン

いずれも、今回の例では数値の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を入力して、計算結果を確認してみてください。

ろじゃー

仕事・子育てに奮闘中の社会人です。
仕事でも日常生活でも、ちょっとでも便利になることが紹介できるブログを書いています!
 
仕事柄、PC操作やエクセル、VBAなどは得意です!
Excel歴は10年以上の事務職。
関数やVBAを活用して、資料作成やデータ分析をはじめとした様々な業務の効率化・自動化に取り組んできました。
 
このブログでは、実際の業務で使える効率化テクニックを発信しています。
「わからない」や「困った」など問題を抱える方や、もっと効率化したいと思っている方に、少しでも役立てれば幸いです!

ご質問・ご相談など、お気軽にご連絡ください。

🥷 「現代で暮らすゆる忍者」ラインスタンプシリーズ公開中!日常や仕事、夫婦の会話など様々なシーンを製作しています
▶ LINEスタンプ一覧はこちら

ろじゃーをフォローする
ご質問・ご相談はこちらへ!
 ろじゃー|日々、ちょっとずつ良くなることを目指すブロガー
Excel歴10年以上。VBAや関数、業務効率化などを発信中。
📩 お問い合わせはこちら
Excel
シェアする
ろじゃーをフォローする

コメント

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