[[20120209030821]] 『Sheet1とSheet2に共通の名前で定義してあるが中身』(サスケ) ページの最後に飛ぶ

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

 

『Sheet1とSheet2に共通の名前で定義してあるが中身の違うセル群の両方を、同時にSheet1に=INDIRECTでリストづけする方法』(サスケ)

 初心者がデータ管理システムを作るハメになり、四苦八苦してます。専門用語が分からないので、お見苦しい表現があるかもしれませんが、ご容赦ください。

 なお、バージョンはexcel2010、Windows7を使っています。以下、質問文です。

 Sheet1
 A1:A5を1月〜5月、B1、B2を両方とも提出日と入力し、A1:A5の名前を提出日として定義します。 

 この時、B1のデータ入力規則を、元の値=INDIRECT(B1)でリストするとB1にはSheet1!A1:A5すなわち1月〜5月のドロップダウンリストが作られます。分からないのはここからです。

 Sheet2のA1:A5を7月〜11月と入力します。

 Sheet2!A1:A5もやはり 提出日 として定義するとして(このやり方は分かります)、Sheet1!B2を、元の値を=INDIRECT(B2)としてリストすると、B2にはSheet1!A1:A5の1〜5月がドロップダウンリストで出てきてしまうのです。私はこのSheet1!B2をSheet2!A1:A5すなわち7月〜11月のドロップダウンリストで作成したいのですが、それができずに困っています。

 なお、Sheet1!B2にリストする際の元の値に、Sheet2!A1:A5を直接あてるようなやり方ではダメな状況になっています。なんとしてもINDIRECTや関数を使ってSheet1!B2を変動的なセルにしたいのです。なぜなら、私が実際に作成しているシステムは、Sheet1!B2が(それ以前の処理による連動の影響で)「提出日」ではなくなっている可能性もあり、その場合にSheet1!B2にSheet2!A1:A5がドロップダウンリストで出てくるとおかしくなってしまうからです。

 まとめますと

 Sheet1!A1:A5の名前定義を提出日にしている前提で、Sheet1!B2に、Sheet2!A1:A5(こちらの名前定義も提出日)をドロップダウンリストとして、INDIRECTで作成するにはどうすればいいのか?

 が質問となります。

 以上になります。
 分かりにくかったらすぐに補足します。
 よろしくお願いします。

 >Sheet2!A1:A5もやはり 提出日 として定義するとして(このやり方は分かります)
 これはどの様にやりますか?

 シートレベルの名前の定義をする時に、名前の前にシート名をつけると思います。
 Sheet1の提出日の範囲(A1:A5)は Sheet1!提出日 と言う名前
 Sheet2の提出日の範囲(A1:A5)は Sheet2!提出日 と言う名前

 ですから、Sheet2の提出日の範囲を参照したい場合は
 =INDIRECT("Sheet2!"&B2)
 で良いのではないかと思いますが。。。2010では出来ませんか?
 或いは名前の定義の方法が違っていますか?

 >このやり方は分かります
 ではなく、どの様に設定をした場合なのか
 補足として書いておいてもらえると良いと思います。

 (HANA)

 マルチポストのようですね

 >Sheet2!A1:A5もやはり 提出日 として定義するとして(このやり方は分かります)
 同じ名前で 名前定義できますか?

 こちらのサイトは、マルチポストは禁止されていませんが、
 マルチポストについてはきちんと理解しましょう

 それはさておき、
 >この時、B1のデータ入力規則を、元の値=INDIRECT(B1)でリストするとB1にはSheet1!A1:A5すなわち1月〜5月のドロップダウンリストが作られます。分からないのはここからです。

 なぜこのようなことをしているのか、理解できません
 (B1に提出日と入力して、そのB1を参照した入力規則をB1に設定なのでしょう)
 単なる私の疑問なので回答は不要です

 >Sheet2!A1:A5もやはり 提出日 として定義するとして(このやり方は分かります)、
 名前定義は同名でできなかったと思います

 >Sheet1!B2を、元の値を=INDIRECT(B2)としてリストすると、B2にはSheet1!A1:A5の1〜5月がドロップダウンリストで出てきてしまうのです。私はこのSheet1!B2をSheet2!A1:A5すなわち7月〜11月のドロップダウンリストで作成したいのですが
 同じ名前で名前定義できたとして
 B1がSheet1!A1:A5のリストになるのですか(なぜSheet2!A1:A5ではないのですか)
 B2がSheet2!A1:A5のリストになるのですか(なぜSheet1!A1:A5ではないのですか)
 どちらのリスを参照するかの区分けはどこでするのでしょう

 >なお、Sheet1!B2にリストする際の元の値に、Sheet2!A1:A5を直接あてるようなやり方ではダメな状況になっています。なんとしてもINDIRECTや関数を使ってSheet1!B2を変動的なセルにしたいのです
 このあたりをもう少し詳しく説明した方が良いのではないですか

 憶測で
 Sheet2!A1:A5を提出日2 と名前定義
 B2 の入力規則を =INDIRECT(B2&IF(B2="提出日",2,""))

 By しげちゃん

>HANAさん
回答ありがとうございます。
まさにその方法で名前を定義しました。言葉足らずですみません。
また、名前を定義した範囲をSheet2にした上で =INDIRECT("Sheet2!"&B2)としてうまく解決しました。
どうもありがとうございました。

>しげちゃん
あちらではマルチでご迷惑お掛けしました。
回答ありがとうございます。

なお、Sheet1!B2にリストする際の元の値に、Sheet2!A1:A5を直接あてるようなやり方ではダメな状況になっています。なんとしてもINDIRECTや関数を使ってSheet1!B2を変動的なセルにしたいのです 分かりにくいかもしれませんが、詳しく説明します。
実際のシステム上、B1,B2は例えばC1の入力次第で「締切日」「発表日」のように連動する形となっています。そのため、Sheet1!B2にリストする際の元の値に、Sheet2!A1:A5を直接あてるようなやり方では「締切日」のドロップダウンリストに連動しませんし、「発表日」のドロップダウンリストにも連動しないので使えなかったのです。

拙い質問文で疑問をよんでしまったかと思いますが、回答していただきありがとうございました。
おかげさまで解決しました。

サスケ


 解決したようですので、あえて記載の必要はありませんが・・・

 >B1,B2は例えばC1の入力次第で「締切日」「発表日」のように連動する形となっています
 を想定して
 >Sheet2!A1:A5を提出日2 と名前定義
 >B2 の入力規則を =INDIRECT(B2&IF(B2="提出日",2,""))
 を提案したつもりです

 By しげちゃん

コメント返信:

[ 一覧(最新更新順) ]


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