こんにちは、ちちくろです♪
Excelで新規の見積書や請求書を作成する時・・テンプレートファイルを使用する・・そんな方多いのでは?
新規でテンプレートファイルを開くと・・セルに数値の0や・・エラーが表示されていると・・さぁ・・やるぞ!!という気持ちが・・残念なことに・・。
Excelのテンプレートファイルには・・あらかじめいくつかのセルに数式が書きこまれているのですが・・それゆえに新規のExcelテンプレートファイルを開くと・・このようになってしまいます・・。
なぜこのように・・セルに数値の0や関数のエラーが表示されるのか・・それは参照先セルが空白だから・・。
このことを回避するために・・セルに数式を入れる場合IF関数から書き込めばよいかと・・ こうすれば新規テンプレートファイルを開いたときに・・がっかりすることがなくなります♪
目次
Excelのテンプレートファイル
Excelのテンプレートファイルには・・あらかじめセルに数式が書きこまれているのが通常かと・・それは、Excelは縦横に計算するから・・。
テンプレートファイルを開き・・指定されたセルにデータを入力すると・・そのセルを参照しているセルに計算結果が表示されます・・。
これって・・とても便利ですよね♪
しかし・・いざテンプレートファイルを作ると・・数式を書き込んだセルに・・数値の【0】や・・エラーが表示されてしまいます。
これだと・・テンプレートファイルとしてはチョット残念・・。
これらの対処方法を考えてみいようかと・・。

新規ファイルはエラーだらけ
Excelの新規テンプレートファイルはエラーだらけ・・それは・・参照先セルが空白だから・・。
Excelのテンプレートファイルには・・あらかじめいくつかのセルに関数や数式が書きこまれていて・・セルを参照することで計算が出来ることに・・。
なのに・・参照先のセルが空白だと・・数式は当然エラーに・・。
新しい仕事に取り組むために・・新規のテンプレートファイルを開くと・・エラー表示ばかりだと・・。
なので、Excelのテンプレートファイルを作るときは・・エラー処理が重要です♪
数式のエラー処理
Excelの数式のエラーとは・・そしてエラー処理の方法とは?
単純な計算式を例にとると・・計算結果が表示されるセルに【0】の数値が表示されることが多いかと・・。
これは、Excelの【オプション】・【詳細設定】で【ゼロ値のセルにゼロを表示する(Z)】のチェックボックスを外せば表示されなくなるのですが・・。
ファイルをコピーして別のパソコンで開くと・・ヒョッコリ顔を出してきます。

さらに・・数式に関数などを使用していた場合・・【#N/A】などのエラー表示がされることも・・・。

そこで・・Excelの【オプション】に頼らずにエラー処理する方法を考えてみようかと・・。
エラー処理の方法
新規テンプレートファイルで気持ちよく作業を開始するために・・数式のエラー処理が必要・・。
そこで・・エラーの要因は何かと考えてみると・・。
・参照先セルが空白で関数がエラーになる
・参照先セルの内容が不正
数式で参照しているセルが空白なら・・計算できないから・・計算結果が【0】になり・・関数を実行してもエラーになります。
また・・参照先セルが空白でなくても・・参照先セルの内容が関数の実行に不都合があった場合・・エラーになってしまいます。
では・・それぞれの対処方法は・・。
参照先セルが空白
参照先セルが空白の場合は・・単純な計算をする数式だと・・計算結果が0になり・・セルに【0】が表示されることに・・。
関数だと・・関数を実行することが困難になりエラーが表示されることになります。
そこで・・参照先のセルが空白なら・・計算式や関数を実行しないようにしてみようかと・・。
IF関数とISBLANK関数
IF関数とISBLANK関数・・この2つの関数とは・・。
IF関数は・・特定の条件によって処理を振り分けることが出来・・。
ISBLANK関数は・・指定したセルが空白かどうか判定することが出来ます。
この2つの関数を使って・・数式の参照先セルが空白なら数式を実行しないようにしてみようかと・・。
参照先セルが空白か調べる
A列に商品名・・B列に個数・・C列に単価を入力売ると・・D列に価格が表示されるワークシート作る場合・・。
D列の数式は・・【=Bn*Cn】となります・・実際には・・D2のセルに【=B2*C3】と数式を書きこみ・・コピーしてD3からD5のセルに張り付けるのですが・・。

