2018.6.18

COUNTIFS関数で外部ブック(ファイル)を参照するとエラーになる原因と解決策

COUNTIFS関数で外部ブックを参照したらエラーが出てしまった時の原因と解決策をまとめました。

原因

COUNTIFS関数は、外部ブックを参照する場合、ブックを閉じているとエラーになってしまいます。

さらに、COUNTIFS関数のように、参照先のブックを閉じているとエラーになってしまう関数がいくつかあります。その関数は以下の通りです。

  • COUNTIFS関数
  • COUNTIF関数
  • IFERROR関数
  • SUMIF関数
  • DSUM関数
  • DCOUNTA関数
  • INDIRECT関数

主に数を数える系の関数がエラーの対象になってしまいます。

解決策

外部ブックを開けばエラーは解決するのですが、それだと何かと不便です。なので、COUNTIFS関数と処理内容が似たSUMPRODUCT関数を使います。

このSUMPRODUCT関数を使えば、外部ブックを閉じていてもエラーになりません。

以下、使い方です。

条件がひとつの場合

ひとつの引数に範囲検索条件を入力して、その引数の後ろに*1を入力します。

# 関数の構成
=SUMPRODUCT((範囲=条件)*1)

# 使用例
=SUMPRODUCT(($B$2:$B$6=$C$2)*1)

条件が複数の場合

ひとつの引数に対して範囲検索条件の1セットを入力することが出来ます。*区切りで範囲検索条件のセットを増やしていきます。

# 関数の構成
=SUMPRODUCT((範囲=条件)*(範囲=条件)*(範囲=条件))

# 使用例
=SUMPRODUCT(($B$2:$B$6=$A$2)*($C$2:$C$6=$A$3)*($D$2:$D$6=$A$4))

まとめ

SUMPRODUCT関数は少し前に使われていた関数で、最近はほとんど見ることが無いらしいです。なので、この関数のことは頭の片隅にいれておく程度で良いかと思います。

外部ブックを参照した時にエラーが返ってきたら、その時に使っている関数が閉じている外部ブックを参照出来るかどうかを確認してみるといいでしょう。

シェアする
フォローする
Web-Guided - web業界で働く方を少しだけ手助けするメディア