WebApp

【スプレッドシート 関数】IF, IFS, IFERROR, IFNA 使い方!エラーの種類・対処方法がわかる!!

TOP画像


本記事ではスプレッドシートのIF関数について紹介していきます。 関数の中でも基本中の基本と言える関数ですね!

とても基本的な関数ですが、実は「IF…」とつく関数が他にもあることをご存知ですか?

IFのような条件分岐以外にも、複数の条件を同時に判定したり、エラー時(#N/A)の処理などを行ってくれる関数が存在します。

今回はIF関数の基本的な使い方はもちろん、そんなIF関数の兄弟たちとも言える関数についても解説します。


スプレッドシート 関数 IF 使い方


IF関数は論理式の結果がTRUE(正しい)かFALSE(誤り)かを検証し、それぞれ別々の値を返します。

基本構文

基本構文

IF(論理式, TRUE値, FALSE値)

論理式
論理値(TRUE か FALSE)を表す式やそうした式の意味合いを含むセルへの参照のことです。
ちょっと表現が難しい人は、単純にYESかNOで表せるものと解釈してください!

TRUE値
論理式がTRUE(正)だったときに返却する値のことです。

FALSE値
論理式がFALSE(誤)だったときに返却する値のことです。


では、例としてあるクラスの点数リストから60点以上の人に印をつけてみます!

=if(C4>=60,"◯","")

スプレッドシート 関数 使用例


条件通り、60点未満の人には印がついてません。ちなみに「””」は空白を表しています。

とても簡単ですが、使用頻度が多い関数の一つなので使いこなせるように練習しておきましょう!


スプレッドシート 関数 IFS 使い方


IFS関数は複数の条件を前から順番に検証(TRUE or FALSE)し、条件を満たす場合に対応する値を返します。
基本はIF関数と一緒ですが、FALSEの場合は次の条件へと移っていき最後まで該当しなかった場合、エラーとして#N/A が返却されます。

基本構文

基本構文

IFS(条件1, 値1, [条件2, 値2, …])

条件1
検証する 1つ目の条件です。ブール値(TRUE or FALSEのどちらか)、数値、配列のいずれかへの参照を指定します。

値1
条件1がTRUEだった際に返却する値です。

条件2、値2…
条件1が FALSEだった際に検証する条件とTRUE時の値です。条件の分だけ設定します。


条件1がFALSEだったら条件2へ、条件2がFALSEだったら条件3へ…と、設定した条件数に応じて検証を繰り返します。冒頭でもご説明しましたが、全てFALSEだった場合は#N/Aを返却します。


今度は評価をつけてみましょう!
90点以上は"S"、80点以上は"A"、70点以上は"B"、70点未満は"C"とします。

=ifs(C4>=90,"S",C4>=80,"A",C4>=70,"B",C4<70,"C")

スプレッドシート 関数 使用例


70点未満についてもしっかり記述してあげないと、#N/Aエラーになってしまうので気をつけてください!
ただ次章で出てくるIFRROR関数を使えば、この問題を気にする必要もなくなります。




スプレッドシート 関数 IFERROR 使い方

IFERROR関数は任意のエラー値をそれぞれ指定し、へのエラー検証結果を元にいずれかの値を返します。

エラーでなかった場合は検証したを、エラーだった場合は指定したエラーを出力します。

エラー値を設定しなかった場合は空白を返却します。


基本構文

基本構文

IFERROR(値, [エラー値])


エラー検証する&エラーでない場合に返す値です。

エラー値
値がエラーだった場合に返す値です。

ちなみにですが、スプレッドシートには以下のエラーがあります。

エラー値 エラー内容
#DIV/0! 0で割り算をしたときに表示される
#N/A 該当の値が見つからないときに表示される
#NAME? 関数名が間違っているときに表示される
#NULL! 参照するセル範囲に誤りがあるときに表示される
#NUM! スプレッドシートで使用可能な数値の範囲を超えたときに表示される
#VALUE! 主にデータの型が間違っているときに表示される
#REF! 参照しているセルが無効になっている(削除した等)ときに表示される


この中のいずれかにヒットした場合、エラーと判定されます!

先ほどのIFSで使用した例題について、70点未満の記述を抜きにした状態で再度実行してみます。

スプレッドシート 関数 使用例

このように該当の値が見つからないため、#N/Aエラーになっていますね。
エラーになった処理を追記してあげる必要があります。


ではこれをIFERROR関数で囲んであげましょう!

=iferror(ifs(C4>=90,"S",C4>=80,"A",C4>=70,"B"),"C")

スプレッドシート 関数 使用例


IFS関数の中身は一緒ですが、ちゃんと評価出来ていますね!
この他にも上記で紹介したエラー値全てに対して、IFERRORは幅広く使用することが出来ます。
また、別記事でも紹介しているVLOOKUP関数と合わせて使うのも定番ですので、ぜひ覚えておいてくださいね!



スプレッドシート 関数 IFNA 使い方


IFNA関数は任意の値が#N/Aエラーの場合、指定された値を返します。
IFERROR関数とは違い、#N/Aエラーのみを対象とします。
#N/Aエラー値を設定しなかった場合は空白を返却します。

基本構文

基本構文

IFNA(値, #NAエラー値)


こちらもIFERRORと同様の結果が返ってきます。

=ifna(ifs(C4>=90,"S",C4>=80,"A",C4>=70,"B"),"C")

スプレッドシート 関数 使用例


ですので、全エラーに対してエラー値を指定したい場合はIFERROR関数を、#N/Aエラーの時のみエラー値を指定したい場合はIFNA関数を活用するようにしましょう!

#N/Aエラーは基本的にエラーというよりは「該当しませんでした」という正常終了のニュアンスとも取れるので、別関数で切り出しているのかなと思われます。




最後に


今回はIFと関連する関数についてご紹介しました!

特にIFERROR関数はいろんな関数と組合せて使われることが多いので、マスターしておくと非常に便利です。

どれも難しい部類ではないので、これを機にぜひ覚えてくださいね!


-WebApp

© 2022 tugublog Powered by AFFINGER5