数式でかなり使用するExcel関数の1つは、 IF関数です。IF関数は、論理条件をテストし、論理条件がTRUEまたはFALSEを返すかどうかに応じて2つの異なる結果を生成するために使用されます。
例として、以下の携帯電話の売上高の表を使用してみましょう。サンプルファイルはこちらからダウンロードできます。
単一条件のIF関数(IF Function
with Single Condition)
販売が行われた場所に応じて、各販売行の手数料(Commission Fee)を計算する必要があるシナリオを考えてみます(列D(Column D))。米国(USA)で販売された場合、手数料(Commission Fee)は10%です。それ以外の場合、残りの場所の手数料(Commission Fee)は5%になります。
セルF2(Cell F2)に入力する必要がある最初の数式は、次のとおりです。
=IF(D2="USA", E2*10%, E2*5%)
数式の内訳:
- =IF( – “=”はセル内の数式の始まりを示し、IFは使用しているExcel関数です。
- D2=”USA” –実行する論理(Logical)テスト(つまり、列D2のデータがUSAの場合)。
- E2*10% –最初の論理テストの結果が(Result)TRUEの場合(つまり、列D2の値がUSAの場合)、数式によって返される結果。
- E2*5% –最初の論理テストの結果が(Result)FALSEの場合(つまり、列D2の値が(D2)USAではない(NOT) 場合)に数式によって返される結果。
- ) –数式の終わりを示す閉じ括弧。(Closing)
次に、数式をセルF2から(Cell
F2)列F(Column
F)の残りの行にコピーすると、 IF論理テストがそれぞれでTRUEまたはFALSEを返すかどうかに応じて、各行の(FALSE)手数料(Commission
Fee)が10%または5%計算されます。行。
複数の条件を持つIF関数(IF Function with Multiple Conditions)
ルールがもう少し複雑で、条件ごとに異なる結果が返される複数の論理条件をテストする必要がある場合はどうなりますか?
Excelにはこれに対する答えがあります!同じセル内で複数のIF関数を組み合わせることができます。これは、ネストされたIF(Nested IF)と呼ばれることもあります。
以下のように、販売場所(Sales Location)ごとにコミッション(Commissions)が異なる同様のシナリオを考えてみます。
- アメリカ(USA)10%
- オーストラリア(Australia)5%
- シンガポール(Singapore)2%
セルF2(Cell F2)(後で同じ列Fの残りの行にコピーされます)に、次のように数式を入力します。
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
数式の内訳:
- =IF( –IFステートメントを使用した式の開始(Beginning)
- D2=”USA” –実行する最初(First)の論理テスト(つまり、列D2のデータがUSAの場合)。
- E2*10% –最初の論理テストの結果が(Result)TRUEの場合(つまり、列D2の値がUSAの場合)、数式によって返される結果。
- IF(D2=”Australia”,E2*5%,E2*2%) –最初の論理テストの結果がFALSE(つまり、列D2の値がUSAでは(USA)ない)の場合に評価される2番目の(NOT)ExcelIFステートメント。これは、この記事で前述した「単一条件のIF関数(IF Function with Single Condition”)」と同様の構文であり、セル(Cell)D2の値がオーストラリアの場合、 (Australia)E2*5%の結果が返されます。それ以外の場合、値がオーストラリアでない場合、関数は(Australia)E2*2%.の結果を返します。
- ) –最初のIF関数の式の終わりを示す閉じ括弧。(Closing)
Excelは数式を左から右に評価するため、論理テストが満たされると(たとえば、D2=“USA”,、関数は停止して結果を返し、その後の論理テストは無視します(たとえば、D2=“Australia”。 )。
したがって、最初の論理テストがFALSEを返した場合(つまり、場所がUSAでない場合)、2番目の論理テストの評価を続行します。2番目の論理テストでもFALSEが返された場合(つまり、場所がオーストラリアではない場合)、(Australia)セルD2(Cell D2)で可能な値はシンガポール(Singapore)のみであることがわかっているため、さらにテストする必要はありません。したがって、 E2*2%の結果が返されます。
わかりやすくするために、3番目の論理テストIF(D2=”Singapore”, “value if TRUE” , “value if FALSE”)を追加できます。したがって、完全な拡張式は次のようになります。
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,IF(D2="Singapore",E2*2%)))
前述のように、上記は最初の式と同じ結果を返します。
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
クイックヒント(Quick Tips)
- IF(関数ごとに、開きと閉じの丸括弧が必要です。上記の例の1つにあるように3つのIF関数がある場合、式には3つの閉じ括弧「)))」が必要です。対応する開始IF(ステートメント。
- 論理テストの2番目の結果を指定しない場合(論理テストの結果がFALSEの場合)、 (FALSE)Excelによって割り当てられるデフォルト値はテキスト「FALSE」になります。(“FALSE”.)したがって、数式=IF(D2=”USA”,E2*10%)D2が“ USA”でない場合、テキスト「FALSE」を返します。
- それぞれ独自の結果を持つ複数の異なる論理テストがある場合は、上記の例のように、IF関数を次々に複数回結合/ネストできます。
How to Use If and Nested If Statements in Excel
One Excel fυnction that I use quite a bit in my formulas is the IF function. The IF function is used to test a logical condition and produce two different results depending on whether the logical condition returns TRUE or FALSE.
Let’s use the mobile phone sales table below as an example. You can download the example file here.
IF Function
with Single Condition
Consider a scenario where you need to calculate the Commission Fee for each sales row, depending on where the sales was made (Column D). If the sales was made in the USA, the Commission Fee is 10%, otherwise the remaining locations will have Commission Fee of 5%.
The first formula that you need to enter on Cell F2 is as shown below:
=IF(D2="USA", E2*10%, E2*5%)
Formula
breakdown:
- =IF( – The “=” indicates the beginning of a formula in the cell and IF is the excel function that we are using.
- D2=”USA” – Logical test that we perform (i.e. if data in column D2 is USA).
- E2*10% – Result that will be returned by the formula if the initial logical test results in TRUE (i.e. value in column D2 is USA).
- E2*5% – Result that will be returned by the formula if the initial logical test results in FALSE (i.e. value in column D2 is NOT USA).
- ) – Closing bracket indicating the end of the formula.
Then
you can copy down the formula from Cell
F2 to the rest of the rows in Column
F and it will calculate the Commission
Fee for each line, either by 10% or 5% dependent on whether the IF logical test returns TRUE or FALSE on each row.
IF Function with Multiple Conditions
What if the rules were a bit more complicated where you need to test for more than one logical condition with different results being returned for each condition?
Excel has an answer to this! We can combine multiple IF functions within the same cell, which is sometimes known as a Nested IF.
Consider a similar
scenario where the Commissions are
different for each Sales Location as
below:
- USA 10%
- Australia 5%
- Singapore 2%
In Cell F2 (which later will be copied to the rest of the rows in the same column F), enter the formula as follow:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
Formula
breakdown:
- =IF( – Beginning of the formula using an IF statement
- D2=”USA” – First logical test that we perform (i.e. if data in column D2 is USA).
- E2*10% – Result that will be returned by the formula if the initial logical test results in TRUE (i.e. value in column D2 is USA).
- IF(D2=”Australia”,E2*5%,E2*2%) – second Excel IF statement that will be assessed if the initial logical test resulted in FALSE (i.e. value in column D2 is NOT USA). This is a similar syntax of “IF Function with Single Condition” discussed earlier in this article where if value on Cell D2 is Australia, the result of E2*5% will be returned. Otherwise, if the value is not Australia, the function will return result of E2*2%.
- ) – Closing bracket indicating the end of the formula for the first IF function.
As Excel will assess the formula from the left to the right, when a logical test is met (e.g. D2=“USA”, the function will stop and return the result, ignoring any further logical test after (e.g. D2=“Australia”.)
So if the first logical test returns FALSE (i.e. location is not USA), it will continue to assess the second logical test. If the second logical test returns FALSE as well (i.e. location is not Australia), we do not need to test further as we know the only possible value on Cell D2 is Singapore hence it should return a result of E2*2%.
If you prefer for clarity, you can add the third logical test IF(D2=”Singapore”, “value if TRUE” , “value if FALSE”). Therefore, the full extended formula is as shown below:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,IF(D2="Singapore",E2*2%)))
As
mentioned earlier, the above will return the same result as the initial formula
that we had.
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
Quick Tips
- For every single IF( function, there needs to be an opening and closing round bracket. When there are three IF functions as per one of the examples above, the formula will need three closing brackets “)))”, each marking the ending of a corresponding opening IF( statement.
- If we do not specify the second outcome of the logical test (when the logical test resulted in FALSE), the default value assigned by Excel will be the text “FALSE”. So formula =IF(D2=”USA”,E2*10%) will return the text “FALSE” if D2 is not “USA”.
- If you have several different logical tests each with its own different outcome, you can combine/nest the IF function multiple times, one after another, similar to the example above.