【エクセル】市町村名から市町村コード(地方公共団体コード)を自動で入力する方法

エクセルで市町村コードを自動で入力する方法

5桁もしくは6桁の市町村コード(全国地方公共団体コード)は『総務省』が各地方公共団体に振ったコードです。

このコードは基本的にお役所が使用するコードですが、一般企業でも固定資産税申告などのために市町村コードと市町村名をセットで管理することがあります。

この市町村コードをWEBサイトなどから1件ずつ調べると時間がかかってしまいます。

今回は、市町村コードと市町村名をExcel(エクセル)で管理して、下の表のような『市町村名をプルダウンで選択すると自動で市町村コードが入力出来る表』の作成方法を紹介します。

市町村名をプルダウンで選択すると自動で市町村コードが入力出来る表
市町村名をプルダウンで選択し市町村コードを入力

私は仕事上、会計システムに市町村コードを入力することがあるよ。

市町村コードの5桁と6桁の違い

市町村コード(全国地方公共団体コード)は基本的に6桁です。

しかし、6桁目の数値を使用せずに5桁で使用する場合もあります。

5桁と6桁の違いをこの見出しで紹介します。

北海道帯広市の市町村コードは総務省HPで検索すると『012076』の6桁です。

市町村コード(地方公共団体コード)の番号体系
市町村コード(地方公共団体コード)の番号体系

このコードには、桁数によって意味を持たせていて、1桁目と2桁目(帯広市:01)は、総務省が定める都道府県コードを表しています。

続く、3桁目~5桁目(帯広市:207)は、総務省が定める市町村コードを表しています。

最後の6桁目は、検査数値(チェックディジット)という5桁の数字がきちんと入力されているかをチェックするための数値が入っています。

つまり、6桁目は検査用の数値のため、市町村を特定するために設定されたコードではないのです。

そのため、市町村コード(地方公共団体コード)は以下の構成となっています。

市町村コード=5桁の数値+1桁の検査数値

じゃあ、5桁と6桁どっちを使えばいいの?という声が聞こえてきそうですが、皆さんが管理している過去の記録やソフトの仕様に合わせて選択してください。

今回は5桁用と6桁用のコード表の作成の仕方を紹介しますので、桁数に合わせて変換表を作成してくださいね。

私はソフトに5桁の市町村コードを入力して固定資産を管理しているよ。

総務省のWEBサイトからリストをダウンロード

市町村コード(全国地方公共団体コード)は市町村の統合や廃止などにより、数年に一度程度、定期的にコードが更新されます。

そのため、定期的に総務省のWEBサイトから最新のコードリストをダウンロードしてエクセルにアップロードする必要があります。

まずは、【総務省】のWEBサイトから、市町村コードをダウンロードする方法を紹介します。

手順1.「都道府県コード及び市町村コード」のExcelファイルをクリック
総務省HPの以下のURLを開き、「全国地方公共団体コード」の「都道府県コード及び市町村コード」のExcelファイルをクリックします。

「都道府県コード及び市町村コード」のExcelファイル
「都道府県コード及び市町村コード」のExcelファイル

手順2.ダウンロードされた「Excelファイル」を開く
PC画面の左下に表示されたダウンロードファイルをクリックしてください。

市町村コードのダウンロードファイルを開く
市町村コードのダウンロードファイルを開く


表示されなかった場合は、ダウンロードしたExcelファイルはPCの「ダウンロード」フォルダに保存されているので確認してください。

PCの「ダウンロード」フォルダ
PCの「ダウンロード」フォルダ

手順3.名前を変えて保存
Excelブックを開き、6桁の市町村コード(団体コード)と市町村名と都道府県名がリスト化されていることを確認します。

エクセルで最新の市町村コードリストを確認
エクセルで最新の市町村コードリストを確認

問題なくダウンロード出来ていれば、任意の場所にファイル名を変えて保存します。

Excelブックの名前を変えてコードを保存
Excelブックの名前を変えてコードを保存

変換表を作成するためにこの後少しだけデータの加工が必要なので、下の見出しで手順を紹介します。

市町村コードリストを加工

ダウンロードしたExcelファイルでも、市町村コードや市町村名の検索に十分役立ちますが、より簡単に検索できるようにするために、ダウンロードした市町村コードを加工します。

