AND関数・OR関数の使い方【Excel】IF関数との組み合わせ実例

Excel AND OR 関数 組み合わせ アイキャッチ画像 Uncategorized

実務の現場でExcelシートに向き合っていると、単純な「もし〜なら」という1つの条件だけでは解決できない場面に必ず直面します。「営業1課の所属で、かつ売上が150万円以上のメンバーだけを抽出したい」「在庫数が5個以下、または次回入荷予定が未定の商品にアラートを出したい」といった、条件の掛け合わせが必要なシーンです。15年にわたり経理や営業管理の現場で、数千行に及ぶ複雑な予算管理表や顧客リストを扱ってきた筆者の経験から言えば、この「Excel AND OR 関数 組み合わせ」の精度が、そのまま業務のスピードとデータの正確性に直結します。社内研修で講師を務めていても、この論理関数の組み合わせを曖昧に理解していることが原因で、集計ミスを引き起こしているケースを非常によく見かけます。

Excel AND OR 関数 組み合わせ - 営業成績管理表の初期データ(社員ID A-001、氏名:田中、部署:営業部、売上金額:1200000、達成率:95%)
営業成績管理表の初期データ(社員ID A-001、氏名:田中、部署:営業部、売上金額:1200000、達成率:95%)
  1. 論理式を制する者が実務を制す:Excel AND OR 関数 組み合わせの本質的な挙動
    1. TRUEとFALSEがデータの「スイッチ」として機能する仕組み
    2. 引数の指定ミスを防ぐ「論理式の独立性」という考え方
    3. Microsoft公式ドキュメントに見る関数の拡張性と限界
  2. 複雑な条件分岐も迷わない!「かつ(AND)」と「または(OR)」の優先順位設計
    1. 数学の「カッコの計算」と同じ!優先順位の可視化
    2. 【初心者のつまずきポイント】否定の条件(NOT)との組み合わせ
    3. 実務での失敗あるある:文字列の「 」忘れによるエラー
  3. 【実例1】経理の月次決算を10分早める!支払条件と請求金額の自動判定
    1. 「30万円以上の高額案件」かつ「支払期日が3日以内」のアラート設定
    2. 「振込手数料の負担区分」を複数条件で自動判別する
    3. 参照:Microsoft公式サイトの支払い・日付管理に関する解説
  4. 【実例2】営業管理で差がつく!売上目標と新規獲得数のダブル達成フラグ
    1. インセンティブ対象者の抽出:売上120%達成 OR 新規5件以上
    2. ハイパフォーマンス層の特定:「A-001型番の販売」かつ「利益率20%以上」
    3. 営業現場でのあるある:数値と文字列の不一致
  5. 【実例3】在庫・納期管理のミスをゼロにする!欠品アラートの複数条件設定
    1. 「在庫僅少」または「発注から2週間経過」のデッドライン判定
    2. 複数倉庫の在庫合計が基準を下回った場合の判定
  6. IF関数との組み合わせで構築する「メンテナンス性の高い」自動判定ロジック
    1. 多段階の承認ルートを1つのセルで完結させる
    2. ネストが深くなりすぎた時の「数式内改行」テクニック
    3. 最新のIFS関数との使い分けとメリット・デメリット
  7. 「数式が動かない」を5秒で解決!現場でよく見る#VALUE!エラーと循環参照の罠
    1. #VALUE!エラーの正体:数値と文字列の「型」の不一致
    2. 循環参照:自分自身のセルの判定結果を使っていないか
    3. Microsoft公式サイトのトラブルシューティングガイド
  8. Googleスプレッドシートとはここが違う!関数挙動の微細な差異と互換性の注意点
    1. ARRAYFORMULA関数内での挙動の違い
    2. Excelからスプレッドシートへインポートする際のフォントと書式
    3. Microsoft 365のウェブ版とデスクトップ版の差
  9. 365ユーザーなら知っておきたい!FILTER関数やXLOOKUP関数による代替手段の検討
    1. FILTER関数で「条件に合う行」だけをごっそり抜き出す
    2. XLOOKUP関数の第四引数(見つからない場合)での論理判定
    3. 「数式が重い」を解消する:計算方法の自動/手動切り替え
  10. 社内研修で必ず受ける!AND・OR関数にまつわる5つの質問と回答
    1. Q1. 3つ以上の条件を組み合わせるとき、ANDとORを混ぜても大丈夫?
    2. Q2. 数値ではなく「セルに色がついているか」を条件にできる?
    3. Q3. AND関数の代わりに「」、OR関数の代わりに「+」を使うのはアリ?
    4. Q4. 条件を間違えて、全社員に「合格」を出してしまいました…。
    5. Q5. 255個以上の条件が必要になったらどうすればいい?
  11. データの精度を「関数」で保証するために明日から意識すべき3つの習慣
    1. 習慣1:数式を組む前に「論理の日本語化」を行う
    2. 習慣2:データの「型」を整える工程を惜しまない
    3. 習慣3:自分以外の誰かが触ることを常に想定する
    4. 関連記事

