IFとROUND関数の組み合わせ方と#VALUE!エラーへの対処
ここでは、IF関数とROUND関数の正しい組み合わせ方と、#VALUE!エラーになってしまう原因を解説します。
これで、IF関数とROUND関数の組み合わせでエラーが出なくなります。
1.まずはやりたいことを確認
始めに、やりたいことを例を含めて確認します。
1-1.やりたいことは?
やりたいことは、「IF関数とROUND関数の組み合わせ方を知る」ことです。
組み合わせることで、例えば「セルが空白なら空白で、それ以外は小数点以下四捨五入する」といったことができます。
1-2.例で確認
ひとつ例を見てみましょう。
上の例では、セルB2に「15」、セルD2に「4」と入力されています。
そしてセルF2に「セルB2が空白なら空白、それ以外は小数点第二位を四捨五入」という意味の数式が入っています。
結果、セルB2は空白ではないため、「15÷4」の答えである「3.75」が小数点第二位で四捨五入され、「3.8」となっています。
このようなことは、数式バーに表示されているように「IF関数とROUND関数の組み合わせ」でできます。
2.IF関数とROUND関数の組み合わせ方
IF関数とROUND関数の組み合わせ方は、ケースによって異なります。
2-1.IF関数で空白処理をしたい場合
空白処理とは、エクセルの特性上空白の場合に0が表示されるのを嫌い、「空白の場合には空白」という数式をIF関数で行うことです。
この場合、組み合わせ方は「IF関数の中でROUND関数を使う」形になります。
数式の形は、次の通りです。
「IF(対象セル="","",~)」とすることで、空白処理ができます。
なお、先ほど見た例の数式は、次の通りです。
=IF(B2="","",ROUND(B2/D2,1))
2-2.条件の真偽によって数値や計算式を変えたい場合
条件の判定結果が真か偽かによって数値を変えたい場合には、ROUND関数の中でIF関数を使います。
数式の形は、次の通りです。
ただしこの場合には、IF関数の結果が数値でないとエラーになります。
私はこの形で使ったことはありませんが、このような使い方もできます。
2-3.条件の真偽によって桁数を変えたい場合
判定結果が真か偽かによって桁数を変えたい場合にも、ROUND関数の中でIF関数を使います。
数式の形は、次の通りです。
私はこの形でも使ったことがありませんが、このような使い方もできます。
3.空白処理で組み合わせが逆だとどうなる?
では、空白処理で組み合わせ方が逆だとどうなるのでしょうか?
例えば、先ほどの数式を逆に書いてみると以下のようになります。
=ROUND(IF(B2="","".B2/D2),1)
意外にも、正しく計算される時があります。しかし、正しく計算されないときもあって、やはりこの書き方は使えません。
この書き方で正しく計算されないのは、「セルB2に数値が入っていなかった場合」です。
この数式の場合、始めに「IF関数のB2が空白なら空白に」が計算されます。
すると、B2は空白なのでIF関数の結果は空白となります。
その後ROUND関数で「空白÷4」を求めようとするので、結果「分子に値がありませんよ」となって#VALUE!エラーが表示されるのです。
ですから、空白処理の場合には、「IF関数の中でROUND関数を使う」のが正解なのです。
以上、参考になれば幸いです。
IF関数の、他の記事へのリンクはこちらです。
- IF関数その他の記事へのリンクはこちら
- ◎基本的な使い方
- ◎以上、以下等の比較演算子を使う方法
- ◎日付範囲や期間を簡単に指定する方法
- ◎日付を比較する時の数式の書き方
- ◎マイナスの場合は0、空白と指定する方法
- ◎空白セルを空白にする方法
- ◎#VALUE!等のエラーになる原因と対処法
- ◎結果がうまくいかない時の原因と対処法
- ◎パーセントを条件に指定する方法
- ◎複数条件のORをリストで指定する方法
- ◎曜日の条件指定がうまくいかない場合の対応方法
- ◎空白でもSUM関数でエラーにしない方法
- ◎値があれば、入っていたらの条件にする方法
- ◎範囲全てが条件値と一致するかを判定する方法
- ◎文字が入っていたらの条件にする方法
- ◎空白を判定する方法
- ◎別シートの値を参照する方法
- ◎複数条件を「かつ」で指定する方法
- ◎複数のうちのどれかに合えばとする方法
- ◎セルの値がいづれかの場合真とする方法
- ◎特定の文字列を含む条件を指定する方法
- ◎複数列全てが一致の条件にするテクニック
- ◎複数条件を指定して分岐させる方法
- ◎ROUND関数の正しい組み合せ方