• 締切済み

入力規則の連動したドロップダウンリストについて

EXCELの入力規則について質問です。 実際に私が作ったデータは複雑なので 質問を簡素化させるために↓アドレスの例で質問します。 入力規則で、 http://homepage3.nifty.com/hiro22219/dropdown-list.html の内容を参考に、連動したドロップダウンリストをINDIRECT関数を使用して作成しました。 実際にうまく作動はするのですが 例えば、入力規則を設定したA1で「総務部」を選択すると 連動してA2のリストが総務部の内容になるので、そこで「総務課」を選択したとします。 その後に、もう一度A1で「営業部」を選んだときに A2のリストは営業部の内容になるのですが、 それを選択する前の時点では、さきほどの「総務課」というデータが 残ってしまった状態になっています。 この問題を解決する方法はやはりVBAしかないのでしょうか? 例えばA1で総務部を選んだ際に名前定義範囲の一番最初のデータ(つまり「総務課」)と表示される、もしくは空白になるというイメージなのですが・・・ 私の作成したものを会社の他の人も使用するため なるべくVBAを使用せず作成したいのですが 無理でしょうか?

みんなの回答

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

A1セルとB1セルの値がリスト範囲以外の場合(後でA1セルを変更したような場合)に、B1セルを見掛け上空白表示にしたいなら、以下のような条件付き書式で実行することが可能です。 B1セルを選択して「書式」「条件付き書式」で「数式が」にして以下の式を入力し、「書式」ボタンをクリックしてフォントタブでフォントの色を白にしてください。 =SUMPRODUCT((B1=INDIRECT(A1))*1)=0 ただし、この条件付き書式の方法では、実際のデータは変更されていない(フォントの色が白くなっているだけです)ので、集計に利用するなどデータの変更が必要な場合には注意が必要です。

peko4
質問者

お礼

詳しいご説明ありがとうございます。 教えていただいた数式を条件付き書式で設定しました。 見かけ上でデータが消えたようになれば問題ないので これで解決です。すごく助かりました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

Excel2003まででは。 >例えばA1で総務部を選んだ際に名前定義範囲の一番最初のデータ(つまり「総務課」)と表示される、もしくは空白になる A1で入力規則のデータを選ぶ(つまり入力する)という操作を行ったタイミングで, よそのセルであるA2の「セルに入っている内容」が自動で勝手に変わる, というアクションが出来ないかというご質問でしたら,それは自動起動マクロにA2を書き換えさせるしかありません。 勿論A2に数式が入っていればそれでも出来ますが,いまの前提はA2に(入力規則と)データを入れているのでそれも不可です。 総合的に。 マクロが必ずしも使えない前提で,もしご質問のようなエラーをチェックする必要があるのでしたら, 1)第3のセルに数式を入れて,A1とA2に不整合が無いか検査して結果を表示させる 2)A2(またはA1にも)に条件付き書式を施し,不整合があれば色を赤くする等して示す 3)第3の重要なデータ入力セルに入力規則を施し,A1とA2に不整合があったら入力できないようにする などの手が利用できます。 また 4)ご質問の前提は「A1を変えたのにA2を変え忘れる」という間違いのフォローですが,間違いは他にも沢山あり得ます。そのどこまで手当するのか,考え出すと切りがありませんので一切そういうフォローはしないというのも一つの判断です。 #別の手 Excel2007を利用すれば,条件付き書式の新しい機能で表示形式を利用することでA1の内容とA2の内容を数式で評価して表示を変えて示すことが出来ます。 しかしブックを広く配布して使用してもらう前提では,いま今日ではまだ2007に限定する事はとても出来ませんので,この方法は使えないと判断できます。また表示だけ変わって実データは変わっていない(変えなくて良いとユーザーに勘違いさせる)格好になるので,データ的にも非常に危険な状態だと言えます。

peko4
質問者

お礼