また、5桁用のコードリストを作成する場合は、6桁用のリストを加工した後に、6桁目のコードを削除する必要があります。

6桁コード用

まずは6桁用にコードリストを加工します。

手順1.列を挿入
「市区町村名」列(C列)の右横に1列挿入し、「都道府県+市町村名」列を挿入します。

「都道府県+市町村名」列を挿入
「都道府県+市町村名」列を挿入

手順2.都道府県名と市区町村名を結合
「都道府県名」列と「市区町村名」列の文字列を結合します。

結合には「&」演算子を用いて、以下の数式を挿入して、文字を結合します。

=B2&C2

「&」演算子で都道府県と市町村名を結合
「&」演算子で都道府県と市町村名を結合

手順3.数式をコピー
下のすべてのセルも文字列を結合するために、数式をコピーします。

「&」演算子を下のセルにコピー
「&」演算子を下のセルにコピー

手順4.数式を値で貼り付け
「団体コード」列と新規に挿入した「都道府県+市町村名」列以外は不要なので、列を削除するために「都道府県+市町村名」列は値に貼り付け直してから削除する必要があります。

まずは、「都道府県+市町村名」列の列番号(D)を選択して、「Ctrl+C」でコピーします。

列番号(D)を選択して、「Ctrl+C」でコピー
列番号(D)を選択して、「Ctrl+C」でコピー

選択中のD列の範囲内で右クリックし、右クリックメニューの中の「値貼り付け」をクリックします。この作業により、D列に挿入していた数式が値で貼り付けられます。

右クリックメニューの「値貼り付け」
右クリックメニューの「値貼り付け」

手順5.不要な列を削除
「団体コード」列と「都道府県+市町村名」列以外は削除します。以上で、6桁用の市町村コードの完成です。5桁用のコードを作成する場合は、下の「5桁用」の見出しの手順を行ってください。

6桁用の市町村コードの完成
6桁用の市町村コードの完成

5桁コード用

5桁用のコードリストを作成するために、LEFT関数を使って6桁コードの左から5つの数値だけを残します。

手順1.5桁用のコード列を挿入
「団体コード」列(A列)の右横に1列挿入し、「団体コード(5桁用)」列を挿入します。

「団体コード(5桁用)」列を挿入
「団体コード(5桁用)」列を挿入

手順2.セルの書式設定を「標準」に変更
挿入した列は、A列と同じ「文字列」という書式設定になっているため、数式が正しく反映されません。

そのため、B列を選択して右クリックメニューの「セルの書式設定」をクリックします。

右クリックメニューの「セルの書式設定」を選択
右クリックメニューの「セルの書式設定」を選択

「セルの書式設定」画面の「表示形式」タブの「標準」を選択して、「OK」で画面を閉じます。

「セルの書式設定」画面の「標準」を選択
「セルの書式設定」画面の「標準」を選択

手順3.LEFT関数を挿入
LEFT関数を挿入して、6桁コードの左から5つの数値だけを抽出します。

=LEFT(A2,5)

LEFT関数を挿入
LEFT関数を挿入

手順4.数式をコピー
下のすべてのセルにもLEFT関数を挿入するために関数をコピーします。以上で、5桁用の市町村コードの完成です。6桁用の市町村コードは必要に応じて削除しても構いません。

A列を消す場合は、B列を値貼り付けしてから消してね。

5桁用の市町村コードの完成
5桁用の市町村コードの完成

変換表を作成(市町村名⇒市町村コード)

市町村名をプルダウン(ドロップダウン)で選択することで、市町村コードが自動で検索出来る変換表を作成します。

今回は5桁の市町村コードで紹介しますが、6桁コードでも全く同じ方法で作成出来ます。

手順1.変換表のたたき台(フォーマット)を作成
市町村コードとは別のワークシートに、変換表を利用する表のたたき台(フォーマット)を作成します。

今回は下の図のように、固定資産をどの場所に設置しているかを管理するために「固定資産管理表」に利用します。

利用したいExcelファイルに設置場所と市町村コードを入力
利用したいExcelファイルに設置場所と市町村コードを入力

手順2.「市町村コードの列を入れ替え
この先の工程でVLOOKUP関数を利用するため、「5桁コード」シートの「団体コード」列と「都道府県+市町村名」列の左右を入れ替えます。

