Excelのデータベース機能を使って、大量のデータレコードをあつかい、シミュレーションを行うことがある。人事屋さんでいえば、従業員の人事データや給与データをシステムからCSVファイルでダウンロードし、さまざまな条件を設定し、結果を見てみるといった具合だ。
とくに給与や人件費の総額が、条件によってどのように変化するなどといった計算は、制度を検討する上で欠かせないものである。
そんなときに重宝する関数がある。SUBTOTAL関数である。この関数、どのように重宝するかというと、こういった具合だ。
通常データベース機能では、1行ごとにデータがならんでいるので、必要な項目が入っているセルがある列の合計や平均、件数などを計算する関数をデータベースがならんでいる最終行の下に入力して計算、表示させる。
合計ならSUM、平均ならAVERAGE、件数ならCOUNTAを使用すればいいのだが、このSUBTOTAL関数の最大の特徴は、フィルタで選択表示させた行の値だけをひろって計算してくれるのだ。
・=SUBTOTAL(集計方法,参照1,[参照2],…)
参照の引数に集計したいリストの2行目から最終行までのセルを設定する。そして集計方法の引数は、なんと11種類の計算に対応しているのだ。
たとえば、各データレコードに「年齢」を持っていたとすれば、フィルターで年齢をしぼると、絞ったデータの集計結果が関数で表示される。その集計機能も11種類あるので、任意の数値を引数に入力するだけである。
大量のデータを使ってシミュレーションをする人には、必須の関数である。