Googleスプレッドシート入門
関数を使う(IF,IFERROR)

Google スプレッドシートの入門解説です
最終更新日:2019-03-16 関数を使う(IF,IFERROR)|Googleスプレッドシート

Googleスプレッドシート入門
関数を使う(IF,IFERROR)

Google スプレッドシートの入門解説です
最終更新日:2016-09-23

関数を使う(IF,IFERROR)

GoogleスプレッドシートでIF関数、IFERROR関数を使います、


IF関数は、処理を分岐させます、
IFERROR関数は、エラーの時の表示を変更します。

前回までに作成した以下の表の、
表示が見苦しいので、#N/Aの表示を消そうと思います。



Googleスプレッドシート 画像


このような場合、Excelでも
IFERROR関数
が良く使われます。

C2セルを選択し、F2で編集状態にして、
=VLOOKUP
=の後ろに、
iferror(
と入力して、
=iferror(VLOOKUP
とします。

Googleスプレッドシート 画像

,false)
の)の後ろに、
,""
を入力して
,false),""
とします。

Googleスプレッドシート 画像

完成した数式は、
=iferror(VLOOKUP($B2,'商品マスタ'!$A:$C,2,false),"")
Enterで入力を完了してください。

C2セルをC3セル〜C11セルにコピー

Googleスプレッドシート 画像

#N/Aが消えて、すっきりしました。
D列の単価も、やり方は同様です。

この方法は良く見かけますが、ちょっと待ってください。
商品コードが未入力時に#N/Aを消すのは分かりますが、
商品コードが、間違って入力されたときは・・・

Googleスプレッドシート 画像

商品コードが未入力時と同様に、何も表示されません。
ここは、個人的な好みと言えなくもありませんが、
間違った商品コードが入力されたときは、
#N/A
のままで良いのではないでしょうか。
つまり、
商品コードが未入力の時だけ、#N/Aを消すという事です。

これには、
IF関数を使います。

C2セルの数式を、
=if($B2="","",VLOOKUP($B2,'商品マスタ'!$A:$C,2,false))
と変更してください。

Googleスプレッドシート 画像

C11セルまでコピーします。
これであれば

Googleスプレッドシート 画像

これで、
B01
という商品コードが間違っていることも分かりますし、
余計な#N/Aも表示されません。


※エラー回避について

以下は、Excelと共通の問題です。
IF関数で判断できる場合は、IFERROR関数ではなくIF関数でエラー回避しましょう。
例えば、
割り算で、#DIV/0! となる場合、IFERROR関数が使われているのを見かけますが、
これは、IF関数で分母が=0かを判定するようにしてたほうが良いです。
結果ではなく、根本問題を解決するという事です。
大量データになった場合に、その差が出てきます。





同じテーマ「Googleスプレッドシート入門」の記事

書式を設定する
計算式を入れる
関数を使う(SUM)
関数を使う(VLOOKUP)
関数を使う(IF,IFERROR)
関数一覧(Excelとの差異)
条件付き書式
入力規則
シートを保護
シートをコピー
わからない時はヘルプを見よう

新着記事NEW ・・・新着記事一覧を見る

Excelワークシート関数一覧(2010以降)|VBAリファレンス(4月22日)
クラスとCallByNameとポリモーフィズム(多態性)|VBA技術解説(4月6日)
VBAでのタイマー処理(SetTimer,OnTime)|VBA技術解説(4月3日)
クラスとイベントとマルチプロセス並列処理|VBA技術解説(4月2日)
エクセルの日付と時刻のまとめ|エクセル関数超技(3月6日)
Excelシートの複雑な計算式を解析するVBA|VBAサンプル集(2月18日)
VBAクラスの作り方:独自Rangeっぽいものを作ってみた|VBA技術解説(2月16日)
VBAクラスの作り方:列名のプロパティを自動作成する|VBA技術解説(2月14日)
VBAクラスの作り方:列名の入力支援と列移動対応|VBA技術解説(2月11日)
クラスを使って他ブックのイベントを補足する|VBA技術解説(2月6日)

アクセスランキング ・・・ ランキング一覧を見る

1.ひらがな⇔カタカナの変換|エクセル基本操作
2.最終行の取得(End,Rows.Count)|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.RangeとCellsの使い方|ExcelマクロVBA入門
6.変数とデータ型(Dim)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.繰り返し処理(For Next)|ExcelマクロVBA入門
9.とにかく書いて見よう(Sub,End Sub)|VBA入門
10.セルに文字を入れるとは(Range,Value)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。






このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

本文下部へ