入れ替えは、B列を「Ctrl+X」で切り取ってからA列の列番号を選択後、右クリックメニューの「切り取ったセルの挿入」で可能です。

VLOOKUP関数を用いるために列を入れ替え
VLOOKUP関数を用いるために列を入れ替え

手順3.「データの入力規則」を選択
市町村名をプルダウンで選択できるようにするために、「設置場所」列の一番上のセルを選択します。

次に、「データ」タブ⇒「データの入力規則」を選択します。

「データ」タブ⇒「データの入力規則」を選択
「データ」タブ⇒「データの入力規則」を選択

手順4.「リスト」の範囲を選択
「データの入力規則」画面で入力の種類を「リスト」を選択します。プルダウンの元の値は、「5桁コード」シートの都道府県+市町村名列を選択し、「OK」で画面を閉じます。

プルダウンのリストの範囲を選択
プルダウンのリストの範囲を選択

手順5.「プルダウン」セルをコピー
下の図のようにプルダウンが設定出来たことを確認します。

市町村名のプルダウンの設定が完了
市町村名のプルダウンの設定が完了

プルダウンのセルを「Ctrl+C」でコピーして、下のセルに「Ctrl+V」で貼り付けすれば、「設定場所」列のすべてのセルにプルダウンを設定することが出来ます。

プルダウンのセルを下のセルにもコピー
プルダウンのセルを下のセルにもコピー

手順6.VLOOKUP関数を挿入
次に、市町村コード列にVLOOKUP関数を挿入します。まずは第1引数「検索値」に、設置場所のセルを指定し、以下のように関数を挿入します。

=VLOOKUP(D3,

市町村コードを自動入力するためVLOOKUP関数の第1引数を設定
市町村コードを自動入力するためVLOOKUP関数の第1引数を設定

手順7.VLOOKUP関数の第2引数を指定
続いて、VLOOKUP関数の第2引数「検索範囲」を指定するために、「5桁コード」シートを選択して、A列とB列の列番号をドラッグして指定します。

=VLOOKUP(D3,'5桁コード'!A:B,

VLOOKUP関数の第2引数「検索範囲」を指定
VLOOKUP関数の第2引数「検索範囲」を指定

手順8.VLOOKUP関数の第3、4引数を指定
続いて、VLOOKUP関数の第3引数「列番号」は左から2列目なので「2」を、第4引数「検索方法」は「FALSE」を設定し、VLOOKUP関数を完成させます。

=VLOOKUP(D3,'5桁コード'!A:B,2,FALSE)

VLOOKUP関数の引数の設定が完了
VLOOKUP関数の引数の設定が完了

VLOOKUP関数に慣れていない方は、以下の記事で詳しく使い方を紹介していますので参考にしてください。

手順9.VLOOKUP関数の完成を確認
設置場所がブランクの場合は、エラー値「#N/A」が表示されますが、設置場所をプルダウンで選択すると、自動で市町村コードが入力されます。

VLOOKUP関数によって市町村コードが自動で入力
VLOOKUP関数によって市町村コードが自動で入力

設置場所がブランクでもエラー値「#N/A」を表示させたくない場合は、IFERROR関数を用いましょう。以下の記事で使い方を紹介していますので、参考にしてください。

手順10.VLOOKUP関数をコピー
VLOOKUP関数を挿入したセルを「Ctrl+C」でコピーして、下のセルに「Ctrl+V」でコピーすれば、「市町村コード」列のすべてのセルにVLOOKUP関数が挿入出来ます。

VLOOKUP関数をコピー
VLOOKUP関数をコピー

手順11.変換表が完成
市町村コードが自動で入力出来る「固定資産管理表」が完成しました。

市町村コードが自動で入力出来る「固定資産管理表」
市町村コードが自動で入力出来る「固定資産管理表」

(ご参考)郵便番号と住所を変換する方法

今回市町村名から市町村コードを入力した方法のように、住所から郵便番号を調べたり、郵便番号から住所を調べる方法を以下の記事で紹介しています。

郵便番号から住所を自動入力
郵便番号から住所を自動入力

下のリンク記事で紹介していますので、興味のある方は覗いてみてください。