今にして思えば、3年まえにVLOOKUPなんていらないという動画から始まりました。
今回は、ACCESSの基礎中の基礎です。
最近は、テレワークで、ACCESSも注目されているようです。
今回も、競馬ネタですが、CSVファイルを思いのまま変身させたいと思います。
目次
CSVファイルを変身させる
こんにちは。伊川(@naonaoke)です。
これも、実務で良くあるあるだと思います。
A店から送られてきたCSVファイルと、B店から送られてきたCSVファイルが、微妙に異なっている事があります。
これを、いちいち手直後、集計をするというような場合です。
そのシート毎に関数、または、VBAで手直しをするというような場合です。
この面倒は、ACCESSを一旦経由することで、解決します。
問題提起
- ACCESSを利用し始めた人
- クエリがわからない人
- ACCESSのリレーションがわからない人
解決
Excelで、操作ができるようになったと実感するときは、参照系(VLOOKUP XLOOKUP)の関数等を利用した時だと思います。参照系は、ACCESSで一旦整形するという事が出来れば、驚くほど、カンタンになります。ゴールは、18桁のレースIDを作成することになります。
リレーションの設定
ACCESSには、DLOOKUP関数というVLOOKUP関数の親戚のような関数があります。
しかし、DLOOKUP関数を知らなくても、参照系はリレーションの設定で解決します。
しかもカンタンにクエリで設定できるので、ぜひ、覚えてください。
ACCESSの基本機能です。
リレーションの設定 作業手順 その1 CSVファイルを確認する
毎週、送信されてくる競馬のファイルです。
今やりたいことは、赤枠の数字が、1桁なら先頭に0をつけ、2桁なら、そのままの値を利用します。
やり方は、色々あります。
Excelであれば、
- IF関数で整形する。
- VLOOKUPで参照する。
- VBAで整形する。
ACCESSであれば、
- Iif関数で整形する。
- DLOOKUP関数で参照する。
- VBAで整形する。
- リレーションを利用して、データを参照する。
ACCESSのほうが、技が多いです。
しかし、1点面倒なことがあります。
参照する分だけのテーブルの作成が必要です。
しかし、一旦、作成してしまえば、メンテも楽で、ほぼ、一生使えるツールになります。
リレーションの設定 作業手順 その2 CSVファイルをACCESSに貼る
こんな感じで何も考えずに、CSVファイルをACCESSに貼ります。
見てわかるように、順番は、バラバラです。
これも、ACCESSの特性です。
順番通りには、ならんでくれません。
ソートを使っても初心者なら、上手く、ソートもできないと思います。
リレーションの設定 作業手順 その3 参照するテーブルを作成する
このようなテーブルを作成します。
このように、線を繋げるだけです。
カンタンに整形できます。
線を繋げるだけです。
Excelの場合は、このような場合、どうしても作業セルが必要になります。
しかし、ACCESSは、4という値を表示させないように設定ができます。
これだけです。
リレーションの設定 作業手順 その4 18桁のレースIDを作成する
このような作業を繰り返します。
後は、アンパサドで、文字を結合します。
複雑な知識も使わず、カンタンに作成できました。
整形されたデータは、別途、テーブルを作成しておきます。
このテーブルは、他のACCESSでも使えます。
リレーションの設定 作業手順 その5 なぜ、18桁の番号は必要なのか?
これは、競走馬は、すべて18桁のIDで管理されているからです。
つまり、私の競馬のデータベースにおいては、この18桁のレースIDがないデーブルはありません。
このIDさえあれば、どの値でも参照することができます。
線を繋げるだけで、できます。
カンタンなのです。
リレーションの設定 作業手順 その6 リンクテーブルで、他のACCESSから参照する
今作成したクエリは、調教.accdbdにあります。
補正.accdbという他のACCESSで、利用したい場合は、リンクテーブルを利用します。
Excelなら、別のブックを参照するのは、結構面倒です。
ここがポイント
最近、NET上で、良くACCESSの記事を見かけます。少し、注目されてきたのでしょうか?しかし、注目されようが、されまいが、参照系を実装するなた、ACCESSが一番、お手頃で、カンタンです。
線を引くだけです。
まとめ
久々に、VLOOKUP関数を悪く言いました。
しかし、どんなに便利なExcelの関数でも、このリレーションの設定は覚えてほしいスキルです。
今回も最後までお読みいただきありがとうございました。
今回のサンプルファイルは、ありません。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。