• ベストアンサー

エクセル 電話番号表示についての書式・関数等

エクセルA列にドロップダウンリストを作成し、「0120」、「0570」、「0800」の 3つから選択するようにし、A列で「0120」、「0570」を選択した場合、B列にハイフン無しの6桁の数字(先頭が0になることも考慮)しか入力出来ないように規制を掛けたいです。また、「0800」を選択した場合には、B列に同じく7桁の数字しか入力出来ないように規制を掛けるには、どのようにしたら良いでしょうか? ご教授いただきたく、何卒よろしくお願いいたします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 以下の様に操作して、A列のセルとB列のセルに入力規則を設定して下さい。 A1セルを右クリック   ↓ 現れた選択肢の中にある[セルの書式設定]をクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[表示形式]タブをクリック   ↓ 現れた「分類」欄の中にある[ユーザー定義]をクリック   ↓ 現れた「種類」欄に 0000 と入力   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ Excelウィンドウの上の方にある[データ]タブをクリック   ↓ 現れた「データツール」グループの中にある[データの入力規則]ボタンをクリック   ↓ 現れた選択肢の中にある[データの入力規則]をクリック   ↓ 現れた「データの入力規則」ダイアログボックスの[設定]タブをクリック   ↓ 現れた「入力値の種類」欄をクリック   ↓ 現れた選択肢の中にある[リスト]をクリック   ↓ 現れた「元の値」欄に 0120,0570,0800 と入力   ↓ 「データの入力規則」ダイアログボックスの[OK]ボタンをクリック   ↓ B1セルを右クリック   ↓ 現れた選択肢の中にある[セルの書式設定]をクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[表示形式]タブをクリック   ↓ 現れた「分類」欄の中にある[文字列]をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「データツール」グループの中にある[データの入力規則]ボタンをクリック   ↓ 現れた選択肢の中にある[データの入力規則]をクリック   ↓ 現れた「データの入力規則」ダイアログボックスの[設定]タブをクリック   ↓ 現れた「入力値の種類」欄をクリック   ↓ 現れた選択肢の中にある[ユーザー設定]をクリック   ↓ 現れた「数式」欄に =AND($A1<>"",ISNUMBER(B1+0),LEN(B1)=6+($A1=800)) と入力   ↓ [空白を無視する]と記されている箇所をクリックしてチェックを外す   ↓ 「データの入力規則」ダイアログボックスの[OK]ボタンをクリック  以上です。

nao0208
質問者

お礼

kagakusuki さま ご連絡が遅くなってしまい申し訳ありません。 この度は、ご丁寧に操作方法を記載してしていただき、誠にありがとうございました。 エスセル初心者なので、記載してあるとおりに行いましたら、無事に出来ました。面倒なのにここまで丁寧に記載していただきましたことに頭が下がる思いです。感謝申し上げます。 日本人の優しさに心打たれました。 まだ、幾つか書式を作成しないといけませんので、投稿を見かけたらお力に なっていただけますと幸いです。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • rolly-ys
  • ベストアンサー率43% (25/57)
回答No.6

・A列B列共書式の表示形式を「文字列」に設定 ・A列は、0120 0570 0800 090 080 070 050 一般市外局番とする ・B1に、データ>データツール>データの入力規則▼>データの入力規則>設定において 入力値の種類=文字列(長さ指定) データ=次の値に等しい 長さ欄に次の式を入力→OK =IF(OR(A1="0120",A1="0570"),6,IF(A1="0800",7,IF(OR(A1="050",A1="070",A1="080",A1="090"),8,10-LEN(A1)))) 必要分を下へオートフィル

nao0208
質問者

お礼

rolly-ys さま ご連絡が遅くなってしまい申し訳ありません。 この度は、わたくしの質問に回答くださり、誠にありがとうございました。 エクセル初心者なので、何度か試してみましたが上手く行きませんでした。 私の設定等に問題があったかと思います。 初投稿で、不安がありましたが真面目に回答を考えて下さる皆様の心温かい 思いに頭が下がりました。 心よりお礼申し上げます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • msMike
  • ベストアンサー率20% (363/1781)
回答No.5

=IF(OR(VALUE(A1)=120,VALUE(A1)=570),AND(LOG(B1)>=4,LOG(B1)<6),IF(VALUE(A1)=800,AND(LOG(B1)>=5,LOG(B1)<7))) で不都合な点があれば、具体的に何かを教えてください。

nao0208
質問者

お礼

msMike さま ご連絡が遅くなってしまい申し訳ありません。 この度は、わたくしの質問に回答くださり、誠にありがとうございました。 エクセル初心者なので、何度か試してみましたが上手く行きませんでした。 私の設定等に問題があったかと思います。 初投稿で、不安がありましたが真面目に回答を考えて下さる皆様の心温かい 思いに頭が下がりました。 心よりお礼申し上げます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

