とある派遣先で行ったお仕事の再現です。
大命題:
アクセスデータベースもう使わない。
アクセスデータベースにある情報を全部Excelにエクスポートしたい。
これまでアクセスのマクロボタンを押して任意の情報抽出をしていた、Excelになっても同じことができるようにして欲しい。
※ただしVBAは使用しないこと。
------------------------------------
マクロ ヲ トウロクシタ ボタン ハ ツカッテタ ノニ VBAハ キャッカ ナンダネ
オンプレミスからSaaSへの移行により、長年使用していたアクセスデータベースを終了⇒今後は互換性の高いExcelを使用しクラウドへのアップロードをしたいとのこと。
社員さん「アクセス…の、中身がどうなっているかは私たちも知らないんです。
ずっと外注さんにお願いしていたんですが、すでに契約終了してしまい、Excelへの移行は私たちでやらないといけなくて。
ExcelでPivot tableとかで出来るようになりませんか? VBA使われても私たちがわからなくてブラックボックス化します。」
私「データ…ですが、アクセスというのは大抵テーブルが複数に分かれているものでして…」
社員さん「あ、それは私たちも聞いています。それを一つのExcelファイルにしてもらって、クラウドに保存して、誰でも使えるようにしてくれませんか?」
私「今までこのアクセスデータベースは誰が利用していたんですか?」
社員さん「それは私たちです。
取引先から『〇〇の材料を含む製品はどれか』などと都度問合せを受けます。
問合せを受けるたびにアクセスを開き、〇〇と検索ワードを指定してマクロボタンを押せば必要な情報抽出がされるように出来ています。
Excelにエクスポートしてからも指定したワードで抽出出来るようにして欲しいです」
私「今、アクセスの中にある情報が全てですか?それとも今後まだ情報は追加されていきますか?」
社員さん「追加はありません。今ある情報が全てです。」
私「わかりました」
そんなわけで、
アクセスの中で7テーブルほどにわかれていたのをExcelにエクスポートし、
一人でウンウン唸りながら解読して、VlookUPにてつなぎ続けてようやっと一つのExcelシートに全情報をまとめました。
とりあえず、
Excelでもさほど重くならない程度の情報量であったため、そこはメデタシです。
さて、Excelの1シートに情報はまとまりました。
次は、任意のワードでの抽出です。
それって、オートフィルタで出来そうじゃない?
って、
オートフィルタしてみせると、
社員さん「ソレジャナイ!」
って言うわけです。
例えば、任意の検索ワードが『じゃがいも』だった場合。
じゃがいもでソートすると、

以上のような結果になるわけです。
ですが、社員さんが求める結果はこう。
『じゃがいも』だけのソートではなく、
『じゃがいも』を使う料理のすべての材料が表示されること。
だそうでした。
検索ワードが『じゃがいも』または『味噌』だった場合は、
こうじゃなくて、
こう出てきて欲しいそうでした。