0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

エクセルのVLOOKUP機能を利用した辞書・ゆらぎ補正機能

Posted at

とある業務でエクセルを利用したこんな業務を行うことになりました。
あまり正確には仕事内容を話せないので、多少ごまかした書き方になります。

・システム内のさまざまな機能の設計書(数百ファイル)がある。
・その設計書にはそれぞれ参照しているDBのテーブル名の一覧が書かれている。
・ただし現行のDBではテーブルの削除や名称の変更があり、またそもそも
 設計書作成段階での記載ミスもあるため一度すべての設計書を
 最新のテーブル一覧に対応した正しい内容に修正したい。

このような作業を行うことになりましたが、設計書を一つずつ、その中でテーブルを
一つずつ照らし合わせていくと大変な時間がかかってしまします。

いくらでもスマートな方法はありそうですが、当時私はエクセル関数を利用して
以下の方法を取ることにしました!

まずは新規のExcelファイル(以下ワークファイル)を作成し、
DB設計書から現行のテーブル一覧をA列に縦に並べます。
キャプチャ13.PNG

そしてA列の内容を、そのままB列へコピーします。
キャプチャ14.PNG

そして各機能の設計書から、参照しているテーブル一覧をワークファイルの適当な位置
(今回は同シートD2セルから)へ貼り付け。
キャプチャ11.PNG
  ↓
キャプチャ15.PNG

そしてその隣のセルへ
=VLOOKUP(D2,A:B,2,FALSE)
と関数を投入して下までコピーすると・・・
キャプチャ16.PNG

とこのように設計書に該当する正しいテーブル名が取得されます。
そして「#N/A」となっている部分はどうやら該当する項目が見つからなかったので、
この時は左のA列B列に設計書に書かれたテーブル名と正しいテーブル名を並べて
追加してやります。
例えば調査した結果D3セルの「役職情報」は「新規役職情報」が
D5セルの「地域マスタ」は「全国地域マスタ」がそれぞれ正しい名前だと
判明した場合
キャプチャ17.PNG

このようにリストを追加してやることで、E3、E5セルに正しい名称が
取得されます。このE列をそのまま設計書の方へ反映させてやることで、
一つのファイルが修正完了となります。
精査する対象が1件だけの場合は普通に調べたほうが早くて簡単ですが、
次の設計書からは追加したテーブル名についてはいきなり反映されるので
キャプチャ12.PNG

例えば次に↑のような設計書を精査する場合
キャプチャ18.PNG

リストの追加も不要でそのままE列の情報をコピーしてやるだけでOKです!

かなり限定的な用途ですが、やってる内容自体はとても単純なものなので、
似たようなことを行う際にはちょっと思い出してもらえれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?