• ベストアンサー

エクセルで都道府県のリスト作成をしたいです。

セクセルで都道府県を選択できるようにしたい すいませんが教えてください。たとえばA1セルにセブンイレブンと入力しA2にどこの都道府県かを入力したいのですがリストで作成 することは可能ですが?いちばん簡単な方法はありますか?入力規制のリストで一度試みましたが文字が小さすぎて変更もできませんでしたので他の方法があるのかな?と思って皆様の知恵を拝見させていただければ幸いです。また都道府県も全てて入力ではなく簡単なやり方があれば教えてください。 これができれば他にも営業担当者もリストから選択ができて効率が上がりますので教えてください、 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.6

こんにちは。お邪魔します。 "簡単な"というのが、設定が簡単という意味でしたらば、 [データの入力規則]の[リスト]に勝るものはないです。 リストに表示される"文字が小さすぎて"、ということでしたらば、 [ActiveXコントロール]の[リスト ボックス]を活用する方法も 比較的簡単です。 ただ、各種ドロップダウンリストの場合、リスト内容が47点ともなると、 探すのに迷ったり、選択するのに手間が掛かったりして 能率的と呼べるようなものにはなりません。 "簡単な"とか"文字が小さすぎて"というのは、 ここら辺の含みを仰ってるのかな?と思った次第です。 "簡単な"というのが、入力作業を効率化する、という意味だった場合の話を書いてみます。 # そうでない場合は以下読まなくてもいいです。 設定する作業は難しくなりますが、VBAを活用する方法です。 添付画像とVBAサンプルコードで示した、 コマンドバーのポップアップメニューを用いる方法。 サンプルでは、(仮に)C3:C12 をダブルクリックした場合、 添付画像のように階層化されたポップアップが表示されます。 一覧に近い形で視認し易いのが特長です。 区分を工夫すれば、より扱い易くなります。 例えばキーボードで操作する場合の最大(平均)ストローク数や、、 視認し易さ、リテイクのし易さ、等を基準に考えて 適切なツールを選んで工夫すればいいと思います。 提示したサンプルは発展系があって、 ユーザーフォームを組み合わせて、  T  → 千葉 東京 徳島 栃木 鳥取 富山   O  → 東京 徳島 栃木 鳥取 富山   Y → 富山 のような感じで、 キーボードストロークに連続的に応じた予測変換リストをポップアップする ようにして、さらなる省手数化も可能です。 一応、閲覧されている方にも、こちらの意図が伝わるようにサンプルコードあげておきます。 Excelの習熟が進まなければ扱えないでしょうけれど、 一応、Excelの可能性だけは紹介しておこうと思いました。 もし、興味を持たれて試してみたいとか思ったならば相談してみてください。 ' ' ===========標準モジュール============ Option Explicit ' Re8265860 Option Private Module Const fCmdBName = "PopupTree都道府県" Const fOnAct = "RcvCmd都道府県" Const f9D47P = "北海道" & _       ";" & "東北 青森 岩手 宮城 秋田 山形 福島" & _       ";" & "関東 茨城 栃木 群馬 埼玉 千葉 東京 神奈川" & _       ";" & "中部 新潟 富山 石川 福井 山梨 長野 岐阜 静岡 愛知" & _       ";" & "近畿 三重 滋賀 京都 大阪 兵庫 奈良 和歌山" & _       ";" & "中国 鳥取 島根 岡山 広島 山口" & _       ";" & "四国 徳島 香川 愛媛 高知" & _       ";" & "九州 福岡 佐賀 長崎 熊本 大分 宮崎 鹿児島" & _       ";" & "沖縄" Sub myポップアップメニュー設定()   Dim v   Dim sArrD() As String   Dim sArrP() As String   Dim nChildren As Long   Dim i As Long   On Error Resume Next   Application.CommandBars(fCmdBName).Delete   On Error GoTo 0   sArrD() = Split(f9D47P, ";")   With Application.CommandBars.Add(fCmdBName, msoBarPopup, , True)     For Each v In sArrD()       sArrP() = Split(v)       nChildren = UBound(sArrP)       If nChildren = 0 Then         With .Controls.Add(msoControlButton)           .Caption = sArrP(0)           .OnAction = fOnAct         End With       Else         With .Controls.Add(msoControlPopup)           .Caption = sArrP(0)           For i = 1 To nChildren             With .Controls.Add(msoControlButton)               .Caption = sArrP(i)               .OnAction = fOnAct             End With           Next i         End With       End If     Next   End With   MsgBox "ポップアップメニュー" & vbLf & "'" & fCmdBName & "'" & _    vbLf & "を設定しました。", vbInformation End Sub Sub myポップアップメニュー削除()   On Error Resume Next   Application.CommandBars(fCmdBName).Delete   If Err Then     MsgBox "ポップアップメニュー" & vbLf & "'" & fCmdBName & "'" & _      vbLf & "は存在しません。", vbInformation   Else     MsgBox "ポップアップメニュー" & vbLf & "'" & fCmdBName & "'" & _      vbLf & "を削除しました。", vbInformation   End If End Sub Sub RcvCmd都道府県()   With ActiveCell     .Value = Application.CommandBars.ActionControl.Caption     .Next.Activate   End With End Sub Sub Auto_Open()   Call myポップアップメニュー設定 End Sub ' ' ============================== ' ' ===========シートモジュール=========== Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   If Intersect(Range("C3:C12"), Target) Is Nothing Then Exit Sub   Cancel = True   Application.CommandBars("PopupTree都道府県").ShowPopup End Sub ' ' ==============================