論理式を制する者が実務を制す:Excel AND OR 関数 組み合わせの本質的な挙動

Excelで複数の条件を判定する際、土台となるのがAND関数とOR関数です。これらは単独で使うよりも、他の関数や機能と「組み合わせる」ことで真価を発揮します。まずは、実務で絶対に外せない「戻り値」の考え方から整理していきましょう。

TRUEとFALSEがデータの「スイッチ」として機能する仕組み

AND関数やOR関数を入力した際、セルに「TRUE」や「FALSE」と表示されるのを見て、「これだけで何に使うのか?」と感じる初心者は少なくありません。筆者が社内研修で教えていると、ここでつまずく人が多いのですが、このTRUE/FALSEは、いわば「条件に合致したかどうかのフラグ(スイッチ)」です。

例えば、経理部で「支払日が本日以前」かつ「支払状況が未完了」という条件を判定する場合、両方が成立したときだけTRUE(真)が返ります。このスイッチを、後述するIF関数や条件付き書式に渡すことで、特定の行を赤く塗ったり、警告文を出したりといった自動化が可能になります。

引数の指定ミスを防ぐ「論理式の独立性」という考え方

初心者がやりがちなミスに、`=AND(B2=”営業部”, “総務部”)` のような記述があります。気持ちは分かりますが、Excelのルールでは「B2が営業部である」「B2が総務部である」という2つの論理式を個別に書かなければなりません。正解は `=AND(B2=”営業部”, B2=”総務部”)` ですが、これだと「営業部かつ総務部」という矛盾した条件になり、常にFALSEが返ってしまいます。

実務でよく見かけるのは、このように日本語の感覚で数式を組んでしまい、意図しない判定結果が出るケースです。数式を組む際は、1つひとつの引数が「それ単体で正しいか・間違いか(TRUEかFALSEか)」を判定できる状態になっているか確認してください。

Microsoft公式ドキュメントに見る関数の拡張性と限界

Microsoftの公式ドキュメントによれば、AND関数もOR関数も、最大255個の条件(引数)を指定できるとされています。
参照:https://support.microsoft.com/ja-jp/office/and-%E9%96%A2%E6%95%B0-5f848411-912b-42f2-8c44-325372481c00

しかし、筆者の実務経験から言えば、1つの数式に5つ以上の条件を並べるのは避けるべきです。なぜなら、後から誰が見ても内容を理解できない「スパゲッティ数式」になり、メンテナンス性が著しく低下するからです。もし条件が多すぎる場合は、作業列を作って段階的に判定することを推奨します。

複雑な条件分岐も迷わない!「かつ(AND)」と「または(OR)」の優先順位設計

実務で「Excel AND OR 関数 組み合わせ」を使う際、最も頭を悩ませるのが「入れ子(ネスト)」の構造です。「Aかつ(BまたはC)」といった、ANDの中にORを入れる、あるいはその逆のパターンを正確に組み立てる必要があります。

数学の「カッコの計算」と同じ!優先順位の可視化

論理関数の入れ子は、数学の四則演算で「( )」の中を先に計算するルールと全く同じです。
例えば、「営業部または経理部の社員」で、「かつ売上が100万円以上」という条件を考えましょう。

`=AND(OR(B2=”営業部”, B2=”経理部”), C2>=1000000)`

