• ベストアンサー

エクセルで名前→定義で作ったリストのスペース部分を削除

エクセルで、「名前」→「定義」でA2からA10までリストを作成した場合、A6からA10は余白です。後日データ数が増加した時に使用しようと思っています。「データ」→「入力規則」の時にこの余白を表示しない方法はありますか。

  • dan29
  • お礼率33% (1/3)

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

  • ベストアンサー
  • macchan1
  • ベストアンサー率38% (52/136)
回答No.2

「名前」→「定義」で例えば「リスト」と名前を付け、参照範囲に以下の式を入力します。 =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A$2:$A$10),1) これで入力規則のリストで元の値の欄に「=リスト」と入力すればデータ数に応じたリストになります。

dan29
質問者

お礼

早速試してみました。完璧です。余白部分は表示されず、又新たにデータを追加しても追加分が表示されます。 ありがとうございました。

その他の回答 (2)

  • subri
  • ベストアンサー率28% (16/56)
回答No.3

縦に増減する可変範囲ということですね。 ではエクセル技道場がお役に立つと思います。 http://www2.odn.ne.jp/excel/waza/name.html#SEC20 このサイトでは、 縦横可変範囲のリストも同じページに解説されています。

参考URL:
http://www2.odn.ne.jp/excel/index.html
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

ドロップダウンリストのデータとして、名前を使っているのですね? 最初は、A2:A6で名前を作成しておきます。こうすることで、余白はなくなりますね。 データを追加したいときは、A7ではなく、A5とA6の間に行を挿入します。こうすることで、名前定義の範囲は自動的に拡張されていきます。わざわざ名前を定義し直す必要がありません。 つまり、後から追加する分を予め用意しておく必要がありません。

