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

解決済みの質問

データの入力規則でのリスト表示にテーブル名

質問させてください。

・Win7
・Excel2010
を使用しております。

例えば在庫管理なで、
シートAに仕入先名を羅列して、そのセル範囲に「仕入先」と名前を付け、
シートBの仕入先を入力したいセルで「データの入力規則」を使い、入力値の種類を「リスト」、
データを「=仕入先」とすれば別シートの参照でもリストアップできると思うのですが、
シートAに仕入先の項目を追加した場合は名前を付けたセル範囲も指定しなおさないといけないと思います(VBAなどで対処できるのかもしれませんが。。。)。

今回シートAの仕入先の範囲をテーブルとして設定し、「T_仕入先」と名前を設定し、
同じくシートBで入力規則としてテーブルの名前を使用してみようと思ったらエラーで使用できませんでした。

シートAの指定したテーブルは
A1 「仕入先名」(見出し)
A2 仕入先A
A3 仕入先B
A4 ・・・
A5 ・・・
・・
・・

という感じです。ネットで情報を探して

=T_仕入先[仕入先名]

と指定してみましたが駄目でした。

解決策がありましたら教えてください。

投稿日時 - 2014-04-23 09:10:25

QNo.8565529

すぐに回答ほしいです

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

ご質問のように、テーブルとして指定しておけば、対象範囲が自動的に拡大されるのでお勧めの操作です。

すなわち、テーブル範囲を選択し、数式タブから「選択範囲から作成」で「上端行」にチェックを入れOKIします。

これで、テーブルの項目名が「仕入先名」なら、入力規則のリスト範囲を「=仕入先名」にすれば完成です。

このテーブルの上端行を名前定義するテクニックは、数式にも利用できますので、この名前を範囲に使用すれば(必要以上に範囲を広げないので)計算負荷を下げることができるだけでなく、複雑な数式でも可読性のある数式にすることができます。

投稿日時 - 2014-04-23 15:16:14

お礼

回答ありがとうございます。
アドバイスいただきましたように、テーブルとして設定してある範囲に名前を付けなおして、入力規則で指定してみたら、列(データ)の追加、削除に追従させることができました。

ありがとうございました。

投稿日時 - 2014-04-23 16:34:38

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

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

回答(3)

ANo.2

こちらのサイトが参考になります。

エクセル技道場-可変範囲の名前定義で、リストへの追加/削除に自動的に対応
http://www2.odn.ne.jp/excel/waza/validation.html#SEC3

投稿日時 - 2014-04-23 12:09:38

お礼

ありがとうございます。関数を使ってもこのようなことができるのですね。今後の参考にさせてもらいます。

投稿日時 - 2014-04-23 16:35:12

ANo.1

シートAに仕入先の項目を追加した場合は名前を付けたセル範囲も指定しなおさないといけないので、初めから、空白のセル範囲を十分余分に取ってから、空白を含むセル範囲全体に「仕入先」と名前を付けておいてはいかがでしょう。

投稿日時 - 2014-04-23 09:21:44

お礼

早速のご回答ありがとうございます。実は現在その方法で対応しているのですが、せっかくテーブルとして名前を付けていて、さらにセル範囲でも名前を付けるのもな・・・・と思いまして。。。

テーブル名でも指定できないかと質問させてもらいました。

投稿日時 - 2014-04-23 09:40:43

あなたにオススメの質問