![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
エクセル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ランキング
-
Excelデータをコピペして、ペー...
-
スプレッドシート、Excelでの数...
-
エクセルの関数について教えて...
-
スプレッドシートで使う数式を...
-
Microsoft Officeの中古は信用...
-
エクセルで会社の従業員のデー...
-
Excelで50個のセルに同じ文字を...
-
エクセルの表で1年間の曜日を...
-
エクセルでの特別な文字を上に...
-
エクセルで不等号記号(≠)が上に...
-
エクセルでB列でフィルターをか...
-
エクセルでセルに標準で入力さ...
-
Excelで、項目の種類ごとにカウ...
-
【マクロ】アクティブセルにブ...
-
EXCELの質問です 119から足した...
-
【マクロ】アクティブセルの、...
-
【マクロ】アクティブセルの行...
-
エクセルの空欄をつめて、次の...
-
Excelの数式について教えてくだ...
-
非表示列の再表示に失敗
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報