この数式では、まず `OR` の部分が計算され、その結果(TRUEかFALSE)が `AND` の1つ目の条件として渡されます。筆者がこれまで多くのファイルを添削してきた中で、このカッコの閉じ忘れや、ANDとORの順序を逆にしてしまい、正しく判定されないケースを数え切れないほど見てきました。

【初心者のつまずきポイント】否定の条件(NOT)との組み合わせ

「〜ではない」という否定条件を組み合わせる際、さらに混乱が生じやすくなります。例えば「営業部以外で、かつ売上が50万円以上」という条件です。

`=AND(B2<>“営業部”, C2>=500000)`

ここで `NOT` 関数を使うこともできますが、実務家としては `<>`(不等号)を使う方が数式が短くなり、可視性が高まるためおすすめです。初心者のうちは、いきなり数式を書き始めるのではなく、まず「(条件A または 条件B) かつ 条件C」のように、日本語で論理構造を紙やメモ帳に書き出す習慣をつけてください。

Excel AND OR 関数 組み合わせ - OR関数をAND関数の中に組み込み、数式バーでカッコの対応を確認している操作画面
OR関数をAND関数の中に組み込み、数式バーでカッコの対応を確認している操作画面

実務での失敗あるある:文字列の「 」忘れによるエラー

研修で教えていると、`=AND(B2=営業部, C2>1000)` のように、文字列をダブルクォーテーションで囲むのを忘れる方が必ずいます。Excelは「営業部」という文字を囲みがないと「定義された名前(変数)」として認識しようとし、結果として `#NAME?` エラーを返します。単純なミスですが、これが大きな集計表の中で1箇所でもあると、全体の計算が狂う原因になります。

【実例1】経理の月次決算を10分早める!支払条件と請求金額の自動判定

経理部門の現場では、毎月の支払処理において「特定の条件を満たす振込データ」を正確に抽出することが求められます。ここで「Excel AND OR 関数 組み合わせ」が威力を発揮します。

「30万円以上の高額案件」かつ「支払期日が3日以内」のアラート設定

例えば、仕入先リスト(A列に仕入先名、B列に請求金額、C列に支払期日)があるとします。経理担当者としては、キャッシュフロー管理のために「30万円以上の支払」かつ「期日が迫っているもの」を最優先で確認しなければなりません。

`=AND(B2>=300000, C2-TODAY()<=3)` この数式を条件付き書式に組み込めば、該当する行だけを自動で黄色くハイライトできます。筆者が経理部にいた頃、この設定を忘れて高額振込を失念しそうになった後輩がいましたが、仕組みでカバーすることでヒューマンエラーは物理的に排除可能です。

「振込手数料の負担区分」を複数条件で自動判別する

実務でよくあるシナリオとして、「支払金額が3万円未満」または「振込先が同一銀行」の場合は手数料を自社負担、それ以外は相手先負担というルールがあります。

`=OR(B2<30000, D2="同一銀行")` この論理式の結果をIF関数に渡せば、「自社負担」「相手負担」という文字を自動で表示させることができます。手入力による「見間違い」を防ぐことが、決算期の残業を減らすための第一歩です。

Excel AND OR 関数 組み合わせ - 経理用支払管理表。金額と銀行区分から手数料負担を自動判定し、条件付き書式で色がついている状態
経理用支払管理表。金額と銀行区分から手数料負担を自動判定し、条件付き書式で色がついている状態

参照:Microsoft公式サイトの支払い・日付管理に関する解説

日付の計算(TODAY関数など)と論理関数を組み合わせる際は、シリアル値の扱いに注意が必要です。
参照:https://support.microsoft.com/ja-jp/office/today-%E9%96%A2%E6%95%B0-5eb3078d-a82c-4736-8930-2f515c61f247

【実例2】営業管理で差がつく!売上目標と新規獲得数のダブル達成フラグ

営業管理の現場では、単に売上金額を見るだけでなく、複数の指標を組み合わせて評価を行うのが一般的です。

インセンティブ対象者の抽出:売上120%達成 OR 新規5件以上

営業部長から「今月は頑張った人に特別手当を出したい。売上が目標比120%を超えた人、あるいは新規顧客を5件以上獲得した人をリストアップしてくれ」と頼まれた場合、どう対応しますか?

`=OR(D2>=1.2, E2>=5)`

