[[20130124001712]] 『別シートでデータの入力規則』(えーん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別シートでデータの入力規則』(えーん)

シート1の名前を「リストS」としました。

その「リストS」には取扱い機器の名前をB列に入れ、詳細をC列に入れています。
B列に入れた機器名の名前を
=OFFSET(リストS!$B$7,0,0,COUNTA(リストS!$B:$B)-2)
とし、その範囲を「リスト名S」としました。

同じシート内で適当なセルにデータの入力規則→リスト→"=リスト名S"と入れるとドロップダウンリストにその機器名が出てくるのですが同じシート内でだとうまくいくのですが、別のシートのセルでデータの入力規則→リスト→"=リスト名S"と入れても「指定した名前の範囲は見つかりません。」と出てきてしまいます。

以前はできたこともあったのでなぜなのか困っています。

どなたかご存知の方いらっしゃいましたらよろしくお願いいたします。


 名前が違うんじゃないんですか?
 たとえば リスト名S としなきゃいけないところを リストS にしてしまっているとか。
 よーく確認してみてください。

 (se_9)

 Sが半角か全角かとか?

 (コナミ)


いろいろやってみているのですがなぜかできません。
また試してみます。

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


いま思い出したのですが、入力規則をする前にsと入れると勝手にSになるようになっていました。
ですが同じ大文字のSで合わせたのですがそれがいけないのでしょうか?

帰ってからまた試してみます。

それと入力規則のリストに関数を入れることも可能なのでしょうか?

たとえば =IF(A1=a,リスト名A、、、、というような。

お手数をおかけしますがよろしくお願いいたします。

(えーん)


度々でご迷惑をおかけしますが名前の定義の名前をコピーしてもシートを帰ると無理ということはテーブルの名前を以上のようなドロップダウンリストにすることはできないのでしょうか?

(えーん)


「リスト名S」という名前の範囲が「リストS」シートになってないでしょうか?
範囲を「ブック」に変えれば出来ると思います。

(AG)


 細かい部分でのミスがあるか、または、うまく説明できていない部分があるのだと思います。
Excel2003までのバージョンではブック内で定義する名前はユニーク(単一)でなければいけません。
 
シートコピーなどで名前定義の重複が発生すると次のような現象が起きます。
 
【例】
Sheet1で「リストS」を定義します。
Sheet1をシートコピーしてSheet2と名前を変更します。
 
この時存在する定義された名前は次のように自動的に変化します。
Sheet1では「Sheet1!リストS」
Sheet2では「Sheet2!リストS」
つまり、シート名を付加することで「ブック内で定義できる名前はユニーク」
というルールからの逸脱を自動的に回避しているわけです。
 
続いて、Sheet1の「リストS(Sheet1!リストS)」の名前定義を削除。
しかしこの時、Sheet2では「リストS」は「Sheet2!リストS」として
名前定義が残るのでSheet2以外のシートでは入力規則のリストで「リストS」の
指定では参照できません。
 
=Sheet2!リストS とすれば参照できそうな気もしますが、やってみると
「他のシートやブックへは参照できない」と忠告されます。
 
回避策は「元の値」の部分で
=INDIRECT("Sheet2!リストS")
のようにINDIRECT関数を経由するか、
 
「Sheet2!リストS」を一旦削除して、「リストS」を定義しなおし、
「元の値」の部分で =リストS で参照するか、です。
 
ちなみに、名前定義さえ有効なら下記のようなリストの切り替えは可能です。
=IF(A1=1,リスト名A,リスト名B)
(みやほりん)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.