見出し画像

[EXCEL] リスト入力 番外 都道府県×市町村のタテヨコ表を作る ~入力表作成レッスン~

目次>様式/入力表の作成>プルダウンリスト
▶関連記事:プルダウンリスト

【まとめ】
都道府県×市町村のタテヨコ表の作り方
1 都道府県名を横に並べる
2 FILTERで市町村を括り出す
以上


【説明】
前回記事で、2段階リスト(正攻法)の作成方法について記事にしました。
その前段で、都道府県×市町村のタテヨコ表を作りました。
元データは、総務省の市町村コード一覧。
地方行政のデジタル化|全国地方公共団体コード - 総務省

こちらもどうぞ。
[EXCEL] 総務省の「全国地方公共団体コード」を見て唖然! トンデモ表だった?(と思うのは私だけ?)


都道府県×市町村にしたものがこちら。

1行目に都道府県名がヨコに並び、その下に市町村名がタテに並びます。

こういった表がないと、2段階プルダウンリストができない、というのが多くの記事の説明です。なので私も作ってみました。
その際、「都道府県別に市町村名をコピペするのは面倒なので、別の方法でやったら5分で出来た」ということを書いたので、念のため、その方法を記載しておきます。


前提は、
「各市町村と同じ行(後ろでも前でも離れていても)に該当の都道府県名が記載されている」です。これは当たりまえの条件ですね。

以下が手順。

都道府県×市町村のタテヨコ表の作り方

1 新しいシートを作る。

シート名は自由(今回は「タテヨコ表」)

2 「タテヨコ表」シートのA1セルを選択

実際はどのセルでもいい

3 UNIQUE関数を入れる

=UNIと入れると、関数候補が出るので、Tabキーで =UNIQUE を選ぶ

4 都道府県・市町村一覧のシートに移って、都道府県名の列を選択

B列を選択しています

5 ENTER押下

以下のとおりとなる

UNIQUE関数は、重複を排除する関数です。
ユニークとは「独自」「独特」「唯一」と言う意味。「面白い」とはそこからの派生的な意味です。前にも書きましたが、ユニクロも「ユニーク・クロージング」からきています。
UNIQUE関数は、カッコ内の範囲に同じものがいくつあっても、一つだけ取り出します。
B列に同じ都道府県名はたくさんありますが、都道府県名をそれぞれ一つだけ取り出すのです。
従って、47都道府県が並ぶことになります。

UNIQUE関数は、スピル(溢れる)という機能により、数式を入れたセルは1つにもかかわらず、結果がその下に「溢れて」いきます。

6「0」を消す・・・この工程、不要でした

UNIQUE関数で表示された最後の都道府県名は「沖縄県」ですが、その下に「0」が出ています。

これは、都道府県の列を選択した際に、空欄も含む列全体を選択したためです。空欄は「0」扱いされています。
このまままでも構いませんが、ちょっと邪魔なので、この「0」は非表示にしておきます。
① A列全体を範囲指定
⓶ Ctrl+1で「セルの書式設定」を選択
③ 「表示形式」の「分類」で「ユーザー定義」を選び、「種類」欄に「#」を入れる。

④ 「OK」押下

これで、「0」が消えます。・・・消しても問題はありませんが、消しても意味はありませんでした。


7 道府件名一覧を横一列に張り付ける

① 都道府県名のどこかのセルを選択(A1セルが一番わかりやすい)
⓶ Ctrl+A で都道府県名一覧の全体を範囲指定
③ Ctrl+C で都道府県名一覧をコピー
④ C1セルを選択(B1でもD1でも構わない)
⑤ Alt ⇒ E ⇒ S ⇒ V ⇒ E 
「形式を選択して貼り付け」が出たら、「V」を押して「値」に☑が入ったら、「E」を押して右下の「行/列の入れ替え」に☑を入れる。

④ OK押下で以下の通りになる
*下のようにならなかったら、Ctrl+Z で取り消してやり直す。

