Excel2007で追加されたAVERAGEIF関数
Excel2007では、関数名の末尾に「IF」が付いている関数として、新しい関数が1つ追加されました。その名もAVERAGEIF関数。関数名からもわかる通り、指定された条件を満たすデータの「平均値」を算出する関数です。Excel2010で作成したAVERAGEIF関数の使用例を紹介しましょう。下図では、セルA16に入力された支店の金額データだけを対象として平均値を算出しています。金額の合計を「条件を満たすデータの件数」で自動的に割っている点がポイントといえるでしょう。このように、AVERAGEIF関数は、指定された条件を満たすデータの「平均値」を算出する関数です。
【Excel2010】AVERAGEIF関数の使用例
セルB16に入力されているAVERAGEIF関数は、下図のような内容です。
【Excel2010】セルB16に入力されているAVERAGEIF関数の内容
AVERAGEIF関数をExcel2003で開くとどうなる?
パソコンに「Microsoft Office 互換機能パック」がインストールされている場合、Excel2007で作成したブックをExcel2003で開くことができます。ところが、AVERAGEIF関数が入力されているブックをExcel2003で開いて再計算を実行すると、下図のようにエラーが表示されてしまいます。【Excel2003】ブックを開いたときに表示されるエラー
【Excel2003】再計算が実行されると「#NAME?」が表示される
もし、このような状況が発生した場合は、AVERAGEIF関数と同じ機能を、Excel2003で使用できるワークシート関数で実現することで対応できます。AVERAGEIF関数の機能は、「条件を満たすデータの合計」を「条件を満たすデータの件数」で割るわけですから、「SUMIF関数で算出した合計」を「COUNTIF関数で算出したセルの個数」で割ることで実現できます。
下図は、先ほどのAVERAGEIF関数の例を、Excel2003のワークシート関数で書き換えたものです。
【Excel2003】AVERAGEIF関数をExcel2003で使用できるワークシート関数で書き換える