エクセルでの入力規則について

このQ&Aのポイント
  • エクセルで商品管理表を作成しているが、データ入力が不特定多数の人で行われるため入力規則を設定したい。具体的な規則は、7桁の半角英数字で重複不可の範囲0000001から9999999までで、全角・半角スペースの入力は不可。
  • エクセルでの商品管理表作成時に、不特定多数の人がデータ入力をするため入力規則を設定したい。具体的には、7桁の半角英数字で、0000001から9999999の範囲で重複不可であり、全角・半角スペースの入力は不可とする。
  • エクセルを使用して商品管理表を作成中。データ入力が不特定多数の人によって行われるため、入力規則を設定したい。具体的な規則は、7桁の半角英数字で、0000001から9999999の範囲で重複不可であり、全角・半角スペースの入力は不可とする。
回答を見る
  • ベストアンサー

エクセルの入力規則について

初投稿です。 現在仕事で商品を管理するためにエクセルで管理表を作成しているのですが データ入力が不特定多数の人で行われるためセルに入力規則をしたいと考えております。 規制かけたい項目は ○入力文字数7桁、半角英数字固定 ○入力可能文字列 0000001から9999999の間で重複不可 ○全角、半角スペースの入力不可 セル範囲は B8からI41 です。 自分なりに調べてはみたのですが、この項目すべてをセルに適用させることができずに困っています。 どなたか詳しい人教えてくださると助かります。 よろしくお願いします。 使用環境 OS : win7 ソフト : Microsoft office excel 2013

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

はて? ○7桁の半角の数字。ただし0000000は除く ○1セルの中の重複数字は別にOKで、B8からI41の範囲で重複したらダメ ○スペースに限らず英字記号も不可、全角文字も不可 と言いたかったのでしょうか。 手順: B8セルを選択 セルの書式設定の表示形式を文字列に設定 入力規則を開始 種類をユーザー設定 数式欄に =ISNUMBER(B8*1)*(B8-0)*(LENB(B8)=7)*(COUNTIF($B$8:$I$41,B8)=1) と記入してOK B8をコピー、B8:I41に貼り付けて完成。 #操作に慣れたらB8:I41を最初から選択して操作しても勿論OK。 #参考 「7文字の数字」の制約の必要性についてよく考えて、たとえばセルの書式設定の表示形式のユーザー定義で 0000000 を設定しておき、最大7桁までの「数値」(たとえば1や10)を記入するような仕込みをする事もできます 実際に手を動かして操作してみて、必要性についてご自分のホントにやらなきゃならない事に照らして判断してください。

tsukkun_01
質問者

補足

迅速な回答ありがとうございます。 とても解りやすかったです。 教えて頂いた式を設定したら解決しました。ありがとうございました。 ついでと言っては何ですが、この入力規則を生かしたまま左上に自動で文字が列移動されるような設定も可能なのでしょうか。 例えば、下記のような図1データがあるとします。そこでA1のデータを消すと図2のような状態に自動で詰めて常に空白セルを最後尾に表示させることは出来るのでしょうか。  A  B  C 1 01 02 03 2 04 05 06 3 07 08 09   ↑図1   A   B  C 1 02 03 04 2 05 06 07 3 08 09   ↑図2 設定セル範囲はB8からE41とF8からI41の二か所を考えています。 説明下手で伝わりにくいとは思いますが、回答いただけると幸いです。 よろしくお願いします。

その他の回答 (1)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

一気に行くとわかりづらいので、一つ一つやっつけていきましょう。 まず、簡単なところから > 重複不可   =COUNTIF($B$2:$I$41,B2)<=1 これで、範囲内にその値が「1以下」つまり、1か0しか認めない=重複しないとできます。 > 全角、半角スペースの入力不可 これもちょっと捻りますが難しくないです。   =ISERROR(FIND(" ",ASC(B2))) B2をASC関数で半角にし、FIND関数でスペースを探してやり、 ISERROR関数でエラー値が返ってくるかどうか調べています。 ちなみに、FIND関数は第2引数(検索値)が含まれていないをとエラーで返ります。 なので、ISERROR関数に渡して、FALSEが返ってきたら 「スペース(全/半問わず)」を含んでいる、と言うことです。 > 入力文字数7桁 これも難しくないですね。   =LEN(B2)=7 つまり「文字列長=7文字固定」の意味です。 と、ここまでは良いのですが。 問題は、質問文中のちょっとした矛盾点。 > 半角英数字固定 > 0000001から9999999の間で これです。 前者を活かすなら、アルファベットOK。 後者を活かすなら、アルファベットNGで数字のみ。 後者なら、   =AND(B2>=1,B2<=9999999) でいけるんですが、前者ならもう少し力任せにやってやる必要がありますね。 ちなみに全角が混ざっていないかどうか?は   =LEN(B2)=LENB(B2) で調べられます。 ま、踏まえて、あとは全てをAND関数で括ってやればOK。 つまり、「アルファベット込」なら   =AND(COUNTIF($B$2:$I$41,B2)<=1,ISERROR(FIND(" ",ASC(B2))),LEN(B2)=7,LEN(B2)=LENB(B2)) なのですが、「数字だけ」ならちょっと端折ることも可能です。   =AND(COUNTIF($B$2:$I$41,B2)<=1,AND(B2>=1,B2<=9999999)) これだけで、たぶん出来ます。 この場合は、表示形式を「0000000」に設定してやるのをお忘れなく。

