データベースは、さまざまな分析に活用できて便利ですが、「活用できる形」が多いため、「どうやって使えばいいんだろう?」と迷ってしまうことはありませんか。
データベースは、どのように活用できるのかを知っておくと、業務の幅が広がります。今回は、データベース活用のひとつとして、Excel2010を用いて、必要な情報だけを抽出して結果を表示する方法をご紹介します。
必要な項目だけを抽出して、自動的に集計表を作成
【完成図】
膨大なデータベースの中から、必要な項目に合わせてデータを抽出して集計する方法です。
以下では完成図の作成方法をご紹介します。
例えば、下図のように商店の売り上げデータベースから、月ごとに品目別に合計を算出する集計表を作成します。
まず、下準備として、日付から月を算出する式を追加します。
「数式」タブから「日付/時刻」を選択し、その中からMONTH関数を選択します。
そして表示されたウィンドウの「シリアル値」に、日付が入力されているC4セルを指定すると、対象となる日付の「月」が表示されます。
これは月を判別するものなので、必要なければ非表示にしてしまってOKです。
条件を指定して該当する項目のみの合計を算出するには、SUMPRODUCT関数を使用します。SUMPRODUCT関数は、(「条件」*「合計したいもの」)で、合計に合致したものだけを合計することができます。条件は、「*」で繋げることで、複数の条件を設定することができます。
例えば、「1月」の「品目A」の合計を算出する場合は、
=SUMPRODUCT(($D$4:$D$140=J4)*($F$4:$F$140=”品目A”)*$G$4:$G$140)
となります。
あとは、項目毎に品目名を変更し、オートフィルを使って下にドラッグすれば、それぞれの月の合計を算出することができます。
IF関数を使って、エラー回避
計算式が正しくても、除算の分母が「0」になっていたり、ブランクとなっているとエラーとなり、「#VALUE!!」と表示されてしまいます。
例えば、月ごとの合計を算出して前月との比較する時、当月の数値を前月の数値で割って計算をしますが、データベースが期中で未入力の場合、下図のようにエラーになってしまいます。
そこで、エラー回避の為に、IF関数を使いエラー回避を行います。
if関数は
=IF(論理式,真の場合,偽の場合)
で表現されます。
その為、比較する月のどちらか(当月と前月)の数値が「0」である時は計算を行わずに、ブランクを表示することをIF関数で表現すると、こうなります。
=IF(OR(P4=””,P5=””),””,P5/P4)
四半期毎の比較でも、考え方は同じです。
1年を4半期で割ると3ヶ月になります。つまり、期中が3ヶ月分ない場合は、4半期に満たないということになります。4半期に満たない場合は表示しない、とすればいいのでそれをIF関数で表現すると、以下のようになります。
=IF(OR(R5=0,R8=0,COUNT(P4:P6)<=2,COUNT(P7:P9)<=2),””,R8/R5)
エラー表示がなくなると、表としても見やすくなります。
必要項目に合わせて、表をレイアウト
あとは、必要項目に合わせてレイアウトしていけば、マルチ集計表が完成します。
また、データベースが途中であっても、エラー表示がなく表示することができるので見た目もすっきりします。
今回は品名で作成しましたが、もちろん同じ要領で担当者別も作成することができます。
エクセルを使ったデータベース活用の基礎をご紹介しました。
データベースを作成すると同時に集計もできるので、ぐっと情報管理が楽になりますよ。