エクセル2007でOFFSET関数とINDIRECT関数を用いてセルの入力規則をして、リスト表示したいと思っています。
入力規則のリストは動的な値を設定したいと思っています。
ABCDE
1あいうえお
2かきくけこ
3さしすせそ
4たちつてと
5なにぬねの
というシートA列に”データベース1”B列に”データベース2”・・・といった具合に名前を定義します。このデータベースは行がどんどん増えていく可能性があるため、名前の定義の参照範囲欄に
(1)=OFFSET($A$1,0,0,COUNTA(A:A),1)
としました。
別シートに
表示したいセルで入力規則→設定タブ→入力値の種類→リストを選択。
元の値の欄に
(2)=INDIRECT(A2&"1",FALSE)
としました。
※A2は”データベース”と入力してあるセルです。
ここからがわからないのですが
上記式(1)、(2)の両方とも単独で使用した場合は欲しい値が得られるのですが、組み合わせて使用した場合はリストが出てこなくなってしまいます。
1)組み合わせて使うことはできないのですか
2)ほかにいい方法はありますか
ということを質問します。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
確認して見ました。
確かに、OFFSETを使った名前定義は、入力規則の参照先をINDIRECTで定義できませんね。
INDIRECTはそのままにして、名前定義の範囲設定をVBAでやらせてはいかがですか。
リストがあるシートの Worksheet_Change に、↓でいけると思います。
ActiveWorkbook.Names.Add Name:="データベース1", RefersToR1C1:="=R2C1:R" & Range("A65536").End(xlUp).Row & "C1"
No.1
- 回答日時:
元データの行数が増えたら、入力規則のリストもそれに合わせて増えるようにしたいと言う事で良いのでしょうか?
単純に、元データのA列全体を データベース1 と名前定義して、別シートの入力規則の「元の値」欄に「=データベース1」とするだけで良さそうに思えますが、それでは駄目ですか?
早速のご回答ありがとうございます。
>A列全体を データベース1 として名前定義して、・・・・
そのように名前定義すると、
1)入力規則を設定したセルのリストが選択した分だけ長いリストになってしまいます。
2)入力規則を設定したセルでリスト表示にすると、最初に表示されるリスト欄が空白の部分を表示してしまって非常に不便です。
3)1行目にそれぞれの列に対して名前がついてるのでそれをリストに表示したくない(質問に書いていませんでした。ごめんなさい。)。
ABCDE
1D1D2D3D4D5
2あいうえお
3かきくけこ
4さしすせそ
5たちつてと
6なにぬねの
(1行目は データベース1・・のような名前)
回答者様のmt2008さんのやり方でもできるのですが、スマートではないような気がしています(申し訳ありません)。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】ファイル名の一括変...
-
【マクロ】フォルダ内にあるPDF...
-
Excelの条件付き書式について
-
エクセルまたはGoogleスプレッ...
-
GoogleスプレッドシートでA1に...
-
Excelシートに画像を貼る時
-
【マクロ】functionプロシージ...
-
Excelで数値を時間数に変換する...
-
EXCELの散布図で日付が1900年に...
-
【Excel】版が同じ事を示す番号...
-
エクセル折れ線グラフについて...
-
エクセルで数字の組み合わせを...
-
エクセル IF計算式?でしょうか?
-
Excelの警告について
-
Excel 対象のセルに入力が無い...
-
エクセルでファイルの最終更新...
-
Excelで1週間毎の集計(今週と...
-
Lookup関数
-
エクセルで 自動的に◯や数字を...
-
Excel関数-文字列で自動作成さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報