みなさん,こんにちは。
シンノユウキ(shinno1993)です。
Excelは学生からビジネスパーソンまで幅広い層の方が使用しています。
Excelは表計算ソフトです。データを入力し,それを計算,グラフや表などを活用しわかりやすく表示できます。しかし,これらを効率的に行うのは意外と難しいもの。Excelの自由度の高さから,多くの方が悩まれる部分かもしれません。
そこで今回は,DOVパターンと呼ばれるExcelワークシートの構成方法について紹介します。DOVパターンを使用することで,Excelで効率的なワークシートを構成することができます。
DOVパターンとは?
DOVパターンはExcelワークシートの構成方法の一種類です。
下記3つの処理の頭文字をとっています:
- Data:入力
- Operation:演算
- View:表示
Excelでの処理をData・Operation・View の3つの役割に分割します。
ワークシート単位で分割されることが多いようです。下記のように,3つのシートに処理を分割します:
- Dataシート:データの入力だけを行います。
- Operationシート:入力されたデータを,関数などを活用しながら演算・加工していきます。
- Viewシート:データや演算された結果を人にわかりやすく表示していきます。
Webアプリケーションのフレームワークで多用される「MVC」と似た考え方かもしれません。
下記で,どのように処理を分割していくのか,解説していきます。
①Dataシート:入力
Dataシートではデータの入力だけを行います。
ここでのデータは生データを指します。外部ソースからインポートしたデータなどをこのシートに挿入します。手作業によるデータの登録・入力などもこのシートで行います。
具体的には以下のような感じです:
ポイント:データの入力だけ行う
ポイントは,データの入力だけ行うシートだということです。1行1データのテーブル形式で構成します。
関数での処理・マスタからの参照・セル結合は禁止です。こういった処理は,OperationシートやViewシートで行います。
このようにデータを持つことで,データ入力者が計算式を壊すこともなくなりますし,生データを使用した計算のやり直しも容易になります。
②Operationシート:演算・加工
Operationシートでは,関数などを活用しながらデータを演算・加工していきます。
下記のようなことはOperationシートで行います:
- データの正規化・標準化
- 関数やマクロ等を使用したデータクレンジング
- 関数やマクロ等を使用したデータの集計
ポイント:生データをOperationシートにリンク(コピー)する
まずは扱いやすいように,生データが掲載されているDataシートのデータを,Operationシートにリンクすることをオススメします。リンク貼り付け等で参照すると良いでしょう。
データ数が多く,処理が重くなってしまう場合には値をコピーしても良いと思います。その場合,データを更新する度にコピーが必要になりますので,簡易化するためにコピー処理をマクロ化しておくと便利だと思います。
ポイント:関数やVBAを使用してわかりやすく
関数やVBAを使用した,データクレンジングの作業や集計などを行います。Excelの機能をフル活用していきます。
演算・加工の過程をわかりやすくしておくと,後々に便利です。数式を適度に分割する,計算のための列を使用するなどです。これにより,後々に演算・加工のプロセスを変更する場合でも,対応が容易になります。
③Viewシート:表示
Viewシートでは,データや演算された結果を人にわかりやすく表示していきます。
下記のようなことをViewシートで行います:
- グラフでのデータ表示
- 人が見やすいレイアウト構成(セル結合も可)
ポイント:人が見やすければ何でもOK!
Viewシートでは,人の見やすさだけを考慮します。
グラフでのデータ表示も積極的に行いましょう(わかりやすくなるのであれば)。
また通常は疎まれるセル結合も問題ありません。セル結合が疎まれるのは,データの利用可能性が下がることが理由です。Viewシートでは関係がないので,多用しても問題ありません。
まとめ
今回はExcelでDOVパターンを活用する方法を簡単に紹介してみました。
今回はシートを3つに分けて処理を行いましたが,必ずしもこのようにする必要はありません。
重要なのは,DOVパターンの3つの段階ごとに分けて考えるということです。上記の3つを全て同じ段階で処理しようとすると無理が出てきます。参考になればと思います。