とある業務でエクセルを利用したこんな業務を行うことになりました。
あまり正確には仕事内容を話せないので、多少ごまかした書き方になります。
・システム内のさまざまな機能の設計書(数百ファイル)がある。
・その設計書にはそれぞれ参照しているDBのテーブル名の一覧が書かれている。
・ただし現行のDBではテーブルの削除や名称の変更があり、またそもそも
設計書作成段階での記載ミスもあるため一度すべての設計書を
最新のテーブル一覧に対応した正しい内容に修正したい。
このような作業を行うことになりましたが、設計書を一つずつ、その中でテーブルを
一つずつ照らし合わせていくと大変な時間がかかってしまします。
いくらでもスマートな方法はありそうですが、当時私はエクセル関数を利用して
以下の方法を取ることにしました!
まずは新規のExcelファイル(以下ワークファイル)を作成し、
DB設計書から現行のテーブル一覧をA列に縦に並べます。
そして各機能の設計書から、参照しているテーブル一覧をワークファイルの適当な位置
(今回は同シートD2セルから)へ貼り付け。
↓
そしてその隣のセルへ
=VLOOKUP(D2,A:B,2,FALSE)
と関数を投入して下までコピーすると・・・
とこのように設計書に該当する正しいテーブル名が取得されます。
そして「#N/A」となっている部分はどうやら該当する項目が見つからなかったので、
この時は左のA列B列に設計書に書かれたテーブル名と正しいテーブル名を並べて
追加してやります。
例えば調査した結果D3セルの「役職情報」は「新規役職情報」が
D5セルの「地域マスタ」は「全国地域マスタ」がそれぞれ正しい名前だと
判明した場合
このようにリストを追加してやることで、E3、E5セルに正しい名称が
取得されます。このE列をそのまま設計書の方へ反映させてやることで、
一つのファイルが修正完了となります。
精査する対象が1件だけの場合は普通に調べたほうが早くて簡単ですが、
次の設計書からは追加したテーブル名についてはいきなり反映されるので
リストの追加も不要でそのままE列の情報をコピーしてやるだけでOKです!
かなり限定的な用途ですが、やってる内容自体はとても単純なものなので、
似たようなことを行う際にはちょっと思い出してもらえれば幸いです。