入力規則で半角数字のみ受け付ける方法

このQ&Aのポイント
  • エクセルで表を作る際に、特定の行で半角数字のみを入力できるようにしたい場合、どのように設定すれば良いでしょうか?
  • また、特定のセルには電話番号のみを入力できるようにしたい場合、どのような入力規則を設定すれば良いでしょうか?
  • 入力規則の設定において、半角数字のみを入力させる方法や特定の形式のみを受け付ける方法について教えてください。
回答を見る
  • ベストアンサー

入力規則で半角数字のみ受け付ける方法

今エクセルで、表を作っています。 ある行のみ半角数字しか入力できないようにしたいので入力規則「日本語入力オフ」にしたのですがアクティブにすると日本語入力になるだけで日本語入力も可能です。それを常に半角数字のみをいれるようにするにはどうすればいいでしょうか。  また、電話番号のみ入力を受け付けるという形にしたい時、例えば○○○-○○○ー○○○○と入力するものしか受付ないとする(文字の入力は受け付けない、エラーメッセージが出る)にはどうすればいいでしょうか。入力規則の設定のタブで「ユーザー設定」で###-###-####としたのですがこれでは駄目みたいです。基本的な事が分からないもので、どなたか教えて下さい!!

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

  • ベストアンサー
  • poohron
  • ベストアンサー率59% (574/971)
回答No.1

まず、入力規則→日本語入力→無効に。 これで半角英数のみの入力になります。 電話番号のみ入力を受け付けたいとのことですが、 入力された文字が電話番号か否かを判定することは無理っぽいです。 (マクロを使えば出来るのかもしれませんが、あいにく私には分かりません) また、『○○○-○○○-○○○○と入力するものしか受付ない』のも難しそうです。 なぜなら、地域により市外局番・市内局番の桁数が異なり、 そのすべてに柔軟に対応できるようにしなければならないからです。 そこで、 (1)入力形式はハイフン無しの入力 (2)数字のみ入力受付 (3)入力された数値の大きさで市外局番からの電話番号か判定 としてみましょう。 (2)を実現するためには、入力規則→設定→ユーザー設定で数式欄を    =isnontext(A1) とすればOK。(A1セルに設定する場合) (3)はユーザー設定で数式欄を    =and(A1<10000000000,A1>=100000000) とします。   ※携帯は頭の0を除いて10桁、固定電話は頭の0を除いて9桁です。    もし国際電話やその他特殊な電話番号を入力するならば    この条件式は変更する必要があります。 で、(2)と(3)の両方を満たす場合のみ入力を受け付け、 ということで結局、ユーザー設定の数式欄に入力する数式は =and(isnontext(A1),A1<10000000000,A1>=100000000) この条件に合わないときはエラーメッセージを出しましょう。 スタイルは『停止』で。 『注意』や『情報』にするとメッセージが出たときに「はい」や「OK」を選択すると 入力された文字がそのまま残ってしまいます。 それと、セルの書式設定→ユーザー定義で 0########### としておかないと、市外局番の頭の0が表示されません。 (isnontext関数で数字か否かの判定をする関係上、  入力結果は文字列として扱えず、数値として扱っているため) ※もちろん、この単純な条件式では入力された電話番号が  ありえない電話番号でもそのまま受け付けてしまいます。  (例えば09123456789など)

salut1977
質問者

補足

ありがとうございます、早速やってみました!! 簡単にできると思っていましたが、複雑ですね。単純に考えていましたが、色んなパターンがあるんですね。 また、質問ですが、 1)ユーザー設定の時のみ#の最初を0にしなければいけないのでしょうか。 2)エクセルを使う際によくでる、「#、*、"」を詳しく解説しているWEBページをご存知でしたら、教えていただきたいです。ちなみに#:任意の数字、*:任意の文字でいいのでしょうか。 長々とすみません。

その他の回答 (1)

  • poohron
  • ベストアンサー率59% (574/971)
回答No.2

#1です。 1)ユーザー設定の時のみ#の最初を0にしなければいけないのでしょうか。 これは入力規則とは無関係です。 書式→セル→表示形式→ユーザー定義で設定できる、 「セルの書式設定」の部分です。 表示するデータが文字列ではなく2桁以上の数値の場合、 一番上の桁の0は自動で削除されます。 入力された電話番号(例えば09012345678)を 文字列として扱えば1文字目の0もデータとして保持されますが 今回の場合数値として扱っているのでエクセルは 1番上の桁の0はでーたとして保持せず、 9012345678という数値データとして認識してしまいます。 このままでは1文字目に0が表示できませんので、 0###########と書式設定することで1文字目に0が表示されるようになります。 0の後に#は11個記述してありますが、 これは11桁以下の数値の場合は頭に0を付加する、という書式です。 2)#:任意の数字、*:任意の文字でいいのでしょうか。 上記の通り、#は書式設定で使用しています。 「任意の数字」というのとはちょっと異なり、数値データの場合の書式設定という事になります。 #の数が有効桁数です。 書式設定で#.###として小数を入力してみてください。 #の数を変えて試してみると#の意味がお分かりいただけると思います。 また、*は検索時に(一部の検索文字列を指定する関数でも)使用され、 「ワイルドカード」と呼ばれます。 「任意の文字」というよりも、「任意の文字列」といったほうが的確でしょう。 0文字以上(何文字でも)の全ての文字列を表します。 *ではなく?を使用することもあります。 これは「任意の1文字」を表します。 (例)A1にabc、B1にbc、C1にabbc と入力し、編集→検索で試してみましょう。 検索する文字列:*bc だと3つとも検索に引っかかる ?bc だとA1、C1が検索に引っかかる(B1はbcの前に文字が無いから) a*c だとA1、C1が引っかかる(aとcの間に何文字あってもOK) 長ったらしく書いてしまったので逆に分かりづらいかもしれませんね (;^_^A いろいろお試しになってみてください。 あっそうそう、こちらなどはいろいろお試しになる際に 参考になるかもしれません。 http://www2.odn.ne.jp/excel/waza/index.html

