(読了時間=約 2 分)
現場でいちいち教えてられない細かいテクニックシリーズ。
前回はシート単位でデータを抽出するやり方を書きましたが、今回はブック単位で複数シートのデータをまとめて抽出するやり方です。
本日のお題

今日のお題はこちら。会社の実績管理資料で、部門別シートに月次P/Lがまとまっていて、それとは別に「全社計」シートで全ての部門別シートを合計しているというものです。
お題として簡略化していますが、実際には表の縦軸である科目はもっと細かく、また、部門数も全部で70部門あり、計算式も入っていましたのでかなり容量の大きなファイルでした。
で、この会社では同じファイル形式で予算も作っていました。
それは良いんですが、予算と実績のファイルが別で、比較表を作ったりしようとするとかなり複雑なことになります。そこで、データだけを取り出して別のファイルで分析できるようにしたいと思います。
データ抽出用シートを作成

データ抽出のために、新たに「抽出」シートを作って、ここに全てのデータを吸い上げます。
まずは1つ目の部門。
部門シートからPLのフォームをコピーしておき、数値は部門シートを参照します。
表形式が同じなので、左上端(D5)で式を入れて、それを表全体にコピー(数式貼付け)すれば表全体が部門シートを参照したことになります。

部門01が完了したら、その下に部門02の抽出表を作ります。
手順は同じ。表形式をコピーした後、左上のセルに式を入れ、それを表全体にコピー(数式貼付け)。
これを部門の数だけ繰り返していきます。
抽出シートをコンパクトに
全社計のシートまで抽出ができたら、今度はこれをコンパクトにします。
というのも全部縦に並べると行数が結構な数になります。この例では若干簡略化していますが、それでも一画面には入りません。
実際の例だと、科目数も細かく、部門数も70部門くらいあったので、全体で7,000行近くにもなっていました。これだけの行数となるとスクロールするだめでも大変なので、コンパクトにまとめることは必須になります。

まずは縦軸。全部畳んじゃうという考え方もありますが、売上高と営業利益は残すようにしました。こうすれば、コンパクトながら部門ごとの数字はパッと確認することができます。

横軸は毎月の内訳を畳んで年間計だけを見れるようにします。
コンパクトにすると言っても闇雲にまとめるのでなく、まとめていながらもポイントだけは確認できるようにしておくと良いです。
まとめた結果がこちら。だいぶコンパクトになりましたね(^^)v。

データのある範囲(A1:P53)をコピーして、別のファイルの入力シートに値貼り付けすればデータ抽出完了です。
エラーチェックはこのシートでやっても良いのですが、元のファイルが重たかったので、ここでは行わず、分析用シートの方で行うと良いでしょう。(ということでここでは説明しません)
他のファイル(ブック)に移植する
月次PLデータは毎月更新されるので、一ヶ月後にはまた新しいファイルが出来上がってきます。
新しいファイルからも同様にデータを抽出したいのですが、この抽出シートをコピーしただけだと、リンクが更新されず元のファイルを参照する形になってしまいます。

これを修正するためには「置換」という機能を使います。
「置換」というのはワードやパワーポイントでもお馴染みの機能で、ある文字列を別の文字列に置き換えるわけですが、エクセルの場合、数式の中も文字列を置き換えることができます。

ExcelがMac版なんでちょっと見た目が違いますが、要するに検索文字列をファイル名(両側の括弧も含める)とし、置換後の文字列は空白とします。こうすると、別ファイルの参照が解除されて、現在のファイルの対象シートを参照するようになります。
1個1個確認すると確実なんですが、数式が多いと大変なので「全て置換」で一気に置換してしまいます。

意外に数が多いので驚きますよね。今回の単純な例でも520件。実際の例だともっと凄い数になっていました。
数が多いのを一気に変えられて効率的なんですが、対象範囲の設定が曖昧で正しい文字列まで置換されてしまうこともあるので、注意しながら行った方が良いと思います(ファイル名の場合は両側に括弧が入るので大丈夫だと思いますが、特定の列番号を指定したりという場合には要注意です)。
ということで、無事移植が完了したことを確認して終了です。

事例として個別のテクニックを詳しく紹介していますが、根底には同じような考え方や手法があります。その部分まで含めて感じとって戴けると、自分なりに応用を効かせ易くなってゆくと思います。
ということで本日はここまで!