エクセル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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) 別シートの表の値を参照したい 2 2022/03/30 15:11
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) Excelでなぜこのような式をつかっているのでしょうか、行に1,2,3と連番を振るだけなのに 5 2023/04/08 20:00
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Visual Basic(VBA) VBA ドロップダウンリストを残して値のみクリア 2 2022/10/27 05:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelのセルを飛ばして入力する
-
Excelのオートフィル
-
別シートからの文字を変更
-
Excel 2019 のピボットテーブル...
-
エクセルの行の抽出について質...
-
【マクロ】エクセルにかいてあ...
-
スプレッドシート クエリ関数 1...
-
エクセルでセルに「氏名を入力...
-
MOS365 Excel Expert / Excel R...
-
excelの不要な行の削除ができな...
-
EXACT関数とIF関数の組み合わせ...
-
スプレッドシートの関数VLOOKUP...
-
Excelで全角を半角にしたいので...
-
Excel初心者です。 詳しい方、...
-
エクセルの数式で教えてください。
-
4つのパターンを表示するEXACT...
-
スマートな関数を教えて下さい。
-
【Excel】セル内の時間帯が特定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報