関連するQ&A

  • エクセル 入力規則

    エクセルでB列に郵便番号を入力できるよう、入力規則で日本語入力をオフにし、数字を入れたところB2は半角数字、B3は全角数字となってしまいます。何故でしょう? 入力規正の日本語入力オフにした以外は、何も設定したいないはずなんですが・・・ よろしくお願いします。

  • 半角の日本語入力

    タイトルの件は出来ないと思っていました。質問QNo.2424042で、この件の質問を見て、その回答に「データ→入力規則→設定→すべての値→日本語入力→オンで全角になります。同じくオフで半角入力になります。」とありました。 早速エクセル2003で試みましたが、日本語入力タブにオフはなく、オフ(英語モード)がありました。これを選んでOK。キーをたたくと 英語しか入りません。「あ」に切り替えて打ち込むと普通の全角日本語しか表示されません。エクセル2003で半角日本語は表示できるのでしょうか。

  • 常に半角数字にしたい!

    ローマ字入力の状態で数字を入力したときに、常に第一候補に半角数字が出るようにしたいのですが、どこの設定をどうすれば、そのようになるのでしょうか? ちなみに、IME2007のプロパティの「オートコレクト」タブの「全角/半角」という設定の「数字」という項目は「常に半角に変換」に変更してあります。ここの設定をこのように変更すれば、常に半角になるようになると思っていたのですが、どうやら違うようです。 どなたか、知っている方がいたら教えてください。

  • 常に半角で数字を入力する方法

    現在IMEにATOKを使っています。テンキーで全角入力時でも常に半角数字を入力する設定は項目が用意されてるので分かるのですが、キーボード上部の数字キーで全角入力時でも常に半角数字を入力する様に設定するにはどうすればいいのでしょうか?

  • Excel2010で入力規則の日本語入力が効かない

    OS・・・Windows XP IME・・・Baidu IME Excel2010について質問です。 会社のパソコンで、Excel2010を使って社員名簿を作成しています。 表の一行目に氏名・ローマ字表記・所属部署・社内メールアドレスなどの項目があり、項目の列ごとに氏名の列は「ひらがな」、ローマ字表記の列は「半角英数」などの入力規則を設定したいのですが、「データ⇒入力規則⇒日本語入力タブ」で日本語入力を変更しても、変更が効きません。 具体的には、「ひらがな(またはオン)」設定にした列から「半角英数字(またはオフ、無効)」に設定した列に移動した時は、IMEの入力モードが「あ」から「_A」へ変わるのですが、逆に「半角英数字」の列から「ひらがな」の列に移動した時は、入力モードが「_A」のままになってしまい、半角/全角キーでモードを変えないといけません。 BaiduIMEとMicrosoftの相性の問題でしょうか。MS IMEも入っているのですが、できればBaiduのほうを使いたいと思っています。 どうすればうまく設定できるでしょうか。 アドバイスをお願いします。

  • Excel:セルへの入力規則

    Excel2003です。 [データ]→[入力規則]→[設定]で入力値の種類を「ユーザー設定」にし、数式に「=LENB(E3)<=16」 さらに [データ]→[入力規則]→[日本語入力]でIME 日本語入力を半角カタカナに設定し、半角カタカナ という設定でE3セルを半角カタカナで16文字以内に制約させています。 しかし、この設定ですと確かに文字種は半角カタカナになりますが、文字種を変更することも出来てしまいます。 これを半角カタカナ以外は入力禁止にすることは出来ないのでしょうか?同時に半角カタカナ16文字以内、という制約付です。 よろしくお願いします。

  • エクセルの入力規則

    少々マニアックな質問で恐縮です。 エクセル(2003)でメニューバーのデータ → 入力規則 と進めて、日本語入力タブから言語バーの日本語入力のオン・オフをあらかじめ設定しておくことができますが、「オン」を選ぶのと「ひらがな」を選ぶのとではどこが違うのでしょうか? ご存知の方教えていただければ幸いです。宜しくお願いします。

  • 半角数字で入力しても、エラーになってしまいます。

    銀行口座の記号・口座番号を半角数字で何回入力し直しても、『口座番号を半角数字で正しく入力してください』とのメッセージが出てきてしまい、次のステップに進めません。 こういったケースは初めてで戸惑っております。 記号番号は、同じように入力してもエラーになりません。 私、自身も色々検索や、設定の見直しを行ったのですが、お手上げです。 どうか、ご助言宜しくお願い致します。

  • エクセル2010 入力規則 日本語入力タブがない。

    エクセル2010使用しています。 windows7です。 データタブの データの入力規則で 通常あるはずの"日本語入力" のタブが出てきません。 "設定","入力時メッセージ","エラーメッセージ"の 3つのタブしか出てきません。 日本語入力オフにしたいのですが、 どうしたらいいのでしょうか。 エクセルの故障でしょうか? 教えてください。

  • Wordで数字を入力する場合半角で入力するのですが、日本語と文字の位置

    Wordで数字を入力する場合半角で入力するのですが、日本語と文字の位置を揃えることが出来ません。 例えば「あいう」の次の行に「123456」と入力した場合この2行は同じ長さになると思っていたのですが、微妙に違うのですね。「123456」に書式ーフォントから文字間隔を「狭く」とすれば多少そろえることは出来ました。 しかし、日本語と半角英数字をそのまま入力しただけでは揃えることが出来ないのは何故でしょうか? よろしくお願い致します。