【ACCESS】住所から都道府県のみを抽出する方法

訪問して頂きありがとうございます。まさふくろーです。

この記事では、住所から都道府県のみを抽出する方法をご紹介します。

住所から都道府県のみを抽出する

「住所一覧」テーブルの「住所」フィールドから、「都道府県」のみを抽出する。

 

使用するサンプルデータ

住所一覧
郵便番号 住所
005-0849 北海道札幌市南区石山2-12-7
108-0073 東京都港区三田3-15
258-0022 神奈川県足柄上郡開成町牛島1-15-18牛島の杜415
447-0004 愛知県碧南市用久町3-2-14用久町庵311
601-8436 京都府京都市南区西九条西柳ノ内町4-14-7ザ西九条西柳ノ内町106
630-8277 奈良県奈良市南半田東町4-5
763-0065 香川県丸亀市塩屋町2-20-2塩屋町庵416
839-0851 福岡県久留米市御井町1-10御井町グリーン415
854-0055 長崎県諫早市栗面町3-19
923-0033 石川県小松市野田町3-6
930-0094 富山県富山市安住町1-9-13安住町ヒル317
942-1215 新潟県上越市大島区牛ケ鼻4-12ステーション大島区牛ケ鼻112

使用する関数

IIf関数

書式 IIf(expr , truepart , falsepart)
説明 式の評価によって、2つの値(True、False)のいずれか1つを返す。
指定項目 必須 説明
expr 評価する式を指定。
truepart 評価する式(expr)がTrueの場合に、設定する値または式を指定
falsepart 評価する式(expr)がFalseの場合に、設定する値または式を指定

Mid関数

書式 Mid(string, start [, length ])
説明 文字列から指定した文字数分の文字列を取り出す。
指定項目 必須 説明
string もとになる文字列を指定。
start 開始する文字位置を指定。
length 取り出す文字数を指定。省略した場合、start位置から文字列の末尾までのすべての文字を取り出します。

Left関数

書式 Left(string, length)
説明 文字列の左端から指定した文字数分の文字列を取り出す。
指定項目 必須 説明
string もとになる文字列を指定。
length 取り出す文字数を指定。

抽出手順

選択クエリの作成

テーブルの追加

①「作成」タブをクリック⇒②<クエリ>グループの「クエリデザイン」をクリックします。

 

①「テーブル」タブをクリック⇒②「住所一覧」を選択⇒③「追加」ボタンをクリック⇒④「閉じる」ボタンをクリックします。

 

使用するフィールドの追加

左クリックして「住所」フィールドを選択します。

 

左クリックした状態で、「デザイングリッド」上にポインターを移動し、ドロップします。

 

 

すると、「デザイングリッド」上に、選択したフィールドが表示されます。

 

都道府県のみを抽出するための設定

データグリッドの「住所」フィールドの部分を、「IIf(Mid(住所,4,1)="県",Left(住所,4),Left(住所,3))」と入力し、「Enter」キーを押します。

 

 

すると、「式1: IIf(Mid([住所],4,1)="県",Left([住所],4),Left([住所],3))」と自動変換されます。

 

 

式「IIf(Mid(住所,4,1)="県",Left(住所,4),Left(住所,3))」の解説
「住所」フィールドの4文字目から1文字取り出し、
取り出した文字が「県」だった場合、「住所」フィールドの左から4文字を取り出す。
取り出した文字が「県」ではなかった場合、「住所」フィールドの左から3文字を取り出す。

フィールド名の変更

フィールド名を「式1」から「都道府県」に変更します。

 

クエリの実行

①「デザイン」タブをクリック⇒②<結果>グループの「実行」をクリックします。

 

最後まで読んでいただき、ありがとうございました!

本のまとめ関連記事はこちら