クエリについて その9 都道府県を分割する

B!

目次

空白より前、空白より後にわける

こんにちは。伊川(@naonaoke)です。

名前、苗字と名前に分ける。

都道府県のみを抽出したい等、文字列の操作は、いろいろ用途があります。

今回は、Left関数、Right関数、InStr関数について説明します。

問題提起

 

(株)IKAWAの阿久 世子男(アク セスオ)は、上司から、下記の依頼を受けました。
・データベース上の住所に関して、都道府県と、市町村を分割する
・ACCESSで作成すること
Excelでは、名前を本名と名前には分けることができますが、ACCESSには、FIND関数はありません。
どのような関数を使ったら良いのでしょうか?

解決策

 

回答

・Left関数、Right関数を使う
・InStr関数を組合わせる

ExcelのFIND関数は使えないので、InStr関数を利用する

上の記事のように、このサイトでは、Instr関数については、何度か説明をしています。

Instr関数は、Excel、ACCESSのVBAで使えます。


上の図のようなデータベースがあります。

このデータベースを、

北海道 札幌市

青森県 青森市

上記のように分割したいと思います。

もちろん、伊川 直助を、分割することもできます。

クエリを作成する

分割手順 その1 Left関数と、InStr関数を組合わせる


上の図のように、クエリを作成します。

都道府県は、左側にありますので、Left関数を使って抽出します。


県名: Left([都道府県],InStr(1,[都道府県],” “)-1)

上の式で、都道府県が抽出できます。

分割手順 その2 Right関数と、InStr関数を組合わせる

市町村は、右側にありますので、Right関数と、InStr関数を組合わせます。


市名:Right([都道府県],Len([都道府県])-InStr(1,[都道府県],” “))

 

これで、完成です。

まとめ

InStr関数が、活躍する内容でした。

 

ここがポイント

今回は、紹介しませんでしたが、Mid関数も組合わせることができます。
Left関数、Mid関数、Right関数、InStr関数は、文字列を操作するのに、最強の組合せです。また、今回紹介した内容は、ACCESSだけではなく、そのまま、ExcelのVBAでも使用できます。

ぜひ、みなさんのスキルにしてください。

 

サンプルファイルはNo33です

 

最新の記事はこちらから