この数式を使えば、社員名「田中さん」や「佐藤さん」の横に、即座に「TRUE」が並びます。toy exampleとしての「りんご・みかん」ではなく、社員名や具体的な数値が入った管理表を使うことで、情報の信頼性が高まります。

ハイパフォーマンス層の特定:「A-001型番の販売」かつ「利益率20%以上」

特定の戦略商品(型番:A-001)を、高利益率で販売できている社員を特定するシナリオです。

`=AND(F2=”A-001″, G2>=0.2)`

筆者の経験では、このような「ピンポイントの掛け合わせ条件」をサッと抽出できると、会議での発言に説得力が増します。「なんとなく売れている気がする」ではなく、数式に基づいた客観的なデータこそが、営業管理の要です。

営業現場でのあるある:数値と文字列の不一致

営業担当者が入力したデータで、利益率が「20%」ではなく文字列の「20パーセント」と入力されているケースをよく見かけます。これではAND関数の判定が正しく行われません。数式を組む前に、データが数値形式になっているか確認することを忘れないでください。

【実例3】在庫・納期管理のミスをゼロにする!欠品アラートの複数条件設定

総務や物流部門における在庫管理は、1つのミスが事業全体を止めかねない重要な業務です。ここでも「Excel AND OR 関数 組み合わせ」による自動判定が欠かせません。

「在庫僅少」または「発注から2週間経過」のデッドライン判定

商品コード「B-202」の在庫管理において、「在庫が10個以下」または「発注ボタンを押してから14日以上経っても入荷していない」場合に、強力なアラートを出す数式です。

`=OR(C2<=10, AND(D2="発注済", E2<=TODAY()-14))` この数式は「ORの中にANDが入っている」構造です。筆者が研修で教えていると、このレベルの組み合わせで混乱する人が増えてきます。しかし、これを使いこなせれば、数千アイテムの在庫状況を1秒で把握できるようになります。

複数倉庫の在庫合計が基準を下回った場合の判定

「東京倉庫の在庫が5個以下」かつ「大阪倉庫の在庫も5個以下」という、全社的な欠品リスクを判定するシーンです。

`=AND(C2<=5, D2<=5)` 実務でよく見かける失敗は、どちらかの倉庫に在庫があるのに、合計数だけを見て「まだ大丈夫」と判断してしまうケースです。論理関数を細かく設定することで、拠点ごとのリスク管理が可能になります。

Excel AND OR 関数 組み合わせ - 在庫管理表(商品コード、東京在庫、大阪在庫、発注ステータス)。欠品リスクのある行にフラグが立っている様子
在庫管理表(商品コード、東京在庫、大阪在庫、発注ステータス)。欠品リスクのある行にフラグが立っている様子

ポイント: 在庫管理では「空白セル」の扱いに注意してください。Excelの論理式では、数値と比較する場合に空白を「0」とみなす挙動があるため、意図しないアラートが出る場合があります。

IF関数との組み合わせで構築する「メンテナンス性の高い」自動判定ロジック

AND関数やOR関数は、IF関数と組み合わせることで「TRUE/FALSE」を「合格/不合格」や「要確認/完了」といった具体的な言葉に変換できます。

多段階の承認ルートを1つのセルで完結させる

経理部門での承認ワークフローを想定しましょう。「金額が50万円以上」かつ「新規取引先」なら部長承認。それ以外(50万円未満、または既存取引先)は課長承認とするロジックです。

`=IF(AND(C2>=500000, D2=”新規”), “部長承認”, “課長承認”)`

このように「Excel AND OR 関数 組み合わせ」をIF関数の第一引数(論理式)に放り込むのが、実務における王道のパターンです。

ネストが深くなりすぎた時の「数式内改行」テクニック

筆者が後輩の作成したシートを修正するとき、最も改善を促すのが「数式の視認性」です。IFとAND/ORを組み合わせると数式が長くなりがちですが、`Alt + Enter` を使って数式バー内で改行すると劇的に読みやすくなります。

=IF(
AND(
OR(B2="営業部", B2="総務部"),
C2>=1000000
),
"特別表彰",
""
)

このように記述しておけば、数ヶ月後に自分が見直した際や、後任者がファイルを引き継いだ際も、ロジックを即座に理解できます。

