トップ > 社会
社会Excelの数式にある「--」の意味は?AIの数式に頻出する記法を解説

内容
窓の杜の連載「いまさら聞けないExcelの使い方講座」で、Copilotが生成した数式などに見られる「--」の意味を解説する記事が公開されました。AIが作る数式に限らず、Excelに詳しい人が書いた数式でも使われることがある記法です。
「--」は何をしているのか
Excelは数値と文字列を区別しており、「"」で囲んだ数字は文字列として扱われます。たとえば「="12"」の結果は文字列ですが、先頭にマイナスを1つ付けた「=-"12"」では、Excelが文字列を数値に変換したうえで符号を反転させるため、数値の-12になります。
マイナスを2つ重ねた「=--"12"」では、反転した符号がもう一度反転して元に戻り、数値への変換だけが残ります。結果は数値の12です。つまり「--」は専用の関数や特別な演算子ではなく、符号反転を2回行うことで、Excelが自動で数値に変換する働きを利用した書き方だと説明されています。値が1減るといった意味はありません。
記事で取り上げられた数式では、REGEXEXTRACT関数で数量と単位をまとめて抜き出し、REGEXREPLACE関数で単位の部分を消しています。こうして残った値は数字に見えても中身は文字列のため、先頭の「--」で数値に直しているということです。
論理値も数値に変わる
「--」はTRUEを1、FALSEを0という数値に変える働きもあります。たとえば2つのセルが等しいかを調べる比較式に「--」を付けると、一致すれば1、不一致なら0が返ります。「<>」や「>=」などほかの比較演算子でも同様です。
必要になる場面と、消した場合の影響
記事では、修正前と修正後で商品コードか数量のどちらかが変わった行を数える例が示されています。同じ行の別々のセル同士を比べて件数を数える処理は、COUNTIF関数やCOUNTIFS関数だけでは行えません。
そこで、同じ位置の値を掛け合わせて合計するSUMPRODUCT関数を使い、2つの比較結果を足して0より大きいかを判定する式を引数に入れます。ところが、この判定結果はTRUEかFALSEの論理値で、SUMPRODUCT関数は数値以外を0として扱うため、そのままでは答えが0になってしまいます。判定式の前に「--」を加えると論理値が1と0に変わり、変更のあった行数が正しく合計されます。このように、「--」を削ると計算結果が変わってしまう場合があることが、見出しにある「削除禁止」の理由です。
なお、AND関数で行ごとに一致を判定し、COUNTIF関数でFALSEの数を数える方法でも同じ結果は得られます。ただしこの場合は各行に判定用の数式を入れる必要があり、判定結果を目で確かめたいときに向いているとされています。
使うときの注意点
数値に変換する方法としては「*1」や「+0」も同じ目的で使われますが、「--」は値や関数の前に付けるだけで済むため、短く書けるのが利点です。一方で、数値として読み取れない文字列は変換できず、「0012」のような文字列は先頭の0が消えて12になります。AIが付けた「--」を使う際も、こうした性質を踏まえておくとよいでしょう。
注目ポイント
AIにExcelの数式を作らせる人が増えるなかで、生成された式に見慣れない記号が入っていても、その意図が分からないまま使っている人は少なくないとみられます。一見すると入力ミスのような「--」に、計算結果を左右する役割があるという意外さが関心を集めています。不要に見える部分を消すと結果が変わる可能性がある点は、AIが作った数式を手直しする人にとって身近な注意点といえます。
ネットでの反応
ネット上では「符号を2回反転しているだけだったのか」と仕組みに納得する声や、AIの回答によく出てくるのに説明がなかったので助かったという声が見られます。また、プログラミング言語で真偽値への変換に使う「!!」や、整数化に使う「~~」になぞらえる受け止めもあります。
一方で、ぱっと見では意味が分かりにくいため、VALUE関数など意図が伝わりやすい書き方を選ぶべきだという意見もあります。これまで「+0」や「*1」で同じことをしていたという人や、ほかの言語では文法上通らない書き方なので戸惑うという声もあり、記事が便利さを紹介しているのに対し、読みやすさを重視する立場からの受け止めも出ています。
参考記事
- 【Excel】AIが作った数式に「--」が入っていたけど、いらなくない? 削除禁止の理由【いまさら聞けないExcelの使い方講座】 2026年10月21日 07:15
今話題の記事
ランキング登場履歴
| 2026年10月22日 1時 | 10位 |
| 2026年10月21日 21時 | 18位 |
この記事の内容に誤りを見つけた方は 情報の誤りを報告 からお知らせください。