これだとセルB2~C5の数値を消してしまうと・・D2からD5に【0】が表示されることに・・。
これは・・B列の値とC列の値を掛け算しているから・・0*0=0だから【0】が表示されてしまうわけです♪

そこで・・B列が空白なら計算しないようにすることに・・。
セルD2の数式を変更 します・・変更内容は・・【IF(ISBLANK(B2),””,=B2*C2)】というもの・・。
ISBLANK(B2)で・・セルB2が空白かどうか判定し・・IF関数で処理を振り分け・・セルB2が空白なら計算しないようにします。

その結果・・B列のセルが空白なら・・D列のセルには何も表示されないようになります・・。
関数のエラー処理
次は・・関数のエラーを処理する方法・・これにはいくつかあるもですが・・今回は比較的簡単なIFREEOR関数を使ってみることに・・。
IFERROR関数
IFERROR関数は・・指定された数式がエラーなら・・指定された処理を実行する関数・・。
セルに書き込む数式は【=IFERROR(関数の数式,エラー時の処理)】という風に書き込みます♪
VLOOKUP関数のエラー処理
IFERROR関数の例として・・前回のVLOOKUP関数を使って説明することに・・。
このワークシートは・・セルA3に【リンゴ】と打ち込むと・・セルB3にリンゴの単価【80】が表示される・・そんなワークシート・・。

この時のセルB3の数式は・・【=VLOOKUP(A3,果実,2,0)】というもの・・。
セルA3に書き込まれた【リンゴ】をテーブル【果実】から探し出し・・隣の単価【80】を表示する数式です・・。
次に・・セルA3の品名を【サバ】に変更すると ・・セルB3には・・【#N/A】のエラーが表示されます・・。

これはテーブル【果実】内に【サバ】が無いためエラーとなっているため・・。
まぁ・・果実にサバがあるわけないのですが・・。
次に・・IFERROR関数を使ってセルB3の数式を変更・・【=IFERROR(VLOOKUP(A3,果実1,2,0)、”該当なし”)に変更・・。
これは・・VLOOKUP関数がエラーだと・・該当なしと表示してね♪
ということ・・。

次に・・セルA3を空白にしてみると・・セルB3にはこれまた【該当なし】と表示されます・・。
空白セルを検索できないから・・当然といえば当然・・。

しかし・・A3のセルが空白で【該当なし】と表示されるのは・・チョット違和感が・・。
そもそも・・A3のセルが空白なら・・B3のセルも空白になってほしい・・。
その為・・セルB3の数式を変更することに・・IF関数とISBLANK関数を追加して・・【=IF(ISBLANK(A3),””,IFERROR(VLOOKUP(A3,果実,2,0),”該当なし”))】と変更・・。
すると・・A3が空白なら・・セルB3は空白に・・A3の中身が【サバ】等の不正な内容なら・・B3は【該当なし】と表示するように・・。
まとめ
Excelのテンプレートファイルを使って新しい仕事をしようとした時・・セルに【0】や関数のエラーが表示されていると・・とても残念・・。
そこで数式には・・エラーの処理が必要・・。
ISBLANK関数で・・参照先セルが空白なのか調べ・・IF関数で空白の時と空白でないときで処理を変更すればOK
数式は・・【IF(ISBLANK(セル),””,数式)】・・。
これで参照先セルが・・空白なら・・何も実行しない・・空白でなければ数式を実行するように・・。
関数自体のエラーは・・IFERROR関数で対応・・。
数式は・・【IFERROR(数式,エラー時の動作)】と書き込めばok
これで・・参照先セルの内容が不適切で数式がエラー時は・・指定された処理を実行することに・・。
最後は・・この2つを合体・・。
書き込む数式は・・【=IF(ISBLANK(参照先セル),””,IFERROR(数式,エラー時の動作))
良かったら・・お試しを・・。
当ブログにご寄付などのご支援いただけるのなら隣のボタンをクリックしていただけると幸いです♪