関連するQ&A

  • Excelにて、消したシートに名前定義したリストが使えるのはなぜ?

    Excelのsheet1にて表を作り、 sheet2には、書き出したデータを名前定義し、 sheet1の表へ入力規則よりその名前を元の値としてリストを作り、 選択入力できるようにしていた書類を、 他の従業員にメールにて送り、 毎月、表を記入してもらい、月末に提出してもらうよう指示しました。 そして、その返信メールにて返ってきた添付データを確認すると、 sheet2が消されて(削除?)いました。 しかし、入力規則のリストは普通通り使えていますし、 定義した名前のリンク先を見ると、「=sheet2!$A$1:$A$15」となっており、 消されているシートが定義されていました。 でも、自分で元データにてシートを削除してみると リストは消え、下向きの黒三角しか出てきません。 どうやれば、シートを消しても消したシートに名前定義したデータを リスト化させることが出来るんでしょうか? 分かり方お教え下さい。宜しくお願い致します。

  • EXCEL 名前の定義 プルダウンリスト

    こんにちは。 EXCEL2010です。 設定用のシートで選択肢を名前で定義し、データ入力シートの入力規則で「リスト」で名前を指定する。 5種類位の名前を定義しており、何故か1つだけは普通にプルダウンに全選択肢が出てくるのですが、他の4つは一番下の選択肢がプルダウンに出てきません。 現状は仮対応で一番したに*を付けて対応しています(*はやはり表示されない)が、原因が分かりません。 名前の定義の際にwebサイトで見たOFFSET関数?を用いて定義付けしており、今同サイトが見つけられず、会社のPCなので名前の定義の際に使った詳しい関数をお示しできませんが、もしこれだけでお解りになる方がいらっしゃいましたらご教示おねがいします(><) ※会社のPCからはセキュリティの問題で本サイトにログインできません。

  • 名前の定義を使ったリストを動的に

    Excel2003を使っています。 「=OFFSET(Sheet2!$B$2,,,COUNTA(Sheet1!$B:$B)-1)」という形で名前の定義を行います。 入力規則のリストにこの名前を指定することで、後でSheet2にデータを付け加えても修正する必要のない動的なリストを作ることができますよね。 それともう一つ、入力規則のリストに「=INDIRECT(A1)」と指定することで、A1セル内に書かれてある文字の名前を指定したことになり、リストとして扱えますよね。 この二つの組み合わせはできないのでしょうか? 「=OFFSET(Sheet2!$B$2,,,COUNTA(Sheet1!$B:$B)-1)」に「名前1」とつけたとし、Sheet1のA1セルに「名前1」と記入し、B1セルの入力規則に「=INDIRECT(A1)」を指定してもエラーとなってしまいます。 「=OFFSET(Sheet2!$B$2,,,COUNTA(Sheet1!$B:$B)-1)」という形でいくつか動的なリストを作り、Sheet1のA1セル内を書き換えることでB1セルのリストが動的に変わるということをしたいのですが上手くいきません。 「=OFFSET(Sheet2!$B$2,,,COUNTA(Sheet1!$B:$B)-1)」ではなく、「=Sheet2!$B$2:$B10」のように固定してしまえば上手くいくのですが、これだとデータを付け加えるたびに修正しないといけません。 二つを組み合わせてリストを使う方法はありませんか?

  • エクセルのリストについて

    エクセルの入力規則にあるリストについて質問です。 データ>入力規則から、『入力値の種類』を”リスト”にし、『元の値』を指定する際、 『元の値』の数が増える可能性があるので、ある程度多めの行を指定しておいて、 『元の値』の数が増えても入力規則の設定の変更をしなくても良い様にしたいのですが、 これをやると、リストの表示に空白セルが表示されてしまいます。 空白セルの分はリストに表示させない事は可能でしょうか。

  • INDIRECTと名前の定義でリストを作成

    どなたか分かる方教えください。 A1のセルにコードを入力、B1のセルに商品 を入力したいと考えています。 但し、B1の商品はA1で指定したコードの商品郡を入力するようにしたいのです。 コードと商品郡は別シートに作成しています。 別シート)    A  B  C  D  E  1  2 A  B  C  D  E   3 ・  ・  ・   ・   ・  4 ・  ・  ・   ・   ・ 2行が全てコード、3行以降がA~Eの商品郡 になります。 3行目以降のセルには関数を入れて 別シート_2 より集計したものになります。 商品郡の数はコードによってバラバラです。 2行目の記入セルを「名前の定義」で「コード」としてあります。 各列を 「名前の定義」、「A」 {範囲:A3:A150}                「B」 {範囲:B3:B150}のようにしました。※今後増減するため、セルは多く設定しました 入力シートの A1にリスト範囲"=コード" B1に"=INDIRECT(A1)"  リストはでたのですが、空白セルが多いため使いづらく 空白セルを表示させないために 別シート!A1 に ="別シート!A3:A"&COUNTA(A3:A150) と入力し自分なりに可変するような式を作ったのですが、 入力シート B1に リスト範囲"=A"とすると 望むようなリストが出来たのですが、            リスト範囲"=INDIRECT(入力シート!A1)" とすると、 元の値はエラー・・・とエラー表示がでて、リストが表示されません。 どのようにしたらリストが表示されるようになりますでしょうか。 もしくは、増減するセル範囲を空白なしに表示させるにはどのようにしたらいいでしょうか。 質問の説明が不十分すぎて申し訳ないですが、分かる方教えていただけたら嬉しいです。

  • excelの ドロップダウンリストが表示されない

    入力規則のドロップダウンリストが表示されません、また、ALT+↓or↑でもリストが表示されません、対処法があれば、ご教授願いたくよろしくお願いします。 ■仕様 excel2000 ■症状 exelのドロップダウンリストを利用して、データを入力しているのですが、あるタイミング(データを入力してファイルが重くなっていくと)で突然、ドロップダウンリストが表示されなくなります。  またALT+↑or↓でもリストが表示されません。従いまして、入力規則→リストがリセットされているのかと思いきや、入力規則で設定したリスト以外は入力できないので、リセットできません。 ■原因(推定) 入力規則のリストを別シートに記載し名前を定義して、本シートの入力すべきセルで入力規則→リストを設定し、名前を読みにいってます。また、入力規則リストを157セルあり、複雑にしすぎてエクセルが混乱して、故障してしまったのかと思っています。 ■設定 ・入力規則のドロップダウンリストにチェックを入れています。 ・[ツール]→[オプション]の[表示]タブの「オブジェクト」で「すべて表示」を設定しています。

  • エクセル リストの連動について教えてください。

    エクセルの入力規則のリストを連動させて使用させたいのですが上手くできないのでご教授願いたいと思います。 まず、A1に食材の分類(野菜、肉など)をリストで選択できるようにしてあります。 A1の結果によってB1に食材(人参、玉ねぎなど)をリスト表示したいのですが、 (別シートに分類ごとにセル範囲に名前を付けてあります) 元の値を=indirect(A1)とするとエラーが出ます。 (A1には先に入力してあります) 食材のセル範囲の名前をoffsetを使って定義しているのですが (確認しましたが関数自体は間違っていません) offsetを使っているとエラーになるようなのです。 (A1:A5のようにセル範囲名前を定義しているときはちゃんと出来ます。) いろいろ調べましたが名前の定義、リストの連動の仕方自体は間違っていないと思うのですが・・・ 連動させるときはセル範囲をoffsetなどを使って可変にすると出来ないのでしょうか?

  • エクセルのドロップダウンリスト

    こんにちは。エクセルで入力規則からドロップダウンリストを作成するときの質問です。リストの元の値を名前定義で指示しているのですが、リスト内容を後から追加できるように名前定義の範囲を現在値が入力されている範囲を超えて空白セルもいくつか一緒に定義しています。 このとき、ドロップダウンリストには当然名前で定義されたリストが出るのですが、空白も一緒に出てきます。 質問は、この空白を無視(値が入力されている範囲だけ)してリスト表示できないかということです。あるいは、空白がリストに含まれてでるのですがその際にリストが一番上でなく真ん中あたりが最初に表示され、つまりリストの▼を押した段階で空白リスト、その後スライドバーでリスト上部を表示させて選択する形になっているのですが、いきなり最上部のリストが表示される方法でも構いません。 よろしくお願いいたします。

  • 【エクセル】 リストの中にリストをつける方法

    エクセルの中に、 データ→入力規則→設定→リスト で入力をリストから選択できるようにできると思います。 このときに、大リストから小リストを選択できるようにすることはできないでしょうか? 例. 【大リスト】 A、B、C 【小リスト】 A→A1、A2、A3 B→B1、B2、B3 C→C1、C2、C3 このとき、例えば入力時に「A」を選択した後「A2」を入力できるようにしたいのですが。 リストの数があまりにも多いので分類して入力時に探しやすくしたいのと、リストを分類することで内容があまりわかっていない人が入力するときにも目的の小リストを探しやすくしたいというのが目的です。

  • エクセル 名前の定義・管理について

    エクセル2007の名前の定義・管理について教えてください。 あるシート(Aシート)のセルの入力規則に他シート(Bシート)の範囲(B2:B4に赤・青・白を入力されている)を定義した名前(名前を色とします)を使用しています。 別途違う目的のためBシートをコピーし、若干修正してCシートを作り、また、その後、Cシートをコピーし、修正してDシートを作りました。ただし、Cシート、Dシートの名前を定義した範囲(赤・青・白)は全く修正していません。この時点で名前の管理から定義された名前を見ると「色」という同じ名前が3つ作成されております。(参照範囲は、それぞれB~Dシートのものと異なっています。) で今回、Dシートが一番最新のもので利用しているので、Dシートの名前を定義した範囲(B2:B4の赤・青・白)を(B2:B5の赤・青・白・緑)と変更したところ、Aシートの入力規則の名前は色ですが、(赤・青・白)しかリストにでてきません。(緑が出てこない)。色という名前が3つあるのがいけないのだと思い、Dシートを参照している以外の「色」の名前を削除したら、Aシートの入力規則は色と入力されているにもかかわらず、全く機能しなくなってしまいました。 いろいろ調べてみたのですが、対処法がわからないので教えてください。なぜ、Dシートを参照している名前の「色」は、入力規則に入力されているにもかかわらず、リンクしてくれないのでしょうか? そもそもシートをコピーしても色という名前が3つできても、最初にリンクしているBシートの名前の「色」しか参照してくれないのでしょうか?なにか方法はありますか? 上手く文章で伝えることができずわかりづらいかとは思いますが、 よろしくお願いします。

専門家に質問してみよう