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