• 締切済み

EXCEL 郵便番号入力チェック

EXCELで 郵便番号を入力した時にチェックを掛けたいのですが、頭に”0”がある(北海道)の確認で来ません。 書式にて”郵便番号” 、 入力規則にて7文字 制限 にしていますが、 頭に”0”を入力すると入力規則に引っ掛り、エラーが表示されてしまいます。 入力規則に式  =7=LENB(TEXT(A1,"0000000")) を入れると、 頭に”0”を入れてもエラーが出なくなるのですが、 ”0”+7桁(計8桁)入力すると、”0”を除いた後ろの7桁になってしまいます。 01234567⇒123-4567 とか、001234567⇒123-4567 ”0”を含めた7桁入力チェックをする場合には、どうすれば良いかお教えください。 お手数をお掛け致しますが、よろしくお願いします。

みんなの回答

noname#191093
noname#191093
回答No.9

すみません、=TEXT(A1, "01234567")の回答に誤解がありました。

noname#191093
noname#191093
回答No.8

下記のフォーミュラで出来ますよ。 =TEXT(A1, "01234567") でENTER。  (A1, と"の間にスペース)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.7

>"01234567"(8桁)入力で目論見としてエラー表示の筈がエラーが表示されずに"123-4567"になってしまうことを回避したかったのです。 入力のセルと表示用セルを別にしないと実現できないようです。 例えばA1の表示形式を文字列として入力規則を7文字とすれば0を含む入力も無視されずにチェック対象になります。 しかし、A1セルに表示形式を2種類設定できませんのでB1セルに表示形式を郵便番号に設定すればB1へ次の関数式を入力して数値化することで対応できます。 =IF(A1="","",VALUE(A1))

Fred028548
質問者

お礼

度々、ありがとうございます。 ご教授いただた通りです。 セルの表示と入力規則を併存させるのは、無理なようです。 ただ、拘ってしまうようで申し訳ないのですが、1つのセルで入力・表示させたいので、VBで可能かもがいてみます。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.6

回答に誤解がありました。 >書式にて”郵便番号” 、 入力規則にて7文字 制限 にしていますが、頭に”0”を入力すると入力規則に引っ掛り、エラーが表示されてしまいます。 このエラーの原因を知りたいと云うことですよね? 書式の郵便番号はこのエラーには関係ありません。 入力規則の7文字に原因があります。 入力するデータは数値になりますので、先頭の"0"は桁数に含まれません。 従って、"0040021"と入力すると値は数値の40021になります。 データ入力規則で「文字列(長さ指定)」の「次の値に等しい」として「7」を指定すると先頭の"0"が削除されるのでエラーになります。(添付画像) 対策としては郵便番号の7桁を数値として扱わなければならないので「次の値の間」として最小値を「5」、最大値を「7」にしてください。

Fred028548
質問者

お礼

ご教授ありがとうございます。 質問の仕方が悪かったようです。 申し訳ありません。 郵便番号を数字7桁以外で入力(多くても少なくても)の場合にエラーメッセージを表示させたいのですが、先頭"0"や"00"の場合に"0"が文字数として計算されないため、"0123456”入力の場合には問題ないのですが、"01234567"(8桁)入力で目論見としてエラー表示の筈がエラーが表示されずに"123-4567"になってしまうことを回避したかったのです。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>2003と2007です。 Excel 2007でも回答No.2と同様なエラー無しの入力ができました。 Excel 2003は持ち合わせがないのでテストできません。 Office 2003/2007の修復またはアンインストールして再起動後に再インストールされると良いでしょう。

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

ん? #ちょこちょこっと簡単にできる方法があったら、最初からそー答えてますよ。 こういう「できないこと」のご質問に出来ませんと答えるとご質問者さんも逃げちゃうんで「出来ることで回答する」訳ですが,マジ聞きたいのでしたら >入力時に - ハイフン入力を避けたかったのですが、無理でしょうか? 「0が生きる入力」と「ハイフンの省略」を両立する方法は,原則としてありません。 あとはもう今回のご相談の枠を大きくはみだすのでフォローはしませんが,エクセルの一般機能でちょこっちょこっとやるのはあきらめて,ガンバって「マクロでゴリゴリやる」方法に移行してく格好になります。

Fred028548
質問者

お礼

ありがとうございました。 何となくそんな気がしていました。 マクロも少し試してみたのですが、初心者の私では。。。という所でした。

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

あぁ, >”0”を含めた7桁入力チェックをする そういう事が聞きたかったのでしたら,セルの書式設定を「文字列」にして7文字で制限します。 当然ですがその場合はXXX-XXXXの表示を書式でさせることはできませんから,実際には 012-3456 と記入させて「8文字」で制限を掛ける事になりますね。

Fred028548
質問者

補足

ありがとうございます。 可能な限り、入力時に - ハイフン入力を避けたかったのですが、無理でしょうか?

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>頭に”0”を入力すると入力規則に引っ掛り、エラーが表示されてしまいます。 Excelのバージョンを提示してください。 私はExcel 2010で入力しましたがエラーになりません。

Fred028548
質問者

補足

2003と2007です。

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

郵便番号の書式を活かすなら,入力規則は「整数」で「次の値の間」の10000から9999999までとかにしておきますか。 「最大(最小)の郵便番号の値」を調べてもいいですが,別にそこまでせずともってカンジで。 #参考 郵便番号書式は3桁の数字も入力も許容する設定ですが,「7桁制限」で考えているならXXX-XXXXありきということですね。 あるいは,文字列の書式設定にして「8文字規制」としておき, XXX-XXXX という書式で必ず記入するヤクソクにする運用もあります。

Fred028548
質問者

補足

01234567 と入力すると、エラーが出ず、123-4567 になってしまいました。

関連するQ&A

専門家に質問してみよう