ExcelのSUM関数を使用している際に#N/Aエラーが出ることはありませんか?このエラーは、データの集計を妨げる厄介な問題ですが、いくつかのテクニックを使うことで簡単に回避することができます。この記事では、私がIT企業での実務経験をもとに、SUM関数を使って#N/Aエラーを無視し、正確な集計を行うための方法を紹介します。
なぜ#N/Aエラーが発生するのか
この章では、SUM関数で#N/Aエラーが発生する原因をご紹介します。
エラーの原因を理解しよう
まず、#N/Aエラーが発生する原因について理解しましょう!#N/Aエラーは、「Not Available」(利用できない)を意味し、Excelが指定された値を見つけられなかったときに発生します。
SUM関数だと合計範囲の中に「#N/Aエラー」が含まれている場合に、SUM関数の結果が#N/Aエラーになるということです。
例えば、シート1のA列に果物(りんご・みかん・ぶどう)の名前、B列に在庫個数が入力されているデータがあり、シート2のA列に特定の果物(りんご・さくらんぼ)が入力されているとします。シート2のB列に果物の個数をシート1から抽出するとき、ExcelのVLOOKUP関数を使用します。
しかし、シート1には”さくらんぼ”が無いので、VLOOKUP関数の結果は「#N/Aエラー」となります。そして、シート2で在庫個数をSUM関数で合計すると#N/Aエラーが含まれるので、SUM関数の計算結果でも「#N/Aエラー」が返される。ということです!
#N/Aエラーを無視するための基本テクニック
次に、SUM関数で#N/Aエラーが表示されるのを回避する方法と、#N/Aエラーを無視して合計値を算出する方法をご紹介します!
IFERROR関数について
IFERROR関数とは、エラーが発生した場合に指定した値を返すことができる便利な関数です。具体的には、あるセルに計算エラーが発生した場合、そのセルにエラーの代わりに0や他の値を表示させることができます。
SUM関数で合計を計算する場合、範囲内に#N/Aエラーが含まれていると正しい合計を出すことができません。そこで、IFERROR関数を使って#N/Aエラーを0に変換することで、SUM関数が正しく動作するようにします。また、エラーが表示される場合、SUM関数自体の結果を「エラーあり」と表示することも可能です。
#N/Aエラーを無視して合計値を出す
IFERROR関数を使用して、SUM関数の合計範囲に含まれる「#N/Aエラー」を0に変換して合計を出す方法をご紹介します。ポイントとしては、#N/Aエラーが0になることで、数値だけを合計することができます。それでは実際に関数の挿入方法を見ていきましょう!
=SUM(IFERROR(D3:D7,0))
合計範囲に#N/Aエラーがある場合、任意の値を返す方法
合計範囲に#N/Aエラーがある際、SUM関数の計算結果自体を表示したいくない方向けの章となります。IFERROR関数を使えば、計算結果がエラーになっても「エラーあり」「-」など任意の値を返すことができます。さっそく具体的な例で確認していきます。
=IFERROR(SUM(D3:D7),"エラーあり")
数値の合計を簡単に確認|VBAマクロ(コピペでOK)
エラーやテキストを省いた数値のみの合計を簡単に確認できるVBAマクロをご紹介します!コピペでできるので、流れ通りに進めてください。
VBAマクロの使い方
結論、下記の画像のような状態を作ります!合計したい範囲を選択して「範囲内の値のみを合計」というボタンをクリックするとポップアップで合計値が表示される仕組みです。それでは手順を進めていきます。
- 「ファイル」 > 「オプション」 > 「リボンのユーザー設定」を選択
- 右側のリストで「開発」にチェックを入れて「OK」をクリック
- 「Alt」 + 「F11」キーを押してVBAエディタを開く
- VBAエディタで、「挿入」メニューから「標準モジュール」を選択
- コードを入力してエディタを閉じる(ここは後ほどコードを紹介します)
- ボタンを作成
- ボタンの名前(テキスト)を変更
これらの手順で値のみの合計値を簡単に確認することができます。ここからは手順の⑤~画像付きで説明していきます。手順①~④までは設定して次を確認してください。
新しいモジュールが作成されたら、以下のコードを入力します。
Sub 合計する()
Dim 範囲 As Range
Dim セル As Range
Dim 合計 As Double
Set 範囲 = Application.Selection
合計 = 0
For Each セル In 範囲
If IsNumeric(セル.Value) Then
合計 = 合計 + CDbl(セル.Value)
End If
Next セル
MsgBox "合計は " & 合計 & " です。"
End Sub
ボタンは、「開発」タブの挿入からボタンを選択して、マウス操作でボタンを設置します。そしてマクロ設定を「合計する」に変更する。
ボタンの名前を変更したい方は、右クリックでテキスト変更をしてください。
あとは、範囲を選択してボタンをクリックするだけで、値のみの合計値を簡単に確認することができます!このマクロさえ組んでしまえば、次からは範囲を選択してボタンをクリックするだけです。ぜひ試してみてください!
まとめ
ExcelのSUM関数を使用する際に#N/Aエラーを回避または無視する方法を紹介しました。IFERROR関数を使う基本テクニックから、VBAを使った自動化まで、実務で役立つテクニックを駆使して、今日から効率的にデータ集計を行いましょう!
私はIT企業での実務経験から、正確で効率的なデータ処理がビジネスの成功に繋がることを実感しています。この記事を参考に、あなたのExcelスキルが向上することを願っています!