9 A~D列は削除しておく

残っていても問題はない


10 北海道の下にFILTER関数を入れる

① A2セル(北海道の下のセル)に=Fiと入れる。
⓶ 関数候補が出るので、Tabキーで FILTER を選択
③ 都道府県・市町村名のシートで、市町村名の列(C列)を選択
④ 「 , 」を入れる


⑤ 都道府県名の列(B列)を選択

⑥「タテヨコ表」シートに戻り = を入れる
⑦ 「北海道」(A1セル)を選択
これで、以下の数式になる
=FILTER(R6.1.1現在の団体!C:C,R6.1.1現在の団体!B:B=タテヨコ表!A1
*最後にトジカッコはなくていい(勝手に入る)。

⑧ Enter押下
⑨ 北海道の市町村名が表示される


=FILTER(R6.1.1現在の団体!C:C,R6.1.1現在の団体!B:B=タテヨコ表!A1)
これは、FILTER関数で、B列がA1セルと同じものをC列から取り出す、という数式。
以前ならデータがあるシートで「フィルター」を掛けていたことが、数式出来るようになったもの。
ただし、最近のエクセル(2021以降?)でないとできないので注意。
便利だけど「もやもや」っというか微妙なところもある。それについてはいずれ。


11 A2セルの数式をコピー用に修正する

① A2セルを選択
⓶ F2押下(編集モードになる)
③ 数式を修正する(該当の部分にカーソルを当てたらF4押下)


=FILTER(R6.1.1現在の団体!C:C,R6.1.1現在の団体!B:B=タテヨコ表!A1)
修正後
=FILTER(R6.1.1現在の団体!$C:$C,R6.1.1現在の団体!$B:$B=タテヨコ表!A1) 

R6.1.1現在の団体!シート(都道府県・市町村名リスト)のC列には市町村名が、B列には都道府県名が入っている。これらは固定しておくことで、他のセルにコピーしても変わらない(絶対参照)。
「タテヨコ表」シートのA1は都道府県名が入っており、これはコピーした際に変わるようにしておく(相対参照)のでそのまま。
*10の数式を作る段階で、「$」を入れてもいい。

12 他の都道府県にも計算式を反映させる

① A2セルをコピー(Ctrl+C)
⓶ B2からAD2(沖縄県)まで範囲指定。
③ 貼り付け(Ctlr+V)
④ 都道府県ごとの市町村名が並ぶ

13 数式を取る

① 表全体を範囲指定(Ctrl+A)
⓶ コピー(Ctrl+C)
③ そのまま、Alt ⇒ E ⇒ S ⇒ V ⇒ OKで「値のみ貼り付け」
④ 2行目を削除

14 出来上がり

15 沖縄県の右の「0」も消しておく

あってもかまわないけど


というわけで、説明を書きながらだったので、1時間程度かかりましたが、操作だけなら、5分も掛かりません。

おまけ:都道府県別の市町村数

上の表の2行目は削除してしまいましたが、そこに市町村数を入れてもいいかもしれません。
=COUNTA(A3:A300)
で市町村数が出ます。
(範囲指定の最初は3行目から。終わりは念のため300まで入れたが、ここはデータの数によって異なる。想定の最大値より少し大きい数とする)。

市町村数が一番多いのは北海道で185、少ないのは富山の15。
かなりの差です。
市町村に出す補助金など、小さな市町村は少額かもしれませんが、額の多寡を問わず手続きは同じですから、市町村数の多い都道府県の事務は大変、といえます。
北海道には「支庁」があるように、市町村数が多い都道府県は「支庁」や「現地地事務所」が対応しているのかもしれませんが、富山県だと、そういう「支庁」よりも対応すべき市町村数が少ないかもしれません。
となると、職員数も違ってくるのかどうか?
これはまた別途考察してみたいと思います。


いいなと思ったら応援しよう!