こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【Excel】データの入力規則のリストが作られない

Excel2007利用です。

入力したい文字をリスト形式で選択する場合、「データの入力規則」→「リスト」→「元の値」であらかじめ入力しておいた項目のセルをまとめて選択し、最後にOKボタンを押しますが、実際やってみると、右横にリスト表示は最初の一つの項目のみしかなされてません。

また「元の値」は、リスト化する項目を選択するものだと思いますが、リスト表示されるセルを指定したい場合、このタスク内ではどの機能で操作するのでしょうか?

投稿日時 - 2015-04-02 20:41:21

QNo.8947931

困ってます

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

>あらかじめ入力しておいた項目のセル

は、同じシートにあるのでしょうか。
2007の場合は、別シートにある入力されているデータ範囲は
指定できないようなので、そのデータ範囲に名前を付けてあげて
入力規則の元の値の箇所には「=データ範囲の名前」で指定する
ことになります。

もし同じシートの場合であっても、同じようにデータ範囲に名前を
付けて、それを入力規則の元の値に指定してみてどうか試して
みて下さい。

データ範囲の名前の付け方は、入力されているセルを範囲指定して
画面左上にある名前ボックスのところ(普通はセルの番号が表示
されているところ)に、適当に名前を入力して下さい。

投稿日時 - 2015-04-03 12:42:53

補足

ご回答ありがとうございます。

はい、同じシートにあります。

正常にできました。
なぜできなかったかというと、「リストボックスから選択したものを反映させるセル(列)」に、リスト化したい項目を並べ、「範囲」の際、その場所から選択していたからです。

つまりリスト化するために必要な道具を、これからリストを作る場所に並べ、そこで設定していたために質問のようなことになってしまいました。

でもご回答は勉強になりました。
データ範囲の名前の入力場所はどこ?と思ったのですが、文字や数式が反映されたり入力したりするバーの左のところでした。

改めてリスト項目を選択してから、この名前を「項目」としてこのバーに入力し、エンターを押して確定。
そうしたらバーに「項目」が表記されているので、これを選択すると、再びグループ化された項目が自動で選択されていました。

回答のように、再びデータの入力規則の範囲を、今度は「=データ範囲の名前」で入力してみると、リスト候補をつけたいセルにこのグループがリスト化され、正常に設定されました。(おもしろい!)

ところで、この「データ範囲の名前」はバーからでは削除もできませんね。またセルに表記されている項目名を削除しても、バーには項目名が残っている、つまりグループ化されているままです。
列ごと削除するとバーからは名前が消えますが…もしこれ以外のスマートな方法があれば教えていただきたいです。

投稿日時 - 2015-04-03 13:32:01

お礼

あともうひとつなんですが、
違うシートにあるリスト化するための項目は指定できないということですが、
同じシート内にある場合、項目一覧って表などに関係ない場合にお邪魔ですよね。別のシートなら、リスト化させるための項目専用のシートとして作れますが、仕方ないのでしょうか…

投稿日時 - 2015-04-03 13:38:03

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(8)

ANo.8

>でも、2007の方法は2010でももちろん利用できますよね?