Excel AND OR 関数 組み合わせ - 数式バーの中でAlt+Enterを使い、インデントをつけてAND/OR関数を整理している様子
数式バーの中でAlt+Enterを使い、インデントをつけてAND/OR関数を整理している様子

最新のIFS関数との使い分けとメリット・デメリット

Excel 2019やMicrosoft 365では、`IFS` 関数が使えます。複数の条件を並列で書けるため、AND/ORとの相性も良いですが、古いバージョンのExcelを使っている取引先とファイルを共有する場合、エラーになってしまう点に注意が必要です。実務家としては、相手の環境が不明な場合は従来の `IF` 関数のネストで対応するのが無難です。

「数式が動かない」を5秒で解決!現場でよく見る#VALUE!エラーと循環参照の罠

どれだけExcelに慣れていても、エラーは発生します。大切なのは、エラーの原因を即座に特定し、対処するスキルです。

#VALUE!エラーの正体:数値と文字列の「型」の不一致

AND関数の中で `>=1000` と判定しているのに、参照先のセルに「未定」という文字が入っていると、Excelは比較ができずに `#VALUE!` エラーを返します。
筆者が以前、営業管理システムのデータをExcelに貼り付けて集計していた際、数値に見えるセルの中に「不可視のスペース」が含まれており、小一時間悩まされたことがあります。

解決策: `CLEAN`関数や`TRIM`関数を使って、余計なスペースを取り除いてから論理判定を行うようにしてください。

循環参照:自分自身のセルの判定結果を使っていないか

例えば、B2セルの中で「B2がTRUEなら…」という数式を書くと循環参照エラーになります。社内研修で見かける「つまずきポイント」の代表格ですが、これが発生するとExcelの計算が止まってしまいます。ステータスバーを確認し、どのセルが原因か特定する癖をつけましょう。

Microsoft公式サイトのトラブルシューティングガイド

エラー値の種類とその原因については、Microsoftのヘルプページをブックマークしておくことをおすすめします。
参照:https://support.microsoft.com/ja-jp/office/excel-%E3%81%A7%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E5%9B%9E%E9%81%BF%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95-859704e6-8964-42f0-9497-259160538a8e

Googleスプレッドシートとはここが違う!関数挙動の微細な差異と互換性の注意点

近年、ExcelとGoogleスプレッドシートを併用する職場が増えていますが、「Excel AND OR 関数 組み合わせ」の挙動には一部注意が必要です。

ARRAYFORMULA関数内での挙動の違い

Googleスプレッドシートでは、列全体を一括判定する `ARRAYFORMULA` が多用されます。しかし、この中で `AND` や `OR` 関数を使うと、期待通りに「行ごとの判定」を行わず、範囲全体の結果を1つにまとめて返してしまうという特性があります。

スプレッドシートで列ごとのAND条件を記述する場合は、``(乗算)を、OR条件の場合は `+`(加算)を使うという独自のテクニックが必要です。

Excelからスプレッドシートへインポートする際のフォントと書式

論理関数そのものの互換性は高いですが、条件付き書式の設定(AND/ORを使った複雑なもの)は、インポート時に外れてしまったり、色が正しく再現されなかったりすることがあります。クラウド上で共有する際は、必ず一度動作を確認してください。

Microsoft 365のウェブ版とデスクトップ版の差

Excel自体も、ウェブ版では一部のアドインや高度な数式計算の速度が落ちることがあります。数万行の論理判定を行う場合は、デスクトップ版のアプリで作業するのが実務家の常識です。

365ユーザーなら知っておきたい!FILTER関数やXLOOKUP関数による代替手段の検討

最新のExcelを使っているなら、AND/OR関数をそのまま使うよりも効率的な方法があるかもしれません。

FILTER関数で「条件に合う行」だけをごっそり抜き出す

これまではIF関数とAND/ORを組み合わせて「フラグ」を立て、それをオートフィルタで絞り込んでいました。しかし、今の主流は `FILTER` 関数です。

`=FILTER(A2:E100, (B2:B100=”営業部”) (C2:C100>=1000000))`

ここで使われている `` は、実はAND関数の代わりをしています(論理積)。実務で大量のデータを抽出するなら、この「スピル機能」を使った手法の方が圧倒的に速く、数式の管理も楽になります。