tsukkun_01
質問者

お礼

回答ありがとうございます! とても参考になりました。 本当はお二方ともベストアンサーに選ばせてもらいたいのですが、今回はNo2さんを選ばせて頂きました。 自分ももっとエクセルについて再度勉強してみたいと思います。 本当にありがとうございました。

関連するQ&A

  • エクセルの入力規則(できますか?)

    ネットワーク上で共有しているエクセルファイルがあります。 このファイルは複数の人間が入力するため、独自の入力規則を設けているのですが全く守られていません。 これらを防ぐため(入力規則を守るため)、特定の文字を入力するとアラートを表示させることはできますか? 具体的には「全角の英数字及び記号(スペースも含む)」、「半角のカナ」を入力させたくありません。 入力規則や禁止他、何でも良いので方法を教えていただけないでしょうか? よろしくお願いいたします。

  • Excelの半角英数字の入力について

    Excelで、あるセル、又は行全体に入力するときに半角、全角の入力にかかわらず、入力したものは必ず半角に変わるようにするにはどうすればいいでしょうか? また、漢字かつ英数字の混合文字列に対して、英数字だけは、全角で入力しても半角に変えてくれるようにするにはどうすればいいでしょうか?

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

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

  • 入力規則が無効に

    Excel2003を使ってるのですが 作ったデータに入力規則などの設定をしているはずなのに ページ内でセルを移動させると設定した規則が反映されない事があります。 例えば・・日本語入力オンにしてるのにセル移動後、半角英数字になる。 この現象ってウィルスなのでしょうか?

  • エクセル 入力規則設定方法

    エクセルA1セルの入力規則設定方法を教えてください。 設定内容は、 半角カナ、英数字のみ入力可能で、かつ、20文字以内にしたいです。 宜しくお願いします。

  • エクセル 入力規則設定方法

    全角のみで25文字以内の設定を行いたいと思っておりますが、 A1のセルに下記の入力規則設定を行った場合 [ユーザー設定]⇒.[数式] =AND(A1=JIS(A1),LEN(A1)<=25) 先頭からいくつか数字(全角でも)のみが並ぶとエラーになってしまいます。 また、 [文字列長さ]⇒.[最大値] 25以下 この場合も、数字のみですといくらでも入力が可能であり、しかも16番目の数字が0(ゼロ)に 変化してしまいました。 どこか、何かの設定方法が悪いと思うのですが、 本来設定したい内容としては、 ●そのA1セルに、半角英数字を入力しても全角に変換し、文字数としてカウントする。 ●上記のように、数字のみが10個並んだとしても許可して全角文字に変化させる。 これを設定したいのです。 どうか教授いただけないでしょうか。 宜しくお願いします。

  • EXCELの入力規則について

    EXCEL2000で作業しています。 その列にはメールアドレスを入力するので、 入力規則で「半角英数字」にしました。 しかし、ピリオドを入力すると 日本語に変換してしまうのです。 (「okweb.ne.jp」にしたいのに 「おけうぇb。根。jp」になってしまう。) どうしてでしょうか。

  • エクセル 入力規則 貼付しても規則が変わらないようにするには?

    どなたかよろしくお願いします。 複数の営業所の売上を一つのエクセルシートに貼り付け、それを集計しています。 テンプレートでは入力規則で設定しているのですが、どうしても各人の入力方法がまちまちで、アルファベットを入力する列が全角・半角・太字になっていたり、数字の列が文字列になっていたりとバラバラなので、毎回直しています。なので貼り付けられても書式を統一出来ればと思います。 僕はあまり詳しくないのですが、入力規則でこの列は「半角英数字」と設定していても貼り付けたらそれになってしまうので、貼り付けられても書式が変わらないように、もしくはテンプレートの段階で書式を変更出来ないようにするにはVBAなどで設定すればそれは回避できるのでしょうか。 お手数ですが、よろしくお願い致します。

  • Excel:関数と入力規則

    セル[A2]に入力規則>設定タブ>入力値の種類で「ユーザー設定」、数式に「=LENB(A2)<=16」 と設定しています。 この設定によりこのセルには全角8文字もしくは半角16文字を超えての入力を禁止させています。 その隣のセル[B2]にはセル[A2]の入力値がそのまま自動表示されるように「=A2」とし、かつ入力規則>設定タブ>入力値の種類で「ユーザー設定」、数式に「=LENB(A2)<=12」 と設定しています。 この設定によりこのセルには全角6文字もしくは半角12文字を超えての入力を禁止させています。 例えば、セル[A2]への入力文字が全角6文字以内であれば問題ないのですが、8文字になった場合、セル[B2]の入力規則が無視され、8文字で表示されてしまうのです。 これは仕方がないのでしょうか? ちなみにセル[B2]の関数を無視して直接セル[B2]に入力するのは入力規則が正常に反応し、全角7文字以上は入力できません。 何か良い方法があれば御教示願います。

  • エクセルでセルに入力制限をしたいのですが。

    例えばA1のセルには全角で10文字まで、B1のセルには半角カナで10文字までという入力制限ができるでしょうか?入力規則で設定したところ、文字数制限はできるのですが、半角,全角の区別をしてくれません。 よろしくお願いします。

専門家に質問してみよう