日本の都道府県の分類には、都道府県コードと七地方区分(北海道、東北、関東、中部、近畿、中国・四国、九州)の組合せがよく使用されます。
この例題では、マスターデータのマッチング参照の定番手法である「変換入力」にスポットを当て、入力データにはない「地方区分名」をマスターから参照する方法について例示します。
フォルダ構成と業務手順
入力CSVファイルと都道府県マスター
INPUT\input.csv
都道府県コード,都道府県名 04,宮城県 13,東京都 14,神奈川県 27,大阪府 38,愛媛県 38,愛知県 96,テキサス州
MASTER\都道府県マスター.xlsx
都道府県 コード |
都道府県名 | 地方区分名 |
01 | 北海道 | 北海道地方 |
02 | 青森県 | 東北地方 |
03 | 岩手県 | 東北地方 |
04 | 宮城県 | 東北地方 |
05 | 秋田県 | 東北地方 |
06 | 山形県 | 東北地方 |
07 | 福島県 | 東北地方 |
08 | 茨城県 | 関東地方 |
09 | 栃木県 | 関東地方 |
10 | 群馬県 | 関東地方 |
11 | 埼玉県 | 関東地方 |
12 | 千葉県 | 関東地方 |
13 | 東京都 | 関東地方 |
14 | 神奈川県 | 関東地方 |
15 | 新潟県 | 中部地方 |
16 | 富山県 | 中部地方 |
17 | 石川県 | 中部地方 |
18 | 福井県 | 中部地方 |
19 | 山梨県 | 中部地方 |
20 | 長野県 | 中部地方 |
21 | 岐阜県 | 中部地方 |
22 | 静岡県 | 中部地方 |
23 | 愛知県 | 中部地方 |
24 | 三重県 | 近畿地方 |
25 | 滋賀県 | 近畿地方 |
26 | 京都府 | 近畿地方 |
27 | 大阪府 | 近畿地方 |
28 | 兵庫県 | 近畿地方 |
29 | 奈良県 | 近畿地方 |
30 | 和歌山県 | 近畿地方 |
31 | 鳥取県 | 中国・四国地方 |
32 | 島根県 | 中国・四国地方 |
33 | 岡山県 | 中国・四国地方 |
34 | 広島県 | 中国・四国地方 |
35 | 山口県 | 中国・四国地方 |
36 | 徳島県 | 中国・四国地方 |
37 | 香川県 | 中国・四国地方 |
38 | 愛媛県 | 中国・四国地方 |
39 | 高知県 | 中国・四国地方 |
40 | 福岡県 | 九州地方 |
41 | 佐賀県 | 九州地方 |
42 | 長崎県 | 九州地方 |
43 | 熊本県 | 九州地方 |
44 | 大分県 | 九州地方 |
45 | 宮崎県 | 九州地方 |
46 | 鹿児島県 | 九州地方 |
47 | 沖縄県 | 九州地方 |
生成制御シートとひな形シート
例題データと制御シート・ひな形シートのポイント
- 「都道府県コード」は前ゼロ付きの2桁の数字です。
- 入力データの「38,愛知県」「96,テキサス州」は、エラーデータの例として入れています。
- ひな形シートの「都道府県コード」は、セル書式を「文字列」にして、前ゼロが表示できるようにします。必要に応じて中央寄せなどを指定してください。
- 制御シート「入力項目名」キーワードの「#地方区分名」は、入力データにはない項目なので、項目名の先頭に "#" を付けます。
- 注意点:制御シート [変換入力]-[ファイル] キーワードですが、制御ブック(CTL\データ生成.xlsx)のあるフォルダからの相対パス指定となります。この例題の場合は、CTLの親(..)フォルダの下のWORKフォルダの下を指定しています。 ..\WORK\都道府県マスター.xml
これまでの設定での実行結果
OUTPUT\output.xlsx
都道府県コード | 都道府県名 | 地方区分名 |
04 | 宮城県 | 東北地方 |
13 | 東京都 | 関東地方 |
14 | 神奈川県 | 関東地方 |
27 | 大阪府 | 近畿地方 |
38 | 愛媛県 | 中国・四国地方 |
38 | 愛知県 | 中国・四国地方 |
96 | テキサス州 |
変換入力でマッチングに失敗すると「地方区分名」は空になります。この例では、エラーデータの「38,愛知県」も「都道府県コード」でマッチしてしまい、「中国・四国地方」がセットされてしまっています。
「マッチキー」の追加
これを改善するために、制御シートの「マッチキー」に「都道府県名」も加えてみましょう。マッチキーを横に並べると、AND条件(かつ)での参照判定となります。
都道府県コード | 都道府県名 | 地方区分名 |
04 | 宮城県 | 東北地方 |
13 | 東京都 | 関東地方 |
14 | 神奈川県 | 関東地方 |
27 | 大阪府 | 近畿地方 |
38 | 愛媛県 | 中国・四国地方 |
38 | 愛知県 | |
96 | テキサス州 |
「固定値」キーで参照エラーを明示する
参照エラーを明示的に表示したい場合は、「固定値」キーに「ERROR」「未登録」「★エラー★」 などの任意の文字列を指定します。
都道府県コード | 都道府県名 | 地方区分名 |
04 | 宮城県 | 東北地方 |
13 | 東京都 | 関東地方 |
14 | 神奈川県 | 関東地方 |
27 | 大阪府 | 近畿地方 |
38 | 愛媛県 | 中国・四国地方 |
38 | 愛知県 | ERROR |
96 | テキサス州 | ERROR |
参照エラーデータをスキップしたいとき
マッチングに失敗した参照エラーデータを出力からスキップさせたいときは、「スキップ条件」キーワードに、「固定値」で設定した値を指定します。
都道府県コード | 都道府県名 | 地方区分名 |
04 | 宮城県 | 東北地方 |
13 | 東京都 | 関東地方 |
14 | 神奈川県 | 関東地方 |
27 | 大阪府 | 近畿地方 |
38 | 愛媛県 | 中国・四国地方 |