XLOOKUP関数の第四引数(見つからない場合)での論理判定

VLOOKUPの進化系である `XLOOKUP` 関数では、検索結果が見つからなかった場合の処理を標準で備えています。ここにIF(AND(…))のような論理式を組み込むことで、エラー処理と条件判定を1つのセルに集約できます。

「数式が重い」を解消する:計算方法の自動/手動切り替え

大量の「Excel AND OR 関数 組み合わせ」がシート内に存在すると、PCの動作が重くなります。筆者の経験では、10万行を超える判定を行う際は、計算方法を「手動」に切り替え、入力が終わってから `F9` キーで一括計算させるのが時短のコツです。

社内研修で必ず受ける!AND・OR関数にまつわる5つの質問と回答

研修講師を務めていると、受講生から鋭い質問を受けることがよくあります。現場のリアルな疑問に対する回答をまとめました。

Q1. 3つ以上の条件を組み合わせるとき、ANDとORを混ぜても大丈夫?

A: 全く問題ありません。ただし、優先順位を明確にするために必ずカッコ `( )` を使ってください。「(A かつ B) または C」なのか「A かつ (B または C)」なのかで、結果は劇的に変わります。迷ったら、数式バーで各パーツをドラッグして `F9` キーを押すと、その部分だけの計算結果をプレビューできます。

Q2. 数値ではなく「セルに色がついているか」を条件にできる?

A: 残念ながら、標準のAND/OR関数ではセルの色を判定条件にすることはできません。実務では「色をつける原因となった元の数値やステータス」の方を条件に指定するのが基本です。どうしても色で判定したい場合は、VBA(マクロ)が必要になります。

Q3. AND関数の代わりに「」、OR関数の代わりに「+」を使うのはアリ?

A: アリです。これを「論理演算」と呼びます。TRUEは1、FALSEは0として計算されるため、`=(A1=100)*(B1=200)` はAND条件と同じになります。特にFILTER関数やSUMPRODUCT関数の中では、この書き方が推奨されます。

Q4. 条件を間違えて、全社員に「合格」を出してしまいました…。

A: 経理や営業管理では「一括置換」や「数式のコピーミス」で致命的なミスが起こり得ます。筆者が行っている対策は、シートの隅に「検算用のセル」を作っておくことです。特定の10行だけを手動で計算し、数式の判定結果と一致するかを確認する工程を必ず挟んでください。

Q5. 255個以上の条件が必要になったらどうすればいい?

A: その場合は、表の設計自体に問題がある可能性が高いです。条件を整理して「判定用のマスタテーブル」を別途作成し、VLOOKUPやXLOOKUPでマスタから値を引っ張ってくる設計に変更しましょう。数式を複雑にするのではなく、表の構造をシンプルにするのがプロの技です。

データの精度を「関数」で保証するために明日から意識すべき3つの習慣

15年の実務経験を経て確信しているのは、Excelスキルとは「どれだけ多くの関数を知っているか」ではなく、「どれだけ確実な仕組みを作れるか」であるということです。

習慣1:数式を組む前に「論理の日本語化」を行う

いきなり `=AND(` と打ち始めるのはやめましょう。まずはメモ帳でも裏紙でもいいので、「何をもって正解とするのか」を日本語の箇条書きにします。このワンステップが、結果としてデバッグ時間を大幅に短縮します。

習慣2:データの「型」を整える工程を惜しまない

「Excel AND OR 関数 組み合わせ」が失敗する原因の8割は、データの不備です。数字の全角・半角、余計なスペース、日付形式の誤り。これらを `CLEAN` 関数や「区切り位置」機能で整えてから数式を組む。この「急がば回れ」の精神が、信頼される集計表を生みます。

習慣3:自分以外の誰かが触ることを常に想定する

Excelは共有ツールです。どんなに優れた論理式を組んでも、他の人が見て理解できなければ、それは「壊れやすい爆弾」をシートに埋め込んだのと同じです。Alt+Enterでの改行や、セルの横へのメモ書き、計算の前提条件の明記を徹底してください。

実務でExcelを使いこなすということは、こうした地味な積み重ねの先にあります。今回紹介したAND・OR関数の組み合わせをマスターすれば、あなたの作成する資料の説得力は格段に高まるはずです。

コメント

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