Excel数式でANDとORを0/1化する

LWP | Excel数式でANDとORを0/1化する

LWP TECHNICAL ARTICLE | 180

Excel数式でANDとORを0/1化する

掛け算・足し算・SIGNから、論理演算とTRUEの個数の違いを理解する

Copyright © 2026 LWP 山中 一弘

本資料は、出典を明記いただければ、商用・非商用を問わず、ご自由に複製・改変・再配布していただけます。なお、著作権表示は改変せず、そのまま記載してご利用くださいますようお願いいたします。

記事要約

Excelでは、比較式が返すTRUE/FALSEを算術演算に入れると、TRUEを1、FALSEを0として扱えます。この性質を使うと、ANDは条件どうしの掛け算で、そのまま0/1として表現できます。

一方、ORを条件どうしの足し算だけで表すと、結果は0/1ではなく「TRUEになった条件の個数」です。ORとして使うには、0なら0、1以上なら1へ正規化する必要があります。論理値が欲しければ 合計>0、数値の0/1が欲しければ --(合計>0)、MIN(1,合計)、または合計が非負であることを前提に SIGN(合計) を使えます。

この記事では、ANDとORを単なる暗記ではなく、0/1の算術として組み立てます。結論は「ANDは積、ORは和ではなく、和を0/1へ正規化したもの」です。

本記事の対象とゴール

想定読者

  • Excelの比較式やAND、OR関数は使えるが、TRUE/FALSEの数値化を整理したい方

  • 複数条件を配列計算、集計、フィルター条件へ組み込みたい方

  • 二重単項マイナス、SIGN、MINの使い分けを説明できるようになりたい方

本記事で得られること

  1. ANDを掛け算で表せる理由を真理値表から説明できます。

  2. ORの足し算が「TRUEの個数」になる理由と、0/1へ戻す方法を選べます。

  3. 論理値と数値0/1を意識して、目的に合う数式を書けます。

はじめに ANDとORを算術として見る

Excelの比較演算子は、TRUEまたはFALSEを返します。たとえば、次の2式はそれぞれ独立した条件です。

A1=10
B1=20

比較結果を + や * など数値を必要とする演算へ渡すと、Excelは論理値を数値へ変換します。ここでは、TRUEを1、FALSEを0として扱えます。

TRUE  → 1
FALSE → 0

この対応を使えば、論理演算を0/1の計算として観察できます。ただし、ANDとORには決定的な違いがあります。

第1章 ANDは掛け算でそのまま表せる

1.1 2条件のAND

次の式は、2つの条件を掛けています。

=(A1=10)*(B1=20)

結果を真理値表で確認すると、ANDと一致します。

条件1 条件2 積 ANDとしての結果
FALSE FALSE 0×0 = 0 0
TRUE FALSE 1×0 = 0 0
FALSE TRUE 0×1 = 0 0
TRUE TRUE 1×1 = 1 1

一つでもFALSE、つまり0が含まれれば積は0です。すべてがTRUE、つまり1のときだけ積が1になります。

1.2 条件が増えても同じ

3条件でも考え方は変わりません。

=(A1=10)*(B1=20)*(C1=30)

どれか一つが0なら積は0、すべてが1なら積は1です。ANDでは、掛け算の後も値が0または1の範囲に保たれます。追加の正規化は必要ありません。

第2章 ORの足し算はTRUEの個数になる

2.1 単純に足すと2が現れる

ORも同じ発想で足してみます。

=(A1=10)+(B1=20)
条件1 条件2 和 ORとして欲しい結果
FALSE FALSE 0+0 = 0 0
TRUE FALSE 1+0 = 1 1
FALSE TRUE 0+1 = 1 1
TRUE TRUE 1+1 = 2 1

両方がTRUEのとき、和は2です。単純な足し算が返しているのはORではなく、TRUEになった条件の個数です。

0個の条件がTRUE → 0
1個の条件がTRUE → 1
2個の条件がTRUE → 2

条件が5個なら、結果は0から5までになります。これは失敗ではありません。条件成立数を求めたい場合には、そのまま有用な値です。

2.2 ORに必要なのは正規化

ORとして欲しい変換は次のとおりです。

0     → 0
1以上 → 1

したがって、算術的なORは一段ではなく二段です。

条件を足す
↓
TRUEの個数を得る
↓
0か1以上かに正規化する

第3章 まず論理値としてORを作る

3.1 合計が0より大きいかを判定する

TRUEの個数が1以上かどうかを、そのまま比較します。

=(A1=10)+(B1=20)>0

Excelでは比較演算より加算の優先順位が高いため、まず条件の合計が計算され、その後に >0 が評価されます。読み手に意図を明確にするなら、次のように合計部分を括弧で囲むと安全です。

=((A1=10)+(B1=20))>0

この式の結果はTRUE/FALSEです。ORの結果をIFの条件や別の論理式で使うなら、これで完成です。

3.2 標準のOR関数を使う選択

「複数条件のどれかがTRUEか」を表したいだけなら、標準のOR関数が最も意味を伝えます。

=OR(A1=10,B1=20)

算術表現は仕組みを理解したり、配列演算へ組み込んだりするときに有用です。通常の業務式では、読み手が意図を理解しやすいOR関数も有力です。

