エクセル2000です。
入力規則でリストからの入力をさせる場合、リストの最初の一行目に空白を設定したいのです。
もちろんシートにそのようなリストを作ってリストをセル範囲で指定すればそうなるのですが、セル範囲指定でなく、「元の値」に直接入力でリストを指定する場合、カンマ区切りの先頭に何も入れず、
,選択肢1,選択肢2,選択肢3
とすると、最初のカンマの前は反映せず3択のリストになってしまいます。最初のカンマの前を全角スペースとすればできるのですが全角スペースは空白ではありません。
これはどうしようもないのでしょうか?
No.9
- 回答日時:
先頭がブランク(空白)なのを忘れてました。
参照範囲の式に「+1」を加えるだけですが、混乱されないように、修正後の前提と回答を再掲します。【前提】
シート「リスト」の1行目に項目名、2行目以降にそれぞれの選択肢を入力していく。たとえば、A1:C6に以下のように入力されている。
項目1 項目2 項目3
aaa1 bbb1 ccc1
aaa2 bbb2 ccc2
aaa3 bbb3
aaa4
シート「入力」に、入力規則のリストを利用してデータを入力していく。例えば、A1:D4に以下のようなフォーマットになっている。
氏名 項目1 項目2 項目3
田中
鈴木
佐藤
【回答】
まずは名前定義です。
1. シート「入力」のセルB2がアクティブセルの状態で、
2. Ctrl+F3(または、メニュー[挿入]-[名前]-[定義])
3. 名前に LIST と入力
4. 参照範囲に以下の式を入力
=INDEX(リスト!$2:$2,MATCH(入力!B$1,リスト!$1:$1,0)):INDEX(INDEX(リスト!$1:$65536,,MATCH(入力!B$1,リスト!$1:$1,0)),COUNTA(INDEX(リスト!$1:$65536,,MATCH(入力!B$1,リスト!$1:$1,0)))+1)
5. [OK]ボタンをクリック
続いて入力規則です。
1. シート「入力」のセルB2がアクティブセルの状態で、
2. メニュー[データ]-[入力規則]
3. [設定]タブの[入力値の種類]ボックスの[リスト]をクリック
4. [元の値] ボックスでF3(ファンクションキーのF3)を押す
5.「LIST」を選択してEnterを押す
6. [OK]ボタンをクリック
最後にセルB2をB2:D4にコピー&ペーストして完了です。
なお、入力規則の手順の1.で、セルB2がアクティブセルでB2:D4を選択している状態、としていれば、それで入力規則を設定できます。
これにより、それぞれの項目に選択肢が増えても自動的に名前定義の参照範囲が拡大されますし、項目自体を増やしてもそれも自動的に反映してくれます。
これなら、リストを直接列挙のやり方よりも楽じゃないかと思うのですが、いかがでしょうか?
No.8
- 回答日時:
>リストの種類が多いからなんです。
だから、可変範囲の名前定義をリストごとに設定するのが面倒、ということですね。
一回だけ名前定義の設定をすれば、全リストについて可変範囲の名前定義が設定される方法を考えてみました。
【前提】
シート「リスト」の1行目に項目名、2行目以降にそれぞれの選択肢を入力していく。たとえば、A1:C5に以下のように入力されている。
項目1項目2項目3
aaa1bbb1ccc1
aaa2bbb2ccc2
aaa3bbb3
aaa4
シート「入力」に、入力規則のリストを利用してデータを入力していく。例えば、A1:D4に以下のようなフォーマットになっている。
氏名項目1項目2項目3
田中
鈴木
佐藤
【回答】
まずは名前定義です。
1. シート「入力」のセルB2がアクティブセルの状態で、
2. Ctrl+F3(または、メニュー[挿入]-[名前]-[定義])
3. 名前に LIST と入力
4. 参照範囲に以下の式を入力
=INDEX(リスト!$2:$2,MATCH(入力!B$1,リスト!$1:$1,0)):INDEX(INDEX(リスト!$1:$65536,,MATCH(入力!B$1,リスト!$1:$1,0)),COUNTA(INDEX(リスト!$1:$65536,,MATCH(入力!B$1,リスト!$1:$1,0))))
5. [OK]ボタンをクリック
続いて入力規則です。
1. シート「入力」のセルB2がアクティブセルの状態で、
2. メニュー[データ]-[入力規則]
3. [設定]タブの[入力値の種類]ボックスの[リスト]をクリック
4. [元の値] ボックスでF3(ファンクションキーのF3)を押す
5.「LIST」を選択してEnterを押す
6. [OK]ボタンをクリック
最後にセルB2をB2:D4にコピー&ペーストして完了です。
なお、入力規則の手順の1.で、セルB2がアクティブセルでB2:D4を選択している状態、としていれば、それで入力規則を設定できます。
これにより、それぞれの項目に選択肢が増えても自動的に名前定義の参照範囲が拡大されますし、項目自体を増やしてもそれも自動的に反映してくれます。
これなら、リストを直接列挙のやり方よりも楽じゃないかと思うのですが、いかがでしょうか?
No.7ベストアンサー
- 回答日時:
> 1.何も選択しない段階では空白
> 2.リストからA、B、Cのどれかを選択。
> 3.やはり選択止めたという場合に空白を再度選べる
どうやら、質問者様がやりたいことそのものは、できそうにないみたいですね。
私がやるとすれば、
1.何も選択しない段階では[未選択]と表示。
2.リストから[未選択]、A、B、Cのどれかを選択。
3.やはり選択止めたという場合に[未選択]を再度選べる
ですかねぇ。
初期状態はどうしても空白にしたい、だけど名前を定義して参照することもしたくない、というのであれば、
1.何も選択しない段階では空白。
2.リストからA、B、C、[キャンセル]のどれかを選択。
3.やはり選択止めたという場合に[キャンセル]を再度選べる
という入力規則にしておき、シートモジュールのWorksheet_Changeイベントで、Targetが[キャンセル]だったらTargetをクリアするようにします。
> シートモジュールのWorksheet_Changeイベントで、Targetが[キャンセル]だったらTargetをクリア
素晴らしいアイディアですね!
とても参考になりました、有難うございます。
(o。_。)o
No.6
- 回答日時:
>一々名前を定義するのが正直面倒なんです。
>だからリストを直接入力だからリストを直接入力したいのです。
状況理解しました。それでは、名前定義の参照範囲を可変にするのはいかがでしょう?具体的な手順は、以下です。
別シートのセルA1がブランクで、A2以降に選択肢が入力されているとします。
1.リストを入力しているシートを選択
2.Ctrl+F3
3.「名前」に「LIST」と入力
4.「参照範囲」に=$A$1:INDEX($A:$A,COUNTA($A:$A)+1)
5.Enterキーを押す
一回、こうして名前定義しておくと、A列に選択肢を追加/削除したら自動的に名前の参照範囲が拡張/縮小されます。
最初の名前定義の設定が面倒ですが、一回設定してしまえば、セルに入力できるので、入力規則のリストの元の値に入力するよりも使いやすいと思います。
> 一回、こうして名前定義しておくと、A列に選択肢を追加/削除したら自動的に名前の参照範囲が拡張/縮小されます。
こういうやり方があるんですね、勉強になりました。
ただ、今回めんどうと書いたのは選択肢を追加/削除ではなく、リストの種類が多いからなんです。
有難うございました。
No.5
- 回答日時:
質問がむつかいい表現になっているが、表現がピンとハズレでは。
リストがA、B、Cと設定しても、Dが、セルに!入れられるようにすれば済む話ではないの。
ーー
注意情報が出るのは我慢しなければならないが。
データー入力規則ーリストー範囲F1:F3
「エラーメッセージ」タブ
情報
(そしてエラーメッセージボックスは空白)
この回答への補足
リストがA、B、Cと設定しても、Dが、セルに!入れられるようにしたいのではありません。
1.何も選択しない段階では空白
2.リストからA、B、Cのどれかを選択。
3.やはり選択止めたという場合に空白を再度選べる
というようにしたいのです。
3の段階でセルをクリアすればいいことなのですが、それがわからない使用者が多いので「空白」も選択肢のひとつに含めたいのです。
現在、別シートに空白行を先頭にしたリストを作り、名前を定義して参照させてますが、選択肢は少ないけど異なったリストがたくさんあるので、一々名前を定義するのが正直面倒なんです。
だからリストを直接入力したいのです。
御理解いただけたでしょうか。
No.4
- 回答日時:
空白の状態のセルに入力規則をリストで作り選択するのでしょう?
>
リストの最初の一行目に空白を設定したいのです。
空白のセルに空白を選択させる意味があるのでしょうか?
選択がない=空白なのだから、三択の状態になるのでは?
ちなみに、全角スペースを入れて四択にしても、実際には全角スペースが入力されている状態になるので、空白に見えてもその上に入力をしようとすると規則違反でエラーが出ます。
No.3
- 回答日時:
入力規則の元の値に、選択肢を直接列挙するのではなく、選択肢を入力したセル範囲を入れるのはいかがでしょう?それだと「何も入力しない」を選択可能です。
同じシート上に選択肢のリストを表示させたくない、とのことでしたら、他のシートに選択肢のリストを入力して、その選択肢のリストに名前をつけ、その名前を入力規則の元の値に指定すれば良いと思います。その選択肢のリストが入力されたシートを非表示にすることも検討されればよいと思います。
参考URL:http://www2.odn.ne.jp/excel/waza/validation.html …
有難うございます。
セル範囲で指定すれば大丈夫だということは存じており、質問にもそう書いたと思います。
今回は理由があって入力規則の元の値に、選択肢を直接列挙する方法を使いたいのです。すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) データ入力規則リスト 空白を無視 3 2022/07/13 15:11
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) Excelのプルダウンメニューの内容を人によって可変する方法 2 2023/03/28 14:52
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報