MicrosoftExcelでIFステートメントを使用する方法

MicrosoftExcelでIFステートメントを使用する方法

スクリプトプログラムでIFステートメントがどれほど用途が広いかは誰もが知っていますが、Excelのセル内で同じロジックの多くを使用できることをご存知ですか?





プログラム内のIFステートメントの基本的な定義は、いくつかの入力の結果に基づいて特定の何かを出力できるようにすることです。他の計算の出力に基づいて、まったく異なる計算を実行できます。条件付き書式を実行できます。入力セルの文字列検索に基づいて出力することもできます。





これが複雑に聞こえても、心配しないでください。 ExcelでIFステートメントを使用できるいくつかの創造的な方法を見てみましょう。





ExcelのIFステートメントとは何ですか?

ほとんどの人がExcelでIFステートメントを使用することを考えるとき、彼らはVBAを思い浮かべます。これは、IFステートメントが通常プログラミングの世界で使用されるロジックであるためです。ただし、これと同じプログラミングロジックをスプレッドシートセル自体の内部で使用できます。

セルに「= IF(」と入力すると、IFステートメントの構文が正しく機能するために必要なものがわかります。基本的な要件は「論理テスト」です。デフォルトでは、セルへの出力は次のようになります。 TRUEまたはFALSEですが、関数に追加のパラメーターを含めることでカスタマイズできます。



基本的なIF関数のしくみ

まず、基本的なIF関数を見てみましょう。上記のスプレッドシートの例では、車に関連してログに記録する4つのアクティビティがあります。オイル交換、車の修理、登録、保険の更新の4つのイベントのいずれかが発生した日付を記録します。

'Repaired'列に 'YES'が含まれている場合、イベントタイプに 'REPAIR'を設定するとします。それ以外の場合は、「NON-REPAIR」にする必要があります。このIFステートメントのロジックは非常に単純です。





=IF(C2='YES','Repair','Non-Repair')

列全体にこの数式を入力すると、次の結果が返されます。

これは便利なロジックですが、この特定のケースではあまり意味がありません。誰かがしなければならないのは、その日付が修理を含んでいたかどうかを識別するために「修理済み」列を見るだけです。





それでは、この列をもう少し便利にすることができるかどうかを確認するために、いくつかのより高度なIF関数ステートメントを調べてみましょう。

ANDおよびIFステートメント

通常のプログラムと同様に、相互に依存する2つまたは3つの条件を調べるために、ANDロジックを使用する必要がある場合があります。ここでも同じことが言えます。

計画済みまたは計画外の2つの新しいイベントタイプを定義しましょう。

この例では、 オイル交換 桁。私は通常、毎月2日にオイル交換をスケジュールしていることを知っています。月の2日目にないオイル交換は、計画外のオイル交換でした。

これらを識別するには、次のようなANDロジックを使用する必要があります。

=IF(AND(DAY(A2)=2,B2='YES'),'Planned','Unplanned')

結果は次のようになります。

これはうまく機能しますが、ご覧のとおり、わずかな論理的な欠陥があります。これは、予定日にオイル交換がいつ発生するかを示すために機能します。それらは「計画済み」として表示されます。ただし、[オイル交換]列が空白の場合、出力も空白になります。オイル交換が行われたことがないため、これらの場合に結果を返すことは意味がありません。

これを実現するために、次の高度なIF関数のレッスンであるネストされたIFステートメントに進みます。

ネストされたIFステートメント

最後の関数に基づいて、元のIFステートメント内に別のIFステートメントを追加する必要があります。元のオイル交換セルが空白の場合、これは空白を返すはずです。

シカゴスタイルの脚注をWordに挿入する方法

そのステートメントは次のようになります。

=IF(ISBLANK(B2),'',IF(AND(DAY(A2)=2,B2='YES'),'Planned','Unplanned'))

今、ステートメントは少し複雑に見え始めていますが、よく見ると実際にはそうではありません。最初のIFステートメントは、B列のセルが空白かどうかをチェックします。そうである場合は、空白または ''を返します。

空白でない場合は、上記のセクションで使用したのと同じIFステートメントを最初のIFステートメントのFalse部分に挿入します。このように、実際にオイル交換が行われたときのオイル交換の日付に関する結果を確認して書き込むだけです。それ以外の場合、セルは空白です。

ご想像のとおり、これは非常に複雑になる可能性があります。したがって、IFステートメントをネストする場合は、常に1ステップずつ実行してください。ネストを開始する前に、個々のIFステートメントロジックをテストしてください。なぜなら、これらのいくつかをネストすると、それらのトラブルシューティングは本当に悪夢になる可能性があるからです。

任意のウェブサイトからビデオをダウンロードする方法

ORステートメント

次に、ロジックを1ノッチ上げます。今回は、オイル交換・修理と登録・保険を同時に行った場合は「年次メンテナンス」を返却し、オイル交換のみを行った場合は「定期メンテナンス」を返却したいとします。複雑に聞こえますが、適切なIFステートメントロジックがあれば、それほど難しくはありません。

この種のロジックでは、ネストされたIFステートメントといくつかのORステートメントの両方を組み合わせる必要があります。そのステートメントは次のようになります。

=IF(OR(B2='YES',C2='YES'),IF(OR(D2='YES',E2='YES'),'Yearly Maintenance','Routine Maintenance'),'')

結果は次のようになります。

ネストされたIFステートメント内でさまざまな論理演算子を組み合わせるだけで実行できる複雑な分析の種類は注目に値します。

値の範囲に基づく結果

多くの場合、値の範囲をある種のテキスト結果に変換すると非常に便利です。これは、華氏0度から50度の温度を「低温」に、50度から80度を「暖かい」に、80度を超える温度を「高温」に変換するのと同じくらい簡単です。

文字のスコアのために、教師はおそらくこのロジックを最も必要としています。次の例では、そのような範囲だけに基づいて数値をテキストに変換する方法を探ります。

教師が次の範囲を使用して文字の成績を決定するとします。

  • 90から100はAです
  • 80から90はBです
  • 70から80はCです
  • 60から70はDです
  • 60歳未満はFです

この種のマルチネストIFステートメントは次のようになります。

=IF(B2>89,'A',IF(B2>79,'B',IF(B2>69,'C',IF(B2>59,'D','F'))))

各巣はシリーズの次の範囲です。正しい数の括弧でステートメントを閉じるには、非常に注意する必要があります。そうしないと、関数が正しく機能しません。

結果のシートは次のようになります。

ご覧のとおり、これにより、説明的な文字列の形式で任意の数値を表すことができます。また、シートの数値が変更された場合も自動的に更新されます。

IF-THENロジックの使用は強力です

プログラマーとして、あなたはすでにIFステートメントの力を知っています。論理分析を自動化して計算することができます。これはスクリプト言語では非常に強力ですが、ご覧のとおり、Excelスプレッドシートのセル内でも同様に強力です。

少しの創造性であなたはいくつかをすることができます とても印象的なもの ExcelのIFステートメントロジックおよびその他の数式を使用します。

ExcelでIFステートメントを使用してどのような独自のロジックを思いついたのですか?以下のコメントセクションであなた自身のアイデアやヒントを共有してください!

共有 共有 つぶやき Eメール VirtualBoxLinuxマシンを過給するための5つのヒント

仮想マシンによって提供されるパフォーマンスの低下にうんざりしていませんか? VirtualBoxのパフォーマンスを向上させるためにすべきことは次のとおりです。

次を読む
関連トピック
  • プログラミング
  • スプレッドシート
  • マイクロソフトエクセル
著者について ライアン・デューブ(942件の記事が公開されました)

ライアンは電気工学の理学士号を取得しています。彼は自動化エンジニアリングで13年間、ITで5年間働いており、現在はアプリエンジニアです。 MakeUseOfの元編集長であり、データの視覚化に関する全国会議で講演され、全国のテレビやラジオで取り上げられました。

RyanDubeのその他の作品

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください