忍者ブログ

東京に住むSEの子育てブログ

東京に住むSEが日々の出来事をつづります。 テクニカルな覚書きから子育てまでジャンルは幅広いです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Excelの入力規則のリストで空白排除


Excelの入力規則でリスト入力ができる事は御存知ですよね。

ここで1つテクニック。

そのリスト項目を、別シートにまとめておくとメンテナンスしやすいです。

しかもあらかじめリスト項目が増えることも考慮しておくとさらに便利です。

例えば、ドロップダウンリストで表示したいデータは10個しか無いのですが、今後増える可能性があるので20行をリストの範囲にしておくようなイメージです。
ハードルは2つあります。
 ハードル1:リストボックスに設定できる範囲は別シートに普通はできない。
 ハードル2:20行を普通にリスト範囲にすると、リストボックスの内容が、
        上記例でいうと項目10個+空白10となってしまう。

解決策として、
 ・ハードル1は名前の定義
 ・ハードル2はoffset関数
を使用しましょう。

では、手順です。

入力データシート名をsheet1、
リストボックスの項目が入力されているシート名をsheet2とします。

1.sheet2でCtrl+F3で”名前の定義”ダイアログを呼び出します。
  名前:備考リスト
      ↑自分の分かりやすい名前でOKです。
  参照範囲:=OFFSET(sheet2!$B$3,0,0,COUNTA(sheet2!$B$3:$B$26),1)
      ↑この例では、sheet2のB3~B26までをリスト項目の範囲としています。

2.sheet1でリストボックスを設定したいセルで、
  [データ]-[入力規則]-[リスト]を選択します。
  [元の値]のテキストボックスの中に、手順1で定義した名前を設定します。

  =備考リスト

  と入力しましょう。

3.設定したリストボックスをクリックしてみましょう。
  sheet2の項目リストに空白があったとしても空白は排除されて、
  リストボックスが形成されます。
  リスト内容を修正したければ、sheet2のB3~B26の間で、
  項目の追加/変更等を行ってください。

ちなみに、sheet1のリストボックスが設定されたセルで直接入力も許可してあげたいなら、
下記のように設定してください。

[データ]-[入力規則]-[リスト]-[エラーメッセージ]タブを開きます。
そこの、「無効なデータが入力されたらエラーメッセージを表示する」のチェックをクリア
にすればOKです。

リスト項目を別シートに作って上記のようにメンテナンスしやすい構成にしておく。

意外とハマる人が多いようです。

by shell55.

コメント

現在、新しいコメントを受け付けない設定になっています。

スポンサードリンク

プロフィール

HN:
shell55
年齢:
40
性別:
男性
誕生日:
1984/08/19
職業:
システムエンジニア
趣味:
ゴルフ・ダイビング・オーボエ
自己紹介:
心にうつりゆくよしなし事を、そこはかとなく書きつくればという感じで日々を綴っていきます。

PR