第4章 TRUE/FALSEを数値の0/1へ戻す

4.1 二重単項マイナス

比較結果を数値化する代表的な書き方です。

=--(((A1=10)+(B1=20))>0)

処理の流れは次のとおりです。

条件を足す
↓
0より大きいかを判定する
↓
TRUE/FALSEを得る
↓
--で1/0へ変換する

短く書ける反面、二重単項マイナスに慣れていない人には説明が必要です。

4.2 N関数

数値への変換を名前で示したい場合は、N関数を使えます。

=N(((A1=10)+(B1=20))>0)

TRUEは1、FALSEは0になります。二重単項マイナスより少し長い一方、変換の意図を説明しやすい書き方です。

4.3 IF関数

最も明示的に書くならIF関数です。

=IF(((A1=10)+(B1=20))>0,1,0)

「1件以上なら1、そうでなければ0」が式に現れます。数式の短さより説明の明確さを優先する場面に向きます。

第5章 数値のまま0/1へ正規化する

5.1 MINで上限を1にする

条件の合計は0以上なので、最大値を1へ制限すればORになります。

=MIN(1,(A1=10)+(B1=20))
MIN(1,0) → 0
MIN(1,1) → 1
MIN(1,2) → 1

これは、値を1で飽和させる考え方です。条件が増えて合計が7になっても、結果は1です。

5.2 SIGNで0か正数かを識別する

SIGN関数は、正の数なら1、0なら0、負の数なら-1を返します。条件式の合計は0以上なので、次の式で0/1へ正規化できます。

=SIGN((A1=10)+(B1=20))
SIGN(0) → 0
SIGN(1) → 1
SIGN(2) → 1

条件成立数が負にならないことを前提にできる場合、SIGNは「0か正数か」を直接0/1へ写す簡潔な方法です。

5.3 なぜ n^0 は使わないのか

正の数だけを見れば、1、2、3の0乗はいずれも1です。しかしORには、すべてFALSEで合計が0になるケースがあります。そこで0の0乗を式の意味に持ち込むことになります。

ORの意図は「合計が0か、正か」です。この意図をそのまま表せる >0、MIN、SIGNがあるため、べき乗を使う理由はありません。

第6章 純粋な0/1演算としてのOR

6.1 2変数なら x+y-xy

入力が0または1に限られるとき、次の式もORと一致します。

x OR y = x + y - xy
x y x+y-xy
0 0 0
1 0 1
0 1 1
1 1 1

別の形なら、次の式も同じです。

x OR y = 1 - (1-x)(1-y)

数学的には整っていますが、Excelで同じ比較式を何度も書くと読みにくくなります。理論の理解には有用でも、実務式ではSIGN、MIN、OR関数の方が意図を伝えやすいことが多いでしょう。

第7章 目的別に式を選ぶ

目的 推奨例 戻り値
標準的にORを表す =OR(A1=10,B1=20) TRUE/FALSE
算術式の合計からORを判定する =((A1=10)+(B1=20))>0 TRUE/FALSE
ORを0/1にする =--OR(A1=10,B1=20) 0/1
算術の考え方を維持して0/1にする =SIGN((A1=10)+(B1=20)) 0/1
上限1として説明する =MIN(1,(A1=10)+(B1=20)) 0/1
TRUEの件数を数える =(A1=10)+(B1=20) 0~条件数

式の短さだけで選ばず、結果を論理値として使うのか、数値として集計するのか、成立件数そのものが欲しいのかを先に決めます。

まとめ ANDは積、ORは和の正規化

  • 比較結果を算術演算へ渡すと、TRUEを1、FALSEを0として扱えます。

  • ANDは0/1の積であり、掛け算だけで結果が0/1に保たれます。

  • ORの単純な足し算は、ORではなくTRUEになった条件の個数です。

  • ORにするには、合計を「0なら0、1以上なら1」へ正規化します。

  • 論理値が欲しければ 合計>0、数値が欲しければ二重単項マイナス、N、IF、MIN、SIGNなどを目的に応じて選びます。

算術として最も対称的にまとめるなら、次の形です。

AND = PRODUCT
OR  = SIGN(SUM)

ただし、業務数式の最終基準は「短いか」ではなく、「何を返す式なのかを読み手が判断できるか」です。

参考資料

  • Microsoft Support「Calculation operators and precedence in Excel」

  • Microsoft Support「SIGN function」

  • Microsoft Support「Logical functions (reference)」

出典メモ

  • 元原稿: C:\Users\hoehoe\Downloads\記事ネタmd\Excel数式のANDとORを掛け算・足し算で表す――ORを0-1に正規化するには.md

  • 元原稿の主張、数式、比較表を素材に、論理値と数値0/1の使い分けが前から読める構成へ再編集しました。

  • Excelの演算子、比較結果、SIGN、ORの説明は、2026年8月21日にMicrosoft公式資料で確認しました。

  • 公式資料: https://support.microsoft.com/en-us/excel/calculation-operators-and-precedence-in-excel

  • 公式資料: https://support.microsoft.com/en-us/office/sign-function-109c932d-fcdc-4023-91f1-2dd0e916a1d8

  • 公式資料: https://support.microsoft.com/en-US/Excel/logical-functions-reference