ご丁寧に説明をしてくださり、ありがとうございます。 条件付き書式で設定し、解決できました。 とても助かりました。本当にありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAでドロップダウンリストを連動させたものを作るには?

    VBAでドロップダウンリストを連動させたものを作ることが出来ますでしょうか? 今まで入力規則の設定をつかって見ていましたがどうやら実現不可能と思われることが分かってきました。 VBAでの連動したリストの代替案を考えていますが・・・ いい方法は無いでしょうか? このページのようなことがやりたいと思っています。 http://www.relief.jp/itnote/archives/000822.php

  • エクセルの入力規則のリストについて

    エクセル2013での入力規則のリストを使った方法について質問です。 例として、 A2には、「部署名」という名前のリストを作成。 A3には、INDIRECT関数を使って、A2で選択したものに応じてリストを切り替えるように。 A4に、VLOOKUP関数を使って、A3で選択したものから、他のデータを参照して売り上げを表示するようにするとします。 機能としてはうまくはたらいているのですが、A2で選択したリストに応じて即座にA3のセルが更新されないのが気になっています。 たとえば A2で営業、A3で田中、とリストで選択した後、A2で総務を選択しても、A3のセルには田中、と表示されたままになってしまいます(リストの▽を押せばリストは正しく選択できます。) できれば、A2で違う部署を選択したら、A3のセルに表示されていた名前は消える、または新しいリストで上書きされるような仕様にしたいと思っています。 また、マクロ、VBAは使用したことがないため、可能な限り使わない方向でお願いします。 文章のみで、拙い説明ですが、ご助言お願いいたします。

  • 入力規則のリストの連動について

    いつもお世話になります。 エクセル2010 WIN7 です エクセル2003の時に作成したリストの連動の数式をエクセル2010に適用すると下記のようなエラーメッセージが出ます。  「条件データーの入力規則には、参照演算子(OR 演算子、AND 演算子、範囲演算子など)および配列定数は使用できません。」 「データー」 「データーの入力規則」 「元の値」の所には次のような数式を入れています。 主 =INDIRECT("Sheet2!A1:AE1") サブ =INDEX(INDIRECT("Sheet2!A1:AE15"),2,MATCH(A2,INDIRECT("Sheet2!A1:AE1"),0)):INDEX(INDIRECT("Sheet2!A1:AE15"),10,MATCH(A2,INDIRECT("Sheet2!A1:AE1"),0)) ご指導を仰ぎたいのは 多分ですがサブの数式がよくないと思われます。 このどう変えればいいのか、または他の方法にしなくてはいけないのかをご指導いただけないでしょうか。 宜しくお願いします。

  • (初心者)Excelで連動するドロップダウンリストを作成しています。

    他に同じ質問があったらすいません。 探したのですが見つからなかったため、質問させていただきます。 Excelで多項目の連動するドロップダウンリストを作成しています。 名前の定義で「○○&□□」 (例えば「メニュー&ツール」) と定義したいのですが、「&」を使用するとエラーが出てしまいます。 「&」は使用不可文字なのでしょうか。 また、作成しようとしているリストは、 (1)A1のセルで○、もしくは△、□がリストから選択できる。 (2)(1)で○を選択した場合はB1のセルでA、もしくはB、Cが選択できる。 (3)(2)でAを選択した場合、C1のセルで1、もしくは2、3が選択できる。 上記のような3階層に渡る連動したリストです。 このようなリスト作成の質問は多数ありましたが、 どれが私の求めているリスト作成に近いのか判断ができませんでした。 恐れ入りますが、参考になるURLや作成方法など、 教えていただけませんでしょうか。 初心者のくだらない質問だとは思いますが、数日悩んでいます。 どうぞよろしくお願いします。

  • 【Excel】入力規則のリスト表示について

    教えて下さい! Excelで入力規則のドロップダウンリスト「A」「B」の2つを作り、 「A」で選んだ内容によって、「B」で選択できる内容を変化させたいと 考えています。 INDIRECT関数を使用し、内容を変化させることは出来るようになったのですが 「A」を選択し直すと、「B」にすでに入力されているデータが一度クリアされ 空白の状態からリストを選択し、文字を入力するにはどうしたらよいでしょうか?

  • excelの入力規則リストで重複不可にするには

    エクセルの入力規則でリストを利用して【プルダウンメニュー】を作成しています。 リストのデータを重複して選択できないようにするにはど のようにすればいいでしょうか? 例をあげるとしして 仮にA、b、Cの3つのセルに入力規則のリストを設定していずれも元の値が 『リンゴ』『みかん』『バナナ』とした場合。 Aのセルでリンゴを選択した時BやCのセルでリンゴを選択できないようにするに します。 VBAは全く分からないのでできれば関数で やる方法をご教授頂ければと思います。 宜しくお願いします

  • ○、×のドロップダウンリストを作りたい。

    エクセルで「○」か「×」かを選択できるように ドロップダウンリストを作りたいのです。 ドロップダウンリストに表示させたい 「○」「×」を別のセルに入力して、選択するように しているのですが、これを表示させないようにするには どうしたらよいのでしょうか? つまり、私がしていることは データ→入力規則→入力値の種類を「リスト」にする→元も値を「○、×が入力してあるセル を選択しているのです。」 この、元の値のセルの値が邪魔なのです。 どうぞ、よろしくお願いします。

  • 連動したドロップダウンリストを INDIRECT関数を利用して作成したのですが・・・

    お世話になります。EXCEL2003での質問です。 県選択→結果を受けて市町村選択 というドロップダウンリストを下記の要領で作成しました。  名前の定義 : 名前;都道府県  参照範囲;シート名!$A$2:$A$7  名前の定義 : 名前;○○県   参照範囲;シート名!$B$2:$Z$2  各県の名前を同様に定義する。 一つ目のドロップダウンリスト(別シートのA1)  入力規則  : 入力値の種類;リスト  元の値;=都道府県 二つ目のドロップダウンリスト(別シートのB1)  入力規則  : 入力値の種類;リスト  元の値;=INDIRECT($A$1) 上記で問題なく連動したドロップダウンリストを作成できました。が、市町村合併に対応させたくて参照範囲を可変に・・・と思い、名前の定義の参照範囲のところを次のように変更しました。  名前の定義 : 名前;○○県   参照範囲;=OFFSET(シート名!$B$2,0,0,1,COUNTA($2:$2)-1) すると二つ目のドロップダウンにリストが出てきません。 B1の入力規則に戻って元の値が=INDIRECT($A$1)になっているのを確認してOKをクリックしたところ"元の値がエラーと判断されます"と警告が出ました。 そこでINDIRECT関数を噛ませずに直接、元の値を=○○県 にしたところ正常にドロップダウンにリストが表示されました。 これは、名前の定義の参照範囲に関数を使用したときにはINDIRECT関数が使用できない、ということなのでしょうか。どなたか、お詳しい方、教えていただけませんでしょうか。よろしくお願いします。

  • エクセルの絞込みによるリスト入力

    エクセルについて教えてください。 (1) A列を入力規制で『部』というリスト1からの入力になっています。 リスト1内には『1部、2部、3部』と入っているとします。 例えばA列に『1部』という名前をリストから選び、TabにてB列に移動した時 A列が『1部』であったならリスト2を表示、 A列が『2部』であったならリスト3を表示するという方法は可能でしょうか? リスト2には企画1課、企画2課・・ リスト3には営業1課、営業2課・・と入っているとします。 さらに、B列が『企画1課』と表示され C列にTab移動した時C列には人名リストから表示される、 といった絞込みのリスト入力をしたいと考えております。 (2) さらに、今回のようにA,B,C列をリスト内からの入力にしているのですが A列にリストから入力し、B列にTab移動した時に自動でリストが表示する方法は 可能でしょうか? 初心者であるためVBAは使用したことが無いので関数レベルで可能であれば 助かります。 よろしくお願いいたします。

  • 入力規則のリストの使い方

    エクセル2003を使っています。 入力規則のリストをこのように使える方法はないでしょうか? A1セルに東北、関東、近畿、中国、四国、九州 と選択リストを作る A2セルは、A1で東北を選べば青森、秋田、岩手。四国を選べば高知、愛媛、香川、徳島 と選択できるようにする。 どうでしょうか?何かいい方法があればご教授ください。 現在選択リストを作成したところ200項目ほどあって選択するのが大変になるので困っています。どうぞ宜しくお願いします。

専門家に質問してみよう