• ベストアンサー

EXCELの入力規則

EXCEL2000で入力規則を使いたいのですが、 たとえば、sheet1の値をsheet2の表でプルダウンメニューにするとき、 sheet1の値が増減したときに対応できるやり方がわかりません。 http://www2.odn.ne.jp/excel/waza/validation.html#SEC3 を参考にしているのですが、うまくいきません。 さらに分かりやすく説明していただけますか。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.5

>sheet1には、県名と言う名前を付けた県名のリストがあります。 どの列かはわかりませんが、とにかく対象列全てを県名用のリストにしているのですよね? (※1 … ここでは、仮にB列全体とします。       B1は、見出し部分とするのでリストデータはB2からとします。) >このリストを、sheet2に作成した表の県名の各々のセルにプルダウンメニューが出るよう設定します。 プルダウンメニューを使用したいセルや列全体を入力規則で設定されていますよね? (※2 … ここでは、仮にE列全体とします。) >ご案内いただいた >=OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1$A:$A)-1,1)では、 >sheetを丸ごと指しているので正しくないと思われます。 丸ごとは指していませんよ。 引き数 1.Sheet1!$A$2 … Sheet1のセル(A2)を開始位置に指定しています。 2.0 … 1.で指定しているので必要ないので0。 3.0 … 1.で指定しているので必要ないので0。 4.COUNTA(Sheet1$A:$A)-1 … Sheet1のA列全体から、空白になっていないセルの数。更に、開始位置を2としているので-1。 5.1 … A列のみが対象なので1。 >また、sheet1で設定した範囲はA2から始まりますが、 >sheet2の表の該当のセルはA列とは限らないので、 その通りです、どのセルに指定しても同じリストを表示します。 上部で※1、※2を前提にCtrl+F3でリスト化すると =OFFSET(Sheet1!$B$2,0,0,COUNTA(Sheet1!$B:$B)-1,1) となります。これを「県名」と名前を定義します。 そして、Sheet2を選択しE列全体を選択して入力規則を設定します。 以上のようになります。如何でしょうか? これで、解決できないのであればもう少し具体的に、リストにする表(Sheet1)の図、リストを使用する表(Sheet2)の図らしき物を補足していただければ、回答いたしますよ。

maggie-joe
質問者

お礼

お返事が遅くなり申し訳ありません。 確かに、おっしゃる通りのやり方で新規に表を作成すると、問題ないように見えます。 しかし自分の表に当てはめると、例えばリストに10個入っていたとしても、 表が3行しかないときには、プルダウンメニューに3個しか出てこず、 5行になると、5個出てくるといった按配で、うまく表示されません。 文章で表のつくりを説明するのも限界があるので、もう少し自分で研究してみます。 どうもありがとうございました。 次にもし私の質問を見かけたら、またお願い致します。

その他の回答 (4)

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.4

>~、「項番1」の行しかないときには、 >sheet1に全県名のリストを作成してあるにもかかわらず、 >プルダウンメニューのリストにはひとつしか県名が出てきません。 OFFSET(基準,行数,列数,高さ,幅) 基準…開始位置の指定 行数…基準から指定した行数ずらして開始位置の指定 列数…基準から指定した列数ずらして開始位置の指定 高さ…対象とする範囲(行数) 幅 …対象とする範囲(列数) Sheet1にリストがあるということなので、以下の様に記述されていれば問題ないと思いますよ。 =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1$A:$A)-1,1) COUNTAのところがCOUNTA(Sheet2$A:$A)-1とかになっていませんか? その様な感じを受けましたが、解釈を間違えてたら補足をお願いします。

maggie-joe
質問者

補足

ありがとうございます。 私の説明が分かり難くてすみません。 sheet1には、県名と言う名前を付けた県名のリストがあります。 このリストを、sheet2に作成した表の県名の各々のセルにプルダウンメニューが出るよう設定します。 sheet1の県名は追加や削除する事があります。 普通に設定すると、sheet1で定義した県名リストは、 追加でその定義範囲を超えるとプルダウンメニューに表示されなくなる事を避ける為、 参考資料に従い設定しましたが、うまく行きません。 ご案内いただいた =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1$A:$A)-1,1)では、 sheetを丸ごと指しているので正しくないと思われます。 また、sheet1で設定した範囲はA2から始まりますが、 sheet2の表の該当のセルはA列とは限らないので、 リストと対比するセルをOFFSETの記述でシフトさせなければいけないのでしょうか。 その辺が、参考資料に詳しく書いてないので分からないところです。

  • comv
  • ベストアンサー率52% (322/612)
回答No.3

こんばんは >Sheet1の値が増減したときに対応できる の意味が微妙ですが リスト範囲の名前の定義をする範囲を 例えば元の値がA列にあるなら A列全体を選択(列記号をクリック) 挿入 名前 定義 適当な名前 (範囲には =Sheet1!$A:$A となっている筈です  実際にリストに表示される範囲は、使用している  行範囲です)