その他の回答 (5)

  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.5

ドロップダウンリストでしょうか エクセル2003以前、2007、2010と多少違うようです。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/n-kis_list.htm http://www.becoolusers.com/excel/data-validation-list.html 御節介つでに 使用目的は解りませんが 都道府県など47も選択肢があると私には選ぶのが面倒です 選ぶより入力した方が効率的かもしれません。 A2にドロップダウンリスト「北海道、東北、関東、北陸、中国・・・・」もしくは営業所で絞込み A2で絞り込まれた結果、A3でその地域の都道府県が選択できるようにしてもよいでしょう。 営業担当者も大勢いると選択を間違える原因になりかねませんね。 とりあえずエリア毎にファイルを作り、 必要が有ればファイルにまとめても良いかもしれません。 リストのフォームが完成した後、 規模が大きいと入力するのも大変です。 セブンイレブンは国内に15,831店あるんですね。 また、出店、閉店、営業担当の増減があるでしょう。 リストのメンテナンスが出来る人はfwkb6253 さん以外にもう一人、出来れば数人いるといいですね。 統一したフォームでエリア毎に入力を分業も出来ますね。 5人でも一人当たり15,831店全店入力となると三千以上の入力数です。

noname#204879
noname#204879
回答No.4

》 入力規制のリストで… エクセルの用語だと「入力規則」だけど、貴方はなぜ「規制」という言葉を使われたのですか?何処ぞの書物に書いてあったとか? チト、気になったものでお尋ねしています。

回答No.3

>入力規制のリストで一度試みましたが文字が小さすぎて変更もできませんでしたので…… 「文字」というのは、どこのことを言っていますか? もしも、リストを使ってセルに値を記入するときにセル上にプルダウンで表示される文字列のことなのでしたら、画面全体の表示倍率を 200 % とかに上げて、再度行ってください。セルなどが大きく表示されていますが、一緒にプルダウンの文字も大きくなります。 >また都道府県も全てて入力ではなく簡単なやり方があれば教えてください。 「全て手(?)入力」というのは、入力規則のダイアログ内でキーボードからタイプして、リストに加えたい各文字列そのものをそこのボックスに記入するという意味ですか? そうであれば、その方法でなくても、セル参照によりリストを指定できます。ダイアログで「リスト」を選んでいるときに現れている「元の値」ボックスにカーソルを置いた状態で、シートの参照したいセル範囲をドラッグするだけです。 >たとえばA1セルにセブンイレブンと入力しA2にどこの都道府県かを入力したいのですがリストで作成することは可能ですが? 連動する複数のリストを用意するには、名前という機能と INDIRECT 関数を併用します。検索すれば多くのページが出てくると思いますが、例えば次ページなどをご覧ください。 http://www.relief.jp/itnote/archives/000822.php もしも店名と都道府県名が 1 対 1 で対応しているという場合は、リストの機能を使うよりも VLOOKUP 関数で都道府県名を自動入力するほうがラクだと思います。この関数は、Excel の初級ではいちばん難しい数式といった感じかもしれませんね。次ページなどを参考に。 http://allabout.co.jp/gm/gc/297725/

