2013-03-04 15 views
5

私は検索を試みましたが、キーワードの正しい組み合わせが見つかりませんでしたし、解決策を見つけることができませんでした。Excelデータ検証ソース

私がExcelで実行しようとしているのは、別のセルに入力されたキー値に基づいて動的検証リストを生成することです。

は私が3つのワークシートがあります。WSNAME(列)

  1. ログ(建物、床)
  2. 建物(BuildingId、BuildingName)
  3. 床(FloorId、BuildingId、FloorName)

"BuildingIds"と呼ばれるすべての建物IDの名前付き範囲を作成しました

私は"Floor#BuildingId#"と呼ばれるビルディングですべてのフロアの異なる名前付き範囲

ログワークシートでビルディングが選択されると、フロアリストにフロアからのそのフロアのフロアが動的に設定されますワークシート。

私の考えは、私がこれを行うことができるはずデータ検証ソースにあった:

=INDIRECT("Floors"&$A$2) 

をそして、それは部分的に動作しますが、$ A $ 2が依存、動的ではないので、常に同じ階のリストを返します。行が入っているので、現在の行の値を使用するには$ 2が必要です。

=INDIRECT("A"&ROW()) 

をしかし、私はしようとすると:

=INDIRECT(CONCATENATE("Floor","A"&ROW())) 

OR

=CONCATENATE("Floor",INDIRECT("A"&ROW())) 

私が得るこれは私が現在の行のためにしたい選択された建物の値を返します

エラー。

この式で私を助けてもらえますか?前もって感謝します!

答えて

2

あなたは間違った構文を使用する - それは、マニュアルのリンクがどのように見えるかです:

='Sheet 1'!A1 

は感嘆符と'を追加し、あなたは完了です。式は列全体の上にコピーされたときに、A2が更新

=INDIRECT(CONCATENATE("Floors",A2)) 

+0

Peterさん、ありがとうございます。しかし、私はそれを "Floor"と連結する方法が混乱していますか? = CONCATENATE( "Floor"、 'Sheet 1'!A1) –

+0

@JohnSadlerそれはあなたのソリューションには必要ありません - "Floor!"名前がスペースで区切られている場合に必要です" –

+0

大丈夫でしょうか、私は自分自身を明確に説明していないかもしれません。床のワークシートには複数の名前付き範囲があり、 Floor "&BuildingId。データ検証ソースのログワークシートで、" Floor "&(その行の選択された建物ID)の式が必要です。私のフロアワークシートを参照しましたが、そのワークシート内の特定の名前付き範囲をどのように参照しているかはわかりません。 –

1

OK)私にとっては罰金だ、私はこの作業を持っている残りの部分は、私は単純にデータの検証ソースを設定します期待どおりに現在の行に移動します。

@Peter L.ありがとうございました!

+0

仲間を助けてくれることを嬉しく思います。ここで感謝の言葉を言いましょう - 答えをアップアップ/受け入れることです:[回答を受け入れて:どうしますか?](http:// meta .stackexchange.com/a/5235/210367) –

関連する問題