まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

【Excel関数】IF関数の使い方がわからないので教えて!

    f:id:m_kbou:20190520190637p:plain

IF関数とは、指定する条件に対象のデータが一致したのか?不一致なのか?の判定結果を表示させる関数になります。これにより、条件に合致するデータのみ集計したり、除外したりする事もできます。

 

【目次】

 

構文

IF関数の構文は、以下の様に書きます。

=======================================================================

=IF([条件][条件一致処理][条件不一致処理]

=======================================================================

[説明]:

関数を記述する場合は、最初に「=」(イコール)を記述します。[条件]には分岐させる条件を記述し、[条件一致処理]には[条件]に一致した場合に実行させる処理を記述します。[条件不一致処理]には[条件]に不一致の場合に実行させる処理を記述します。内容を纏めると、「もし[条件]に一致したならば、[条件一致処理]を実行し、不一致の場合は[条件不一致処理]を実行して下さい。」との意味になります。また、[条件]には比較演算子を使用した条件を記述しますので、参考までに比較演算子の一覧を載せておきます。

f:id:m_kbou:20190520190826p:plain

 

使い方

使い方について、具体的に説明していきます。

条件が固定の場合

最初に、以下の表とIF関数を使いながら、合否判定(80以上を合格・80未満を不合格)する表を完成させます。 

f:id:m_kbou:20190520190706p:plain

(1)A列に氏名、B列に点数が入力されています。

f:id:m_kbou:20190520190719p:plain

(2)C2セルにIF関数を入力するため、C2セルをダブルクリックします。
※セルをダブルクリックするとカーソルが点滅します。

f:id:m_kbou:20190520190733p:plain

(3)IF関数を使い合否判定(80以上で合格・80未満で不合格)する数式を入力します。
今回入力する数式は、『=IF(B2>=80,"合格","不合格")』となります。
入力後に<Enter>キーを押下します。

f:id:m_kbou:20190520190754p:plain

-------------------------------------------------------------------------------------------------------------

[入力した数式の詳細内容]:

=IF(B2>=80,"合格","不合格")

※今回入力したIF関数について説明します。まず[条件]ですが、今回の条件はB2セルに入力されている値が80以上なのか?80未満なのか?との内容になります。次に[条件一致処理]ですが、[条件]が80以上の場合(一致した場合)は、「合格」を表示するとの内容になります。次に[条件不一致処理]ですが、[条件]が80未満の場合(不一致の場合)は、「不合格」を表示するとの内容になります。よって、今回入力したIF文の内容は、「B2セルに入力した値が80以上の場合は「合格」を表示し、80未満の場合は「不合格」を表示して下さい。」との意味になります。

-------------------------------------------------------------------------------------------------------------

(4)B2セルに入力されている点数が20となるため、C2セルに表示される文字は『不合格』となります。 

f:id:m_kbou:20190520190810p:plain

条件が固定の場合の説明は以上です。

  

条件が可変する場合

以下の表とIF関数を使いながら、各個人の合否判定(判定条件以上を合格・未満を不合格)をする表を完成させていきます。

f:id:m_kbou:20190521105221p:plain

では具体的に説明していきます。

(1)A列に氏名、B列に点数が入力されています。

f:id:m_kbou:20190521105238p:plain

(2)まず最初に、合否判定をする判定条件をE2セルに入力していきます。

f:id:m_kbou:20190521105255p:plain

(3)今回は80以上を合格とするため、E2セルに80を入力します。

f:id:m_kbou:20190521105309p:plain

(4)C2セルにIF関数を入力するため、C2セルをダブルクリックします。
※セルをダブルクリックするとカーソルが点滅します。

f:id:m_kbou:20190521105322p:plain

(5)IF関数を使い合否判定(判定条件以上を合格・未満を不合格)する数式を入力します。
今回入力する数式は、『=IF(B2>=$E$2,"合格","不合格")』となります。
入力後に<Enter>キーを押下します。

f:id:m_kbou:20190521105337p:plain

-------------------------------------------------------------------------------------------------------------

[入力した数式の詳細内容]:

=IF(B2>=$E$2,"合格","不合格")

※今回入力したIF関数について説明します。まず[条件]ですが、今回の条件はB2セルに入力されている値がE2セル値以上なのか?未満なのか?との内容になります。次に[条件一致処理]ですが、[条件]のB2セルがE2セル以上の場合(一致した場合)は、「合格」を表示するとの内容になります。次に[条件不一致処理]ですが、[条件]のB2セルがE2セル未満の場合(不一致の場合)は、「不合格」を表示するとの内容になります。よって、今回入力したIF文の内容は、「B2セルに入力した値が80以上の場合は「合格」を表示し、80未満の場合は「不合格」を表示して下さい。」との意味になります。($マークのついている参照方式を「絶対参照」と呼び、「対象セルを固定する」との意味になります)

-------------------------------------------------------------------------------------------------------------

(6)B2セルに入力されている点数が20となるため、C2セルに表示される文字は『不合格』となります。

f:id:m_kbou:20190521105350p:plain

(7)ここで判定条件を変更してみます。今回は80以上→10以上に変更してみます。E2セルを80→10に変更します。

f:id:m_kbou:20190521105407p:plain

(8)判定条件を10以上に変更したため、C2セルには『合格』が表示されます。

f:id:m_kbou:20190521105426p:plain

条件が可変する場合の説明は以上です。

 

複数条件がある場合(AND関数を使用)

以下の表とIF関数及びAND関数を使いながら、結果(性別が”男”かつ点数が80以上を●・それ以外を×)を表示する表を完成させていきます。

f:id:m_kbou:20190521114038p:plain

では具体的に説明していきます。

(1)A列に氏名、B列に性別、C列に点数が入力されています。

f:id:m_kbou:20190521114102p:plain

(2)まず最初に、性別判定をする条件をF2セルに入力していきます。

f:id:m_kbou:20190521114120p:plain

(3)今回は性別が男か否かを判定するため、F2セルには”男”を入力します。

f:id:m_kbou:20190521114135p:plain

(4)次に、点数を判定する条件をG2セルに入力していきます。

f:id:m_kbou:20190521114149p:plain

(5)今回は点数が80以上を判定条件にするため、G2セルには”80”を入力します。

f:id:m_kbou:20190521114204p:plain

(6)次に、結果を判定するIF関数をD2セルに入力していきます。

f:id:m_kbou:20190521114217p:plain

(7)D2セルにIF関数を入力するため、D2セルをダブルクリックします。
※セルをダブルクリックするとカーソルが点滅します。

f:id:m_kbou:20190521114237p:plain

(8)IF関数を使い結果判定(性別が”男”かつ点数が80以上を●・それ以外を×)する数式を入力します。
今回入力する数式は、『=IF(AND(B2=$F$2,C2>=$G$2),"●","×")』となります。
入力後に<Enter>キーを押下します。

f:id:m_kbou:20190521114251p:plain

-------------------------------------------------------------------------------------------------------------

[入力した数式の詳細内容]:

=IF(AND(B2=$F$2,C2>=$G$2),"●","×")

※今回入力したIF関数について説明します。まず[条件]ですが、2つの条件を「かつ」で結び付ける場合は、「AND(条件1,条件2)」のように記述します。今回の条件は「B2セルに入力されている値がF2セル値と同じで、C2セルに入力されている値がG2セル値以上の場合」との内容になります。次に[条件一致処理]ですが、[条件]に一致した場合は、「●」を表示するとの内容になります。次に[条件不一致処理]ですが、[条件]に不一致の場合は、「×」を表示するとの内容になります。よって、今回入力したIF文の内容は、「B2セルに入力されている値がF2セル値と同じで、C2セルに入力されている値がG2セル値以上の場合は「●」を表示し、それ以外の場合は「×」を表示して下さい。」との意味になります。($マークのついている参照方式を「絶対参照」と呼び、「対象セルを固定する」との意味になります)

-------------------------------------------------------------------------------------------------------------

(9)今回の場合は、性別は男ですが点数が20となるため、D2セルに表示される文字は『×』となります。

f:id:m_kbou:20190521114303p:plain

(10)ここで判定条件を変更してみます。今回は点数を80→10に変更します。

f:id:m_kbou:20190521114410p:plain

(11)点数の判定条件が10以上に変更されたため、「性別が男で点数が10以上の場合は『●』を表示し、それ以外は『×』を表示する」に条件変更されたため、C2セルには『●』が表示されます。 

f:id:m_kbou:20190521114350p:plain

複数条件がある場合(AND関数を使用)の説明は以上です。

 

複数条件がある場合(OR関数を使用)

以下の表とIF関数及びOR関数を使いながら、結果(性別が”男”または点数が80以上を●・それ以外を×)を表示する表を完成させていきます。

f:id:m_kbou:20190521124531p:plain

では具体的に説明していきます。

(1)A列に氏名、B列に性別、C列に点数が入力されています。

f:id:m_kbou:20190521124550p:plain

(2)まず最初に、性別を判定をする条件をF2セルに入力していきます。

f:id:m_kbou:20190521124606p:plain

(3)今回は性別が男を判定とするため、F2セルには”男”を入力します。

f:id:m_kbou:20190521124620p:plain

(4)次に、点数を判定をする条件をG2セルに入力していきます。

f:id:m_kbou:20190521124656p:plain

(5)今回は点数が80以上を判定するため、G2セルには”80”を入力します。

f:id:m_kbou:20190521124715p:plain

(6)次に、結果を判定をするIF関数をD2セルに入力していきます。

f:id:m_kbou:20190521124926p:plain

(7)D2セルにIF関数を入力するため、D2セルをダブルクリックします。
※セルをダブルクリックするとカーソルが点滅します。

f:id:m_kbou:20190521124943p:plain

(8)IF関数を使い結果判定(性別が”男”または点数が80以上を●・それ以外を×)する数式を入力します。
今回入力する数式は、『=IF(OR(B2=$F$2,C2>=$G$2),"●","×")』となります。
入力後に<Enter>キーを押下します。

f:id:m_kbou:20190521124727p:plain

-------------------------------------------------------------------------------------------------------------

[入力した数式の詳細内容]:

=IF(OR(B2=$F$2,C2>=$G$2),"●","×")

※今回入力したIF関数について説明します。まず[条件]ですが、2つの条件を「または」で結び付ける場合は、「OR(条件1,条件2)」のように記述します。今回の条件は「B2セルに入力されている値がF2セル値と同じか、C2セルに入力されている値がG2セル値以上の場合」との内容になります。次に[条件一致処理]ですが、[条件]に一致した場合は、「●」を表示するとの内容になります。次に[条件不一致処理]ですが、[条件]に不一致の場合は、「×」を表示するとの内容になります。よって、今回入力したIF文の内容は、「B2セルに入力されている値がF2セル値と同じか、C2セルに入力されている値がG2セル値以上の場合は「●」を表示し、それ以外の場合は「×」を表示して下さい。」との意味になります。($マークのついている参照方式を「絶対参照」と呼び、「対象セルを固定する」との意味になります)

-------------------------------------------------------------------------------------------------------------

(9)今回の場合は性別が男であるため、点数が20でもD2セルに表示される文字は『●』となります。

f:id:m_kbou:20190521124742p:plain

(10)ここで判定条件を変更してみます。今回は性別を男→女に変更してみます。F2セルを”男”→”女”に変更します。

f:id:m_kbou:20190521124838p:plain

(11)性別の判定条件が女に変更されたため、「性別が女または点数が80以上の場合は『●』を表示し、それ以外は『×』を表示する」に条件変更されたため、C2セルには『×』が表示されます。

f:id:m_kbou:20190521124852p:plain

複数条件がある場合(OR関数を使用)の説明は以上です。

 

おわりに

IF関数は、上記以外でも他の様々な関数と組み合わせることで、高度で便利な式を作る事もできます。また、データの分別や集計等も簡素化でき、使いこなせるようになれば業務効率向上に繋がります。是非マスターして有効活用して下さい。