関数の活用法データ分析や日々の業務で利用するExcel。特定の条件に基づいてデータを分類したり、評価したりする場面は非常に多いですね。IF関数とOR関数、および論理式をうまく組み合わせることで、複数の条件を柔軟に取り扱うことができます。今回は、異なる3つのパターンを通じて、このテクニックを詳しくご紹介します。テーマ表は以下のものとします(範囲はA1:I9)。参考学習:関数の中に関数を組み込み際の基本的な流れ(関数のネスト)個別に1つずつ式を評価させるパターン最も基本的な利用法です。各条件を個別に指定し、それらをOR関数で結合します。ここでは合格基準に以下のリストの値を採用します。76以下の式では、5つの科目のスコアがそれぞれの基準値以上であるかをチェックしています。セルG2へ作成して、8行目までコピーする式となります。=IF(OR(B2>=64,C2>=67,D2>=70,E2>=73,F2>=76),"〇","×")この式は、各科目のスコアが設定した基準をクリアしているか(TRUEかFALSEか)をOR関数で評価し、1つでもTRUEがあれば「〇」を、全てFALSEであれば「×」を表示します。以下で詳しく概要を確認します。この部分は、5つの条件式をOR関数で評価しています。論理式を並べて確認すると以下のようになります(他の論理式のサンプルはリンク先で確認してください)。B2>=64C2>=67D2>=70E2>=73F2>=76これらの条件式のうち、少なくとも1つが真(つまり、該当する)であれば、OR関数はTRUEを返します。それ以外の場合(すなわち、すべての条件が偽である場合)はFALSEを返します。IF関数は、最初の引数が真(TRUE)であるか偽(FALSE)であるかを評価し、それに応じて2番目の引数(ここでは「〇」)または3番目の引数(ここでは「×」)の値を返します。具体的には、上記で評価されたOR関数の結果がTRUEであれば、「〇」がセルに表示され、FALSEであれば、「×」がセルに表示されます。言い換えれば、受験者が上記で設定された5つの科目の合格ライン(英語:64点、国語:67点、数学:70点、理科:73点、社会:76点)のうち、少なくとも1つを満たしていれば「〇」(合格)が、1つも満たしていなければ「×」(不合格)が、その受験者に対応するセル(例えば、G2)に表示されます。この式を下にオートフィル(ドラッグまたはコピー&ペースト)することで、他の受験者についても同様の評価が行われ、各受験者が合格基準を満たしているかどうかが一目でわかるようになります。1つの配列と定数を評価させるパターン次に、配列と定数を比較するケースです。これはすべての科目に同じ基準点を適用したい場合などに有効です。全ての科目で70点以上を取っているかを確認する場合の式は次の通りです。=IF(OR(B2:F2>=70),"〇","×")この場合、B2からF2までの各セルが70以上であるかを一度に評価し、どれか一つでも70以上であれば「〇」を返し、全て70未満であれば「×」を返します。セルH2へ作成して、8行目までコピーする式となります。この論理式のように「複数のセルを一括で評価する」場合には注意点があります。以前のバージョンを利用しているならば「Ctrl+Shift+Enter」キーを使って「配列数式」として認識させる必要があります。365では自動的に「動的配列数式」として認識されるため特別な操作は不要です。この部分は、B2からF2までの各セルについて、それぞれが70以上であるかを真偽値(TRUE/FALSE)の配列として評価します。B2:F2は5セルあります。内部的には以下のような5つに分割されて真偽判断されます。以前のバージョンには備わっていません。以前のバージョンを利用しているならば最終確定時に「Ctrl+Shift+Enter」キーを使います。OR関数は、提供された上記の5つの配列の中にTRUEが1つでもあるかを評価します。TRUEが1つでもあれば、OR関数はTRUEを返し、そうでなければFALSEを返します。最後に、IF関数がOR関数の結果を評価し、TRUEであれば「〇」を、FALSEであれば「×」を返します。この式は、B2からF2の範囲のいずれかのセルの値が70以上である場合、「〇」を返し、それ以外の場合「×」を返します。以前のバージョンを利用しているならば「Ctrl+Shift+Enter」キーを使って確定してください。配列同士を評価させるパターン3つ目のパターンは、配列同士の比較です。これは、科目ごとに異なる基準値を設けたい場合に便利です。以下の式では、各科目のスコアがそれぞれの科目の基準点を上回っているかをチェックしています。セルI2へ作成して、8行目までコピーする式となります。=IF(OR(B2:F2>=$B$9:$F$9),"〇","×")ここでは、B2からF2のスコアが、B9からF9のラインS基準点以上であるかを一度に比較しています。いずれかの科目で基準をクリアしていれば「〇」、全ての科目で基準をクリアしていなければ「×」が返ります。F9)と比較され、それぞれのセルについて、スコアが合格ライン以上であるかを真偽値(TRUE/FALSE)で評価します。ここでは、セルごとの比較が行われていて、その結果が真偽値の配列として生成されます。B2:F2は5セル、B9:F9も5セル、と5セル同士の配列があります。内部的には以下のような5つに分割されて真偽判断されます。以前のバージョンには備わっていません。以前のバージョンを利用しているならば最終確定時に「Ctrl+Shift+Enter」キーを使います。OR関数は、前述の真偽値の配列を引数として受け取り、配列内にTRUEが1つでもあればTRUEを返し、すべてがFALSEであればFALSEを返します。言い換えれば、5つの科目のスコアのうち、1つでも合格ライン以上であればTRUEになります。IF関数は、OR関数の結果を評価します。OR関数の結果がTRUEであれば「〇」を、FALSEであれば「×」を返します。したがって、この式はB2からF2の各セルについて、対応する合格ライン(B9からF9)と比較し、1つでも合格ライン以上のスコアがあれば「〇」を、それ以外の場合は「×」を返します。この結果がセルI2に表示され、オートフィルにより他の行にも同じロジックが適用されます。このような配列数式は、特に多くのデータを一度に評価する場面や、複数の条件を同時にチェックしたい場合に非常に便利です。以前のバージョンを利用しているならば「Ctrl+Shift+Enter」キーを使って確定してください。以上、3つのパターンを通じて、IF関数とOR関数を活用する方法をご紹介しました。これらの基本的なテクニックをマスターすることで、Excelでのデータ処理がよりスムーズかつ効率的になります。日々の業務に活かしてみてください。参考学習:関数の中に関数を組み込み際の基本的な流れ(関数のネスト)セルG2へ以下の式を作成する際の操作手順を簡単に解説します。=IF(OR(B2>=64,C2>=67,D2>=70,E2>=73,F2>=76),”〇”,”×”)最初に一番外側のIF関数を作成します。セルG2をアクティブにして「関数の挿入」をクリックします。IF関数を選択しましょう。「論理式」にOR関数を組み込みます。カーソルを合わせてから左上の関数一覧より「その他の関数」を選びます。OR関数を選びましょう。OR関数に必要な設定を登録します。登録後は数式バーでIF関数の部分をクリックします。IF関数の再調整ができるようになります。真の場合、偽の場合を指定して完成です。OR関数を組み合わせた計算方法Excelでは、数式や関数をネストさせて複雑な計算を実行することができます。本記事では、「IF」、「AND」、「OR」関数を組み合わせた計算方法を紹介します。IF関数は、指定した条件が真か偽かによって、異なる値を返す...Excel_エクセルDATEDIF関数を使わずに年齢計算するDATEDIF関数を用いると年齢計算が可能です。この使い方に関しては別記事をご参照ください。ここではDATEDIF関数を使わずに計算する方法をご紹介します。IF,DATE,YEAR,MONTH,DAY,(TODAY)関数を使います。...Excel_エクセルIF関数内で「で始まる/で終わる/を含む」を使う・IF関数とワイルドカードIF関数の論理式内ではワイルドカード(*,?)を直接取り扱うことはできません。「で始まる/で終わる/を含む、といった条件で場合分けをする」という処理をする場合は少々複雑になります。前回はFILTER関数を使ったAND条件の設定方法について学びました。今回は、複数の条件のうち少なくとも一つを満たすデータを抽出する「OR条件」の設定方法に焦点を当てます。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。INDIRECT関数とSUMIFS関数を使った効率的な方法2023.04.032023.10.18COUNTIF関数で特定の文字「以外」を数える計算式(コピペ用練習資料あり)2015.07.292024.06.11特定の日付より前・後であることを判定する論理式:入力規則や条件付き書式へ!2023.08.012023.10.28FILTER関数を使用して特定の日付期間のデータを抽出する2024.01.16「配列の一部を変更することはできません。」:Excelのエラーメッセージ2024.01.282024.06.18部分一致検索が簡単にできる!ExcelのSEARCH関数とIF関数の活用方法2023.04.032023.10.22IF関数内で「で始まる/で終わる/を含む」を使う・IF関数とワイルドカード2015.07.292024.04.30セルに入力されている数値を○倍に一括更新するには2016.12.172023.07.20この操作は複数の選択範囲に対しては機能しません。2023.10.172024.04.20IF関数内で「以外」を使う2015.07.262024.06.11特定の時間/時刻より前・後であることを判定する論理式:入力規則や条件付き書式へ!2023.09.222023.10.25FILTER関数で「~を含まない」検索を実現する処理(除外検索)(1・単体)2024.04.10COUNTIF関数で特定の文字「で始まる/で終わる/を含む」セルを数える2015.07.292023.09.26Excelで日付の「○か月後」を簡単計算!EDATE関数とDATE関数の使い方2024.04.302024.05.01Excelで税込み価格から【税抜き】価格を求める計算方法と計算式2024.02.152024.06.24この操作を実行するとワークシート上のテーブル内でセルが移動されてしまうため、この操作は行われません。2024.04.27コピー領域と貼り付け領域のサイズが違うため、これをここに貼り付けることができません。2023.05.182024.05.04【エラー解説】この値は、このセルに定義されているデータ入力規則の制限を満たしていません。マクロ2024.07.21フォルダー内のファイル一覧を取得するマクロ2024.07.18VLOOKUP関数で複数ヒットをした際に全てをリストアップしたいが......(代替手段)2024.07.17VLOOKUPで「データがあるのにヒットしない」ケースの例と対処案2024.07.04ワークシート名の一覧をスピル形式で生成する方法(マクロ関数を使用する)2024.06.30教えて!gooexcelVBAについて。表を作っているのでフィルター時の、別の列に書いてある数字の表に現れた個別の数字の数量のみを表す式を教えてください。最新I/e?のキャッシュクリアexcelVBAについて。フィルターをかけた時の、別の列に書いてある数字の表に現れた数量のみを表す式を教えてください。excelVBAについて。excelVBAについて。excelVBAについて。別セルの2進数表示を合わせて表示したいエクセルシート保護を解除させない方法。Excelの数式について教えてください。条件付き書式の効率的な設定の仕方についてExcelの数式について教えてください。