画像クレジット: マヌエルブレバコルメイロ/モーメント/ゲッティイメージズ
If関数は、論理的な真/偽のテストに基づいて条件付き評価を提供することにより、Excelの基本的な計算機能を拡張します。 例として、ExcelのIf Thenステートメントでは、数値を合計に追加する前に、数値が正であることを確認するようにExcelに指示できます。 単一の比較はすでに非常に便利ですが、Excelは、非常に複雑な状況に対処するために、最大64個のネストされたIfステートメントをサポートしています。
基本フォーマット
If関数は、基本的な形式「if(test、true、false)」に従って、基本的な比較を作成します。 論理テストでは、実質的に他の関数または参照を演算子および比較値と組み合わせて使用できます。 たとえば、「A1> 0」は単にA1の値が正であるかどうかをチェックし、「SUM(A1:E1)= F2」は、参照される5つのセルの合計がF2の値と等しいかどうかを評価します。 テキスト値を比較するには、比較テキストを引用符で囲みます。 方程式の真の値と偽の値は、論理テストに依存するアクションまたは出力です。 次の例では、A1が "Doe、John"に等しいかどうかをテストし、その比較がtrueの場合はB1の値をC1に追加し、falseの場合は何も出力しません(空の引用符で表されます)。
今日のビデオ
= IF(A1 = "Doe、John"、B1 + C1、 "")
If関数のネスト
ネストとは、別のIf関数のtrueまたはfalseアクションの代わりに追加のIfステートメントを挿入することを意味します。 例として、A1の値が0より大きく10より小さいかどうかをテストするには、次の式を使用できます。
= IF(A1> 0、IF(A1 <10、 "0から10の間"、 "")、 "")
ご覧のとおり、この単純な問題でも混乱を招く可能性があるため、「A1がゼロより大きい場合は、A1が10より小さいかどうかを確認してください。 そうである場合は、「0から10の間」を出力します。 それ以外の場合は何も出力せず、元の比較がfalseの場合は、何も出力しません。」
ネストされたIfステートメントの簡略化
ネストされたIfステートメントを単純化する1つの方法は、ExcelのAnd関数とOr関数を使用して比較を組み合わせることにより、それらの使用を最小限に抑えることです。 これらの関数は、最大255回の比較のために、「AND(test1、test2、...)」または「OR(test1、test2、...)」として構成されています。 前の例では、次の式を使用してA1が0より大きく10より小さいかどうかを単一のステップで確認することにより、ネストされたIfステートメントを削除できます。
= IF(AND(A1> 0、A1 <10)、 "0から10の間"、 "")
そのステートメントは、より単純に次のようになります。「A1がゼロより大きく、A1が10より小さい場合、「0から10の間」を出力します。 それ以外の場合は、何も出力しません。」
複雑な数式の作成
複雑なネストされた数式を最初から最後まで1つのステップで作成するのは非現実的であることが多いため、内側から外側、または外側から内側のアプローチを使用することをお勧めします。 いずれの場合も、単一の比較を記述し、結果をテストし、次の比較を追加し、再度テストするというようになります。 前のネストされた例では、出力をテストするために次の式から始めることができます。
= if(A1 <10、 "0から10の間"、 "")
次に、その周りに最初の比較を追加します。たとえば、= if(A1> 0、if(A1 <10、 "between zero and 10"、 "")、 "")
同様に、外側から内側に向かって作業し、配置マーカーを使用して最初の比較をテストしてから、マーカーの代わりにネストされたIfステートメントを追加できます。例:= if(A1> 0、 "true"、 "")
次に、「true」とその引用符を次の比較に置き換えます。 このメソッドは、trueアクションとfalseアクションの両方にネストされたステートメントを追加する場合にもうまく機能します。