日本の都道府県の分類には、都道府県コードと七地方区分(北海道、東北、関東、中部、近畿、中国・四国、九州)の組合せがよく使用されます。
この例題では、マスターデータのマッチング参照の定番手法である「変換入力」にスポットを当て、入力データにはない「地方区分名」をマスターから参照する方法について例示します。
フォルダ構成と業務手順


入力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 | 愛媛県 | 中国・四国地方 |