maggie-joe
質問者

お礼

ありがとうございます。 Excelの「入力規則」を使ってセルにプルダウンメニューの機能を持たせたとき、 メニューの中のリストに追加項目や削除項目があったときに、 自動でメニューリストの増減に対応できる機能があると説明にあったので、 その設定をしているときにうまく機能しないので質問を挙げさせて頂きました。 comv様の設定は通常の設定で、リストの範囲を列で指定する方法ですね。 列を指定してもセルに入力された部分しか選択されませんし、 仮に、セル指定で大きく指定したとしても、 これだとリストの項目が少ない場合、プルダウンメニューを出したときに、 無駄な空白がダラッと表示されませんか。

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.2

いまいち状況が良くわからないですが、こちらで確認してみた結果 リスト全体が表示されない現象は、リスト中で空白の行があると 一覧の中身がずれていきますね。 以下の様にSheet2がなっている場合、リストにはAしか表示されません。 リスト A B C >「=OFFSET($A$2,0,0,COUNTA($A:$A)-1,1)」 この条件を修正すれば、納得のいくように出来るかと思います。 あまり詳しくないので、すいません。

maggie-joe
質問者

お礼

再びのご回答ありがとうございます。 項番|県名 | ------- 1 |東京 | ------- 2 |埼玉 | 例えば、このような表がsheet2にあって、 県名を入力する際に、県名のセルにプルダウンメニューが出るようにする入力規則を設定しました。 BlueRay様のやり方ですと、「項番1」の行しかないときには、 sheet1に全県名のリストを作成してあるにもかかわらず、 プルダウンメニューのリストにはひとつしか県名が出てきません。 そこで、「=OFFSET($A$2,0,0,・・・」の使い方を教えていただきたかったのです。

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.1

>http://www2.odn.ne.jp/excel/waza/validation.html#SEC3 「可変範囲の名前定義で、リストへの追加/削除に自動的に対応」 「部署2」を作成する所まではわかりますか? わかっている前提とします。 >参考にしているのですが、うまくいきません。 そうですね。うまくいかないと思います。若干記述ミスがあると思います。 >>5.「部署」を選択してEnterを押す ここで、選択するのは「部署」ではなく「部署2」を選択して下さい。 これで、目的のことが出来るようになると思います。如何でしょうか。

maggie-joe
質問者

補足

ありがとうございます。 質問したあとでそのことに気が付きました。 それだと一見うまく行ったように見えるのですが、 たとえば、SHEET2の表が最初1行で時間を追うごとに 行が増えていく表だと、最初の方の少ない行数では、 プルダウンメニューの中のリストが全て表示されないのです。 引数の使い方が悪いのでしょうか。

関連するQ&A

  • EXCEL入力規則で文字数制限

    EXCEL2002です。 A列に入力規則をかけ、全角20文字、半角40文字以内にしたいと思っています。 「エクセル技道場→入力規則→全角5文字、半角10文字」を参考にさせていただき、以下の式で入力規則のユーザー設定を行いました。 =AND(ISTEXT(A1),LENB(A1)<=40) この場合、最初の文字が半角の場合に制限数以下でもエラーメッセージが出てしまいます。 最初の文字が全角でも半角でも制限数以下であればエラーメッセージが出ないようにする方法はありますか? よろしくお願いします。 http://www2.odn.ne.jp/excel/waza/validation.html#SEC10

  • EXCELの入力規則のリストについて。その2(IFで空白にしたセル)

    EXCEL2000で入力規則のリストを設定しています。 IF(セル番号="","",VLOOKUP(…))を使用して表を作っています。 表は途中からIFによって空白行になっています。 この表全体をリストの「元の値」に設定しているのですが、プルダウンメニューに空白が延々と表示されてしまいます。 この空白を表示させない方法はあるでしょうか? どうかよろしくお願いします。 もう1つ「EXCELの入力規則のリストについて。その1」という質問もさせていただいています。 併せてよろしくお願いします。

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

    EXCEL2003を使用しています。シート1にプルダウンリストを作りたい時、リストの元の値ををシート2に作るとプルダウンリストは出来ないのでしょうか?

  • Excel2007の入力規則について

    Excel2007の入力規則について教えてください。 プルダウンメニューで項目を選択できるようにしたいと思います。 その際下記のように考えています。 別シートにデータを置いて、参照できるように設定します。 例えば A列: 大根 人参 キャベツ B列: 1 2 3 A列でプルダウンメニューから大根を選ぶと自動的にB列に1が入るようにします A列でプルダウンメニューから人参を選ぶと自動的にB列に2が入るようにします A列でプルダウンメニューからキャベツを選ぶと自動的にB列に3が入るようにします どのように設定すればできますか。 よろしくお願いいたします。

  • Excel 入力規則のリスト参照元を1セルとしたい

    Office:Excel 2007 お世話になっております。 相変わらずタイトルの文字制限少ないですね・・・。 と、それはおいといて・・・。 当方Excel2007を使用しているのですが、 入力規則の設定で、入力値の種類を「リスト」とした場合の 「元の値」を1つのセルから参照し、プルダウンしたいと考えています。 例えばA1に"0,1,2,3"という値を入れておき、 B1に入力規則を設定して、「元の値」の参照元をA1としたときに "0","1","2","3"がプルダウンしてくれるのかなと 思っていたのですが、やはり"0,1,2,3"で1文字列として扱っているためか、 ちゃんとプルダウンしませんでした。 何か方法をご存じの方いらっしゃいましたら、ご教示の程お願い致します。

  • EXCELの入力規則に関して

    EXCEL 2003 で簡単な品物の管理表を作成しています。 例えば、品目としてパソコンがあり、品番としてAとBが有ったとします。 "パソコン"はセルにそのまま表示させ、品番は入力規則でAとBと書かれたセルを参照させ、ドロップダウンリストで選択するような作り方をしています。 このような場合での質問です。 1)入力規則で別シートのセルを参照先とすることはできますか。 2)参照先を作成せずに、ドロップダウンリストを作ることはできますか。(値一覧をセルやデータに内包するような感じです) 3)入力規則を複数のシートにコピーし、片方の値を変更した場合、別シートの同じ入力規則の値も連動して変更させることは出来ますか。 入力規則の機能では作りきれない部分も有るかとは思いますが、なにか良いアイデアがあればご提案いただくと有り難いです。

  • 入力規則

    エクセルで入力規則の設定がわからないので教えていただきたいです。 数枚のシートのうち、1枚目だけに入力規則に使うリストの表があり、そのリストを使って全てのシートに入力設定をしたいのです。 そのリストの載っているシートには入力設定することができました。が、他のシートの方はできません。 リストの値を使って全てのシートに設定できる方法を教えてください。よろしくお願いします。

  • エクセルの「入力規則」についてお尋ねします。

    エクセル2010です。 あるセルにデータの入力規則を設定します。 条件設定の入力値の種類を「リスト」にし、リストの値は、0,1,2,3と直接指定します。 これで設定したセルにはプルダウンで0,1,2,3を選択するか、直接0~3の数値の入力しかできなくなります。 ここまでは問題ないのですが、このセルにユーザー定義の書式、0"人"を設定して、1は1人と表示されるようにしました。そうすると、直接0~3の数値の入力ははじかれ、プルダウンで0,1,2,3を選択するしか入力ができなくなります。 リストに設定した値を正しく入力しているのに排除されるのはなぜでしょう? いろいろ試し、リストの値を、0,1,2,3と直接指定せず、セル範囲のリスト指定とし、そのセル範囲にもユーザー定義の書式、0"人"を設定しておけばクリアできました。 でも、たかだか数件のリストを指定するのにいちいちリストをワークシート上に作成し、そこにもユーザー定義の書式を設定しなければならないのは腑に落ちません。

  • 入力規則でプルダウンメニューが表示されない

    こんにちは、お知恵を拝借したいと思い、質問させて頂きました。 1つのファイル内にシートを12枚(1月~12月)作って利用しております。12枚のシートは、全て「1月」のシートをコピーしたもので、入力規則(リスト)は最初の「1月」を作成した時に設定しました。 このファイルを用いて7ヶ月前から業務予定を管理していたのですが、突然「10月」だけプルダウンメニューが表示されなくなりました。入力規則をリセットして新たに設定し直しても、プルダウンメニューが表示されません。 他の月と入力規則の中身を見比べても、レ点の状態などは他のシートと異なるところがなく、シートコピーして別のシート(「10月 (2)」)を作ってもプルダウンメニューが表示されません。 ファイルが壊れたのかとも思いましたが、「10月」以外のシートは問題なく使えており、また「10月」のシートでも問題になっているのはプルダウンメニューが表示されないだけです。 異常に気付いたのは、9月上旬で、「ブックの共有」を解除して暫くしてからです。 メニューバーの「入力規則」以外に、設定に関わるところがあるのでしょうか? また「ブックの共有」を解除した事と何らかの関係があるのでしょうか? わかる方がいらっしゃったら、アドバイス頂けますようお願いします。 使用環境は下記の通りです。 Ms-Windows XP Ms-Office 2003

  • EXCELの入力規則について

    EXCELの入力規則で入力値の種類をリストにした場合、元の値を別のシートにすることは出来ますか? 現在は他のシートから=で同一シートに引き込んでいますが直接、他のシートから読み込みたいのですが。

専門家に質問してみよう