もちろんです(笑
2010だと、どちらの方法でもいけますよー

>たとえば2010の場合A1からA10というような範囲なら手入力で選択できますが、
>A1からA100など広範囲の場合には2007の方法のほうが楽だと思うので…

それを言うなら、データ範囲に名前を付ける際にもA1からA100の範囲を
選択しなきゃいけませんよ(笑

投稿日時 - 2015-04-03 18:46:13

お礼

>データ範囲に名前を付ける際にもA1からA100の範囲を
選択しなきゃいけませんよ

嗚呼そうでした(笑)

投稿日時 - 2015-04-04 13:39:35

ANo.7

>別シートにある項目に付けた名前を「=項目」と範囲に入力しただけですので、
>別段「=Sheet1!$A$1:$A$10」という指示でなくとも簡単にできました。
>(むしろ後者のほうが面倒かなと)

いえいえ、実際には後者の方が簡単ですよ。
範囲を指定するとき、わざわざ手入力で「=Sheet1!$A$1:$A$10」と
する訳ではありません。例の場合だと、Sheet1を開いてA1からA10を
選択するだけで済みます。

 2007の場合
  1.別シートのデータ範囲に名前(項目)を付ける
  2.入力規則の元の値に「=項目」と入力する。

 2010の場合
  1.入力規則の元の値に別シートのデータ範囲を(直接)指定する。

投稿日時 - 2015-04-03 17:24:09

補足

そっかーそうですよね。わざわざ手入力したらバージョンアップではないですもの。よく考えなかった(笑)

でも、2007の方法は2010でももちろん利用できますよね?
たとえば2010の場合A1からA10というような範囲なら手入力で選択できますが、A1からA100など広範囲の場合には2007の方法のほうが楽だと思うので…

投稿日時 - 2015-04-03 18:23:01

ANo.6

度々すみません。
語弊があるようなので補足致します。

>違うシートにあるリスト化するための項目は指定できないということですが、

できない訳ではなく、2007だと「=Sheet1!$A$1:$A$10」っていう指定が
できないので、別シートの場合はデータ範囲に名前を付けて、その名前を
元の値にする・・・ってことです。

なので、2007でも別シートにリスト専用シートを作成することは可能です。

投稿日時 - 2015-04-03 14:41:48

補足

実際やってみたらできました!

別シートにある項目に付けた名前を「=項目」と範囲に入力しただけですので、別段「=Sheet1!$A$1:$A$10」という指示でなくとも簡単にできました。(むしろ後者のほうが面倒かなと)

せっかく慣れた2007ですのでもう少し使ってみたいと思います。

投稿日時 - 2015-04-03 17:10:55

お礼

2007=範囲に名前がなければできない。
2010以降=名前をつける手間が省ける。

というバージョンアップなのですね。

回答No.2の方の補足ありがとうございました。

投稿日時 - 2015-04-03 16:57:16

ANo.5

No4です。
名前の定義の削除は、メニューの「数式」の中にある「名前の管理」
ってところです。
そこをクリックすると、定義した名前と範囲が表示されます。

逆に、そこから定義をすることもできます。


2010以降のバージョンだと、直接別シートで範囲を指定できる
ようで、2007だとダメみたいです。
同じシートにリスト化したいデータ範囲があるときは・・・
その列、もしくは行を非表示にするか、フォントを白くするかですかね。
要するに隠しちゃうってことです(笑

投稿日時 - 2015-04-03 14:24:42

お礼

そうなんですか。バージョンアップしたいです。
補足ありがとうございます。

投稿日時 - 2015-04-03 16:57:21

ANo.3

>入力したい文字をリスト形式で選択する場合、「データの入力規則」→「リスト」→「元の値」であらかじめ入力しておいた項目のセルをまとめて選択し、最後にOKボタンを押しますが、実際やってみると、右横にリスト表示は最初の一つの項目のみしかなされてません。
操作は手順は正しいようです。
Windows Vistaの環境でExcel 2007を使用して検証しましたが質問のような状況を再現できませんでした。
「右横にリスト表示」と言うのも再現できません。
セルの右に表示されている▼ボタンをクリックすると入力セルの下へリストが表示されます。

>また「元の値」は、リスト化する項目を選択するものだと思いますが、リスト表示されるセルを指定したい場合、このタスク内ではどの機能で操作するのでしょうか?
「リスト化する項目を選択する」と言う操作がどのようなことをされたか推測できません。
通常は「入力値の種類」でリストを選択し、「元の値」へは1列または1行のセル範囲を指定します。
「項目を選択する」と言う表現は不適切と思います。
特定のセル範囲に名前を付けて「元の値」をその名前で指定することは可能です。
しかし、指定した「元の値」が1つだけしか表示されないのであれば1つのセルしか選択されていないと思われます。

投稿日時 - 2015-04-03 10:38:44

補足

>「項目を選択する」と言う表現は不適切と思います。

なぜでしょうか。

「元の値」は選択した結果です。あらかじめグループ化されているものを「元の値」で選択する場合も、1つのセルであっても、また私のいうとおり項目が複数であっても項目というものを選択するという行為には違いありません。

投稿日時 - 2015-04-03 13:07:44

お礼

ご回答ありがとうございます。

正常にできました。手順は確かに正しかったですが問題はリスト化する場所でした。
「リストボックスから選択したものを反映させるセル(列)」に、リスト化したい項目を並べ、「範囲」の際、その場所から選択していたからです。

つまりリスト化するために必要な道具を、これからリストを作る場所に並べ、そこで設定していたために質問のようなことになってしまいました。

投稿日時 - 2015-04-03 13:02:59

ANo.2

>実際やってみると、右横にリスト表示は最初の一つの項目のみしかなされてません。
選択後に

=Sheet1!$A$1:$A$50

のような表示なりますか?なっていないなら選択の仕方が間違ってます。

別の方法だと、数式タブの定義された名前で、範囲に名前付けしておいて
元の名前に、数式で使用をクリックして、定義した名前を選択する方法ですね。

投稿日時 - 2015-04-02 21:24:08

補足

ご回答ありがとうございます。

No.1さんのお礼に書いたように、正常にできました。

しかし、範囲には
=Sheet1!$A$1:$A$50
とはなりませんでした。

たとえばA列1行目から10行目までを範囲として選択しますと
=$A$1:$A$10
となっています。

このSheet1!とは?

投稿日時 - 2015-04-03 13:01:53

ANo.1

以下のページを参考に再度設定してみて下さい。
https://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=009370

投稿日時 - 2015-04-02 20:54:29

お礼

ご回答ありがとうございます。

正常にできました。
なぜできなかったかというと、「リストボックスから選択したものを反映させるセル(列)」に、リスト化したい項目を並べ、「範囲」の際、その場所から選択していたからです。

つまりリスト化するために必要な道具を、これからリストを作る場所に並べ、そこで設定していたために質問のようなことになってしまいました。

このリンク先のように違う場所においてリスト化しなければならないのだとわかりました。

投稿日時 - 2015-04-03 12:51:14

あなたにオススメの質問