• ベストアンサー

EXCEL2003で別ブックのシートの名前の定義を使いたいのですが

EXCEL2003を使っています。 A.xlsというブックのAAAというシートに「商品」という名前の定義をしたテーブルがあります。このシートAAAをB.xlsというブックにコピーし、B.xlsのシートBBBの中で入力規則の元の値として、VLOOKUPの範囲名として使いたいのですが、入力規則の場合は、「元の値はエラーと判断されます。続けますか?」というメッセージが出て使用できません。 このとき、A.xlsは別場所なので存在しません。名前の定義のあるシートを他のブックにコピーして使用するのは無理でしょうか?

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

『名前の定義のあるシートを他のブックにコピー』すれば普通は、使えます。 まず、名前定義が有効になっているかどうかの確認。 B.xlsのシートBBBで[挿入]-[名前]-[貼り付け]-[リスト貼り付け]してみてください。 商品 =#REF!$A$...となってないですか? [名前定義]があるシートをコピーした後に削除、コピーし直したりすると、名前がダブります。 最初の名前は#REF!(無効)になり、重複した、後の名前はシート単位の名前になってしまいます。 一度シートAAAを削除して、[名前定義]も削除して整理した上で再度シートAAAをコピーしてみてください。 また別の可能性として、入力規則に設定する数式の問題という事はないでしょうか。 『入力規則の元の値として、VLOOKUPの範囲名として使いたい』 とは、[入力規則]の[リスト]の[元の値]? 具体的にどういう式ですか? 同じ数式をA.xlsで入力規則に設定すれば出来るのでしょうか? VLOOKUPで得られた解をリスト元に設定するなら、INDIRECTなどの式と組み合わせる必要があると思いますし、 単純に「商品」の例えば2列目をリストに設定したいなら =INDEX(商品,0,2) などといった数式になると思いますが。

tora195
質問者

お礼

名前定義の件、良くわかりました。ありがとうございました。 もう一度整理してみたいと思っています。

関連するQ&A