回答No.2

1です。 補足します。 もし47が見辛いと感じるならば もう一列用意して地方のリストと繋げると、格段に見やすくなると思います。 EXCEL 入力規則・リスト応用編 いろいろ http://note.chiebukuro.yahoo.co.jp/detail/n149222

回答No.1

入力規制のリスト設定で良いと思います 文字が小さいならば、フォント設定で文字を大きくしてください。 Excel(エクセル)基本講座:入力規則の使い方 http://www.eurus.dti.ne.jp/~yoneyama/Excel/n-kis.htm Excel のフォント名またはフォント サイズを変更する http://office.microsoft.com/ja-jp/excel-help/HP001216423.aspx 都道府県の文字入力が面倒な時 http://ja.wikipedia.org/wiki/都道府県 行や列の表示・非表示(都道府県のリストを隠したい場合) http://pc.nikkeibp.co.jp/pc21/tech/excel43/15/

関連するQ&A

  • エクセル入力規制リストでその他を選択した場合の内容

    エクセル入力規制リストでその他を選択した場合、 その他の内容をとなりのセルに入力できるようにしたいです。 例えばA1にリストがあって、リストの最後のその他を選択した場合のみ、 A1のセルにその他の内容を記載できるようにさせたいです。 どうしたら良いでしょうか? B1のセルに=if(A1="その他"...のようにするのかと考えていますがうまくいきません。 よろしくお願いいたします。

  • エクセルでリストから選択する

    リストから選択のやり方はわかるのですが たとえばA1のセルで47都道府県のリストから東京都を選択すると B1のセルでは23区のリストが出てきて選択できるようにするには どうしたらよろしいでしょうか? 意味通じますか? A1で神奈川県を選択すると B1は23区ではなく横浜市や川崎市から選択できるようになるやり方です。 ご回答よろしくお願い致します。

  • エクセルの入力規則のリストについて

    エクセル2013での入力規則のリストを使った方法について質問です。 例として、 A2には、「部署名」という名前のリストを作成。 A3には、INDIRECT関数を使って、A2で選択したものに応じてリストを切り替えるように。 A4に、VLOOKUP関数を使って、A3で選択したものから、他のデータを参照して売り上げを表示するようにするとします。 機能としてはうまくはたらいているのですが、A2で選択したリストに応じて即座にA3のセルが更新されないのが気になっています。 たとえば A2で営業、A3で田中、とリストで選択した後、A2で総務を選択しても、A3のセルには田中、と表示されたままになってしまいます(リストの▽を押せばリストは正しく選択できます。) できれば、A2で違う部署を選択したら、A3のセルに表示されていた名前は消える、または新しいリストで上書きされるような仕様にしたいと思っています。 また、マクロ、VBAは使用したことがないため、可能な限り使わない方向でお願いします。 文章のみで、拙い説明ですが、ご助言お願いいたします。

  • Excelでの2つのリストの関連付け

    Excelでの2つのリストの関連付け Excelでリストを2つ作り、一つめの選択次第で二つめのリストの選択肢が変わるようにしたいです。 現在は他の方の質問(http://okwave.jp/qa/q4850624.html)を参考にし、名前定義とINDIRECTを使う方法は分かりました。 しかしこの方法ですと(既に名前が定義されている)「区分1」を(新たに決めた別の名称)「区分A」などに変更すると、その都度毎回名前の定義をやり直さないと機能しなくなります。 自分だけが使うのなら良いのですが、Excel初心者の人たちも使うので出来ればもっと簡単にしたいのです。 どうか2つのリストを関連付ける方法を教えてください。 なお、同じようなことが出来るなら、別に入力規制のリストに拘るつもりはありません。 他に(マクロ以外で)2つのセルの選択肢をうまい具合に関連付ける方法があるならそれでももちろん大丈夫です。 どうぞよろしくお願いします。

  • EXCELでリストを作成して、そのリストを選択した値を複数の入力するよ

    EXCELでリストを作成して、そのリストを選択した値を複数の入力するようにしたいが、どうしたらいいでしょうか? 例えばA1にリストを作成、リスト中”A,B,C,D"が選択できるようにする。 ”A"を選択した場合B1のセルに”あ”が表示、同時にC1のセルに”ア”が表示。 ”B"を選択した場合B2のセルに”い”が表示、同時にC2のセルに”イ”が表示....

  • 【エクセル】リスト作成について

    現在、エクセルにてリストを作成しております。 お力をお借り出来ると幸甚です。 簡単に記載いたします。 【シート内容】 A列に他シートにて都道府県のリストを作成し、そこを見て、リストから都道府県名を選択するようにしております。 B列には例として、特定の数字データを入力します。(手入力) A列      B列 (表1) 東京      10 千葉      20 神奈川     30 東京      40 埼玉      50 東京      60 千葉      70 --------------------------- この下に、上記表の取りまとめの情報を載せたいと考えております。 例として、(列はどこでも構いません) (表2) A列      B列 東京      110 千葉      90 神奈川     30 埼玉      50 【お力をお借りしたい部分】 (表2)に取りまとめの情報を作成する際の方法です。 (表1)のA列に、リストから選択された各都道府県名は、特定ではなく、変わります。 その為、(表2)のA列に各都道府県名を固定で記載し、B列にsumif関数等が使えないと考えております。 ・(表2)A列に(表1)A列に表示されている一覧から、重複なく、もれなく一覧を表示させる方法はありますでしょうか?(出来ればピボットテーブル等を使用せずに関数で出来たら助かります。)

  • エクセルでの”リストから選択”について

     こんにちは エクセルで通常、”リストから選択”して入力する場合、 該当セルを右クリックして、”リストから選択”を選んで 実行しますが、 ある特定の列だけ(仮にA列として)、 常時”リストから選択”になるよう、 (つまり当該セルがアクティブになったらすぐ) リストが表示するように設定することは可能でしょうか? 可能であるならば、その方法をご教示ください。  よろしくお願いします。

  • エクセルで入力規則のリストについて

    例えば セルA1に【動物】が含まれる言葉が入力されればB1~B10のリストの中から選択。 A1に【果物】が含まれる言葉が入力されればC1~C10のリストの中から選択。 といったことをするのは可能でしょうか? 可能であれば方法を教えていただけないでしょうか?

  • EXCELのリストについて(相対?

    EXCELのリストで別シート参照してます。 シート1    A   B             C   D ・・・・ 1○○○ リストでシート2のA1を参照  2××× リストでシート2のA2を参照  3△△△ リストでシート2のA3を参照  ・  ・ ・ シート2    A   B             C   D ・・・・ 1○○○ リストでシート1のA1を参照  2××× リストでシート1のA2を参照  3△△△ リストでシート1のA3を参照  ・  ・ ・ という形でワークブックを作りたいのですが、シート1(2)のB1セルの入力データでリストを選択して、元のデータの欄に =INDIRECT("Sheet2!A1") と入れ、別シートを参照するようにし、それを相対的にコピーしたいのですがやり方がわかりません。 セルの右下にカーソル持って行って黒い十字にして引っ張ってっても 下のセルも参照位置が=INDIRECT("Sheet2!A1")になってしまうんです。 手打ちで直そうかと思ったんですが、効率が悪すぎるので・・・ 間違ってるところがあれば教えてください。 もしくは別の方法で同じことができるのであればそれでももちろんかまいません! おねがいします。

  • Excel VBA機能で、ドロップダウンリストの選択肢からセルに値を設

    Excel VBA機能で、ドロップダウンリストの選択肢からセルに値を設定したい。 リスト形式のシート(仮にA)の内容を、VBAを使って単票形式のlシート(仮にB)に展開したいと考えています。ところがBのシートには、入力規制のあるセルもあり、ドロップダウンリストからの選択になっています。 今、シートBのセルA1の選択肢を仮に”AAA,BBB,CCC”として、VBAを用いてA1にBBBを設定(選択)する方法をご教示頂きたいと存じます。 ひと通り過去ログは拝見しましたが、恐らく私の見落としとは思うのですが、それらしいものは見当たらないので、質問させて頂きました。宜しくお願いします。

専門家に質問してみよう