>どのようにしたら良いでしょうか? 少々面倒な書式設定と入力規則になります。 A列は入力規則のリストで指定できますが書式設定で文字列とするかリストの一覧で'0120,'0570,'0800として強制的に文字列を入力させる必要があるでしょう。 1行目は項目名として2行目からデータを入力するものとすればB2からBnまで選択して B列は入力規則のユーザー定義で次の数式を指定し、セルの表示書式は文字列に指定すべきです。(数値の場合は先頭の0の扱いが不合理になる) =IF(OR(A2="0120",A2="0570"),LEN(B2)=6,IF(A2="0800",LEN(B2)=7,"")) 但し、A列の未入力に対しては何を入力してもエラーになりません。

nao0208
質問者

お礼

bunjii さま ご連絡が遅くなってしまい申し訳ありません。 この度は、わたくしの質問に回答くださり、誠にありがとうございました。 エクセル初心者なので、何度か試してみましたが上手く行きませんでした。 私の設定等に問題があったかと思います。 初投稿で、不安がありましたが真面目に回答を考えて下さる皆様の心温かい 思いに頭が下がりました。 心よりお礼申し上げます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

B2にデータ>データツール>データの入力規則で、 設定をユーザー設定にして数式欄に =IF(OR(A2="0120",A2="0570"),AND(B2>0,B2<=999999),IF(A2="0800",AND(B2>0,B2<9999999),FALSE)) と入力する。 先頭の0の場合の対処はセルの書式設定を、ユーザー定義で 000000 にしたうえで、 ホーム>スタイル>条件付き書式で 新しいルール>数式を使用して、書式設定するセルを決定で数式欄に =A2="0800" で書式の表示形式をユーザー定義で0000000にする。

nao0208
質問者

お礼

mshr1962 さま ご連絡が遅くなってしまい申し訳ありません。 この度は、わたくしの質問に回答くださり、誠にありがとうございました。 エクセル初心者なので、何度か試してみましたが上手く行きませんでした。 私の設定等に問題があったかと思います。 初投稿で、不安がありましたが真面目に回答を考えて下さる皆様の心温かい 思いに頭が下がりました。 心よりお礼申し上げます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • tonimii
  • ベストアンサー率30% (185/607)
回答No.1

書式か関数を使って、入力に制限を掛けることはできません。 基本的に、入力された値(または文字)に関して一定の条件で答えを表示するのが関数になります。 Aが100なら満点と表示する。Aが30点以下なら赤色で表記するなどです。 6桁以外の数字が特定のセルに入力されたときに「ハイフン無しの6桁で入力してください」と表示させる。とかなら簡単にできますが、それなら最初から指示文書を書いておけばいい話ですよね。 お力添えできずにすみません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル 書式設定・入力規則・関数等教えて下さい。

    先日は、わたくしの質問に回答を下さった皆さま、誠にありがとうございました。 日本人の優しさに感謝しております。 また、 エクセルで書式や関数等をご教授いただきたくお願いいたします。 全くの初心者でありますため、お恥ずかしい質問になりますが、どうかお助け下さい<(_ _)> 質問内容は、下記の2つです。 【質問内容です】 (1) B列にドロップダウンリストで「050」を強制的に選ばせるようにしました。   (選択肢は1つなので、わざわざと思われそうですが、05の後にハイフンを入れる   ような方もいらっしゃいますので・・・・)   セルの書式設定で050の後にハイフンが表示するようにしています。      ここから先がどうしたら良いのか分かりません。   C列に7桁の数字だけを入力してもらい、「5〇〇〇ー〇〇〇〇」としたいのです。   セルの書式設定のユーザ定義「5000"-"0000」とし、データの入力規則で「文字列(長さ   指定)」長さを「7」としてみたのですが、   初めに「0」(ゼロ)を入力するとエラーになってしまいます。   C列をセルの書式設定で「文字列」に設定してないからなのかな?と思いますが、強制的に   先頭に5を表示させたいのです。   関数は、さっぱり分かりません。   先日、回答をいただきながらも、私の知識が乏しいため、出来ないものもありましたため、   可能な限り簡素な方法をご教示いただきたく、お願いいたします。    (2) B列にIPアドレスを入力してもらうため、数字と.(ドット)以外入力出来ないように   入力規制をかけたいのです。   (IPアドレスの先頭に0「ゼロ」がある場合もあるのでしょうか?その辺のところも   加味していただけますと幸いです)   以上、2つの質問になりますが、何卒よろしくお願いいたします。   

  • 郵便番号 エクセル書式

    エクセルの書式を使って2つにわかれた郵便番号 をひとつ(3桁 ハイフン 4桁)にまとめたいのですが、どのような書式を組めばよいですか? お知恵をかしてください。 =CONCATENATE(A2,"-",B2)まではわかるのですが、 ハイフンの後の桁数を四桁にそろえる部分がわかりません。 A列         B列        D列 注文者郵便番号1 注文者郵便番号2  注文者郵便番号  152            2 152-0002

  • Excelの郵便番号表示関数について

    A1に郵便番号から住所を表示させて B1に式 =SUBSTITUTE(IF(NOT(ISERROR(PHONETIC(A1))),ASC(PHONETIC(A1)),""),"-","") で郵便番号半角ハイフンなしで入力の仕方を 教えていただいたのですが、 北海道で 北海道札幌市東区北9条東---0600909 北海道札幌市東区北7条東---0650007条東 と7桁のあとに文字が残ってしまうものが出てきました。 A列の7条東を七条東とすればB列に文字は表示されないのですが、 A列は全角数字で入力したいので、なにか良い方法はありませんか?

  • エクセルの条件セルコピーについて

    例えばa3のセルに「ひらがな」と入力されたらb3のセルのドロップダウンリストが『「あ」「か」「さ」「な」』の中から選択できるようにする、 もし、a3のセルに「カタカナ」と入力されたらb3のセルのドロップダウンリストの選択項目が『「ア」「カ」「サ」「ナ」』になる、 もし、a3のセルに「漢字」と入力されたらb3のセルのドロップダウンリストの選択項目が『「月」「土」「日」「火」』になって選べるようになる、 … という風にそのセルの値によって隣のドロップダウンリストの選択項目を変えたい場合はどうすればいいですか?

  • エクセルで入力規則のあるところに関数などはいれられますか

    カテゴリーよくわかりません。 バーコードで読み取ったものをA列に入力するとき データの入力規則・A列A1,A2,A3…はリスト1から選択 例) A列       リスト1 A1        012345 A2        012346 A3        012347            012348           012349 (ずれがなおりません)                  012350           リスト1の先頭は数字の0がついています。よって、セルの書式表示は文字列です。 リスト1の文字列は6文字ですが、 バーコードをバーコードリーダーなどで読みとりする場合 後ろのほうに必ず余計な数字1つか2つ付いてますよね。 それを読まないでA列に6文字だけ入力することはできないんでしょうか できればバーコードリーダーの設定は変えないで、関数の挿入とかで。 よろしくお願いします。

  • エクセル文字列の結合

    エクセルでA列に7桁B列に6桁が入力されているのをA列とB列を結合したいのですがB列の6桁がチェックデジットの前にハイフンが入力されています。そして6桁の数字にゼロが入っているとゼロが消えてしまいます。結合するいい方法はないでしょうか

  • excelでのドロップダウンリストを作りたい

    例えば下記のような表があって、そこの列に入る文字をドロップダウンリストから選びたいのです。 例)    りんご    みかん    なし 色々なホームページを見て「入力規制」というものをしてみたのですが、私が欲するものではありませんでした。 何故なら  (1)入力規制をしてしまうと新しい文字を入力することができない。→絶対に新しい文字を入力する為。 (2)なら余白部分までもセルを選択して入力規制をする。→見た目かっこ悪い。かっこよさを求めているため、余白や同じ文字をドロップダウンリストに入れたくない。 初心者の部類に入る私の質問に是非お答えください。 どうすれば、かっこいいドロップダウンリストができますか?

  • ドロップダウンリスト 条件付書式

    エクセル2000です。 ドロップダウンリストで5桁の数字(10000~39999)を選択する表が作成されています。 このドロップダウンリストの数字を参照して条件付書式を設定することができません。 ドロップダウンを消して直接数字を入力すれば条件どおりに書式が反映されるので条件は間違っていないと思います。 ちなみに条件は以下の通りです。 条件1  =AND(A1>9999,A1<20000)  パターン色 赤 条件2  =AND(A1>19999,A1<30000)  パターン色 緑 条件3  =AND(A1>29999,A1<40000) ドロップダウンでは条件付書式の設定ができないのでしょうか?

  • エクセルの書式設定?

    16桁の数字は文字列としてしか入力できない事は確認できましたが、それを4桁毎にハイフンで区切る事は可能でしょうか? 書式設定で設定できますか? 例) 1111222233334444 と入力 ⇒ 1111-2222-3333-4444 と表示 どなたかおわかりでしたら教えて下さい。 よろしくお願いします。

  • エクセルの数字の表示方法 再質問です

    昨日下記質問をして回答をいただきました A列の各行に、1桁から7桁の数字があります A1に 7桁の数字を入力した場合、B1からH1に各数字を右詰めで表示する方法を教えてください 回答 B1に=IF(LEN($A1)<=7,TRIM(MID(REPT(" ",7-LEN($A1))&$A1,COLUMN(A1),1)),"") を入力、右方向にコピー、B1:H1を選択して下方向にコピー 再質問 任意の列 Z列50行目に、7桁の数字があります (Z,50)に 7桁の数字を入力した場合、B1からH1に各数字を右詰めで表示する方法を教えてください よろしくお願い致します

このQ&Aのポイント
  • Windows10で使用しているTk Fbp 101キーボードのスペースキーが作動しなくなりました。さらに、漢字変換もできなくなってしまいました。パソコンの直接入力ではスペースキーは正常に作動しています。
  • Windows10 Tk Fbp 101キーボードを使っていて、スペースキーが効かなくなり漢字変換ができなくなりました。しかし、パソコンの直接入力ではスペースキーはちゃんと動作しています。
  • Tk Fbp 101キーボードをWindows10で使っていますが、スペースキーの動作ができなくなりました。また、漢字変換もできなくなってしまいましたが、パソコンの直接入力では問題ありません。
回答を見る

専門家に質問してみよう