こんにちは。
先日Excelで「コピペしたデータで関数を使ったところ反映されず0になる」というトラブルに遭遇しました。
具体的にはSUM関数を使って合計を求めようとしていたのですが、(絶対0ではないのに)値に0が返ってきていました。

合計(SUM)を求めているにもかかわらず0が返却されてしまう
使っている関数や選択範囲は正しいのになぜ??
と疑問に思いましたが、意外なところに解決の道標がありなんとか解決することができました。
今回は「Excelで関数が使えない時のチェックポイント」について記事にしようと思います。
前提|今回は数値を前提とした関数の話です。
まず前提ですが、今回は数値を前提とした関数の話です。
VLOOKUPのような文字列でも扱える関数の話ではありません。
数値を前提にした関数とは、例えば以下のような関数のことです。
- SUM関数
- AVERAGE関数
- COUNT関数
- PRPDUCT関数
- MAX(MIN)関数
上記以外にもたくさんありますが、上記の関数は「数字(数値、通貨、時刻etc...)」を前提としています。
そのため、選択範囲の書式が文字列になっていた場合、「エラー#Value!」と表示されてしまい正しい結果が表示がされません。
もし上記の関数を使っていて「エラー#Value!」が表示されている場合は選択範囲の書式が文字列でないか、確認してみてください。
関数を使えなかった理由
書式には問題がない。しかし0のままということもあると思います。
その場合は次のことを確認してみてください。
*ちなみに僕の場合はこれが原因でした。
数値が入っているセルに数値以外の文字が入っていないか
いや、文字がはいっているわけないじゃん!
と思うかもしれませんが、お願いです。ブラウザバックする前にもう少しだけお付き合いください!!!
たとえば今回のシートのD行には数値以外の文字が含まれています。

察しのいい方ならお気づきかもしれません。
そう。空白セルです。
よく見てみましょう。
セルを選択してみます。一見正しく数値が入っているように見えますよね。。

しかし、よく見ると半角の空白セルが潜んでいました!

この空白セルが諸悪の根源です。
空白セルが含まれていると数値を前提とした関数ではうまく動作しません。
そのため、関数が動作せずに0が返ってきていたのでした。
(半角ではなく全角の空白セルの場合もあると思いますが、内容は同じです)
空白セルは一括置換で削除しよう
空白セルを削除する方法としては手動で削除することも可能ですが、数が多いと大変なので一括置換で削除しましょう。
空白セルを取り除きたい範囲を選択します。そのうえで、リボンの右上の「検索と選択」→「置換」を選択。

ポップアップが表示されるかと思います。
次に検索する文字列に「 」(半角の空白セル)を入力。
*カギカッコは含めません。全角の空白セルの場合は検索する文字列に「 」(全角の空白セル)を入力してください。
置換後の文字列は何も入力しないでそのままで大丈夫です。
準備できたら「すべて置換」を選択。

以上ですべて空白セルを取り除くことができました!
置換後は無事にSUM関数が正常に動作するようになりました。めでたしめでたし。

おわりに
以上、Excelで関数が使えない時の対処法でした。
気づいてみればなんてことはないんですが、この問題、なかなか気づくことができず解決まで非常に苦労しました。
多分同じことが原因で困っているひとも多いと思うので、少しでも助けになればと思い執筆した次第です。
今日は以上です。