目次
空白より前、空白より後にわける
こんにちは。伊川(@naonaoke)です。
名前、苗字と名前に分ける。
都道府県のみを抽出したい等、文字列の操作は、いろいろ用途があります。
今回は、Left関数、Right関数、InStr関数について説明します。
問題提起
(株)IKAWAの阿久 世子男(アク セスオ)は、上司から、下記の依頼を受けました。
・データベース上の住所に関して、都道府県と、市町村を分割する
・ACCESSで作成すること
Excelでは、名前を本名と名前には分けることができますが、ACCESSには、FIND関数はありません。
どのような関数を使ったら良いのでしょうか?
・データベース上の住所に関して、都道府県と、市町村を分割する
・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でも使用できます。
ぜひ、みなさんのスキルにしてください。