5

検索してみましたが、適切なキーワードの組み合わせが見つからず、解決策を見つけることができなかった可能性があります。

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

3 つのワークシートがあります: WSName(Columns)

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

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

「Floor#BuildingId#」と呼ばれる建物によって、すべてのフロアに個別の名前付き範囲を作成しました

私が望むのは、Log ワークシートで建物が選択されると、Floors ワークシートからその建物で使用可能なフロアがフロア リストに動的に入力されることです。

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

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

$A$2 は行によって動的ではないため、部分的には機能しますが、常に同じフロア リストを返します。そのため、現在の行の値を使用するには $A$2 が必要です。

これは、現在の行に必要な選択された建物の値を返します。

=INDIRECT("A"&ROW())

しかし、私がしようとすると:

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

また

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

エラーが発生します。

この式を教えてください! 前もって感謝します!

4

2 に答える 2

2

間違った構文を使用しています - 手動リンクは次のようになります:

='Sheet 1'!A1

感嘆符を追加すると'、完了です。残りは私にとっては問題ないようです)

于 2013-03-04T17:22:20.610 に答える
1

わかりました。これは機能しています。データ検証ソースを次のように設定するだけです。

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

次に、数式が列全体にコピーされると、A2は期待どおりに現在の行に更新されました。

@ピーターL.あなたの助けをありがとう!

于 2013-03-04T18:13:28.280 に答える