ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュの【質問】顧客データ管理について。

  • mixiチェック
  • このエントリーをはてなブックマークに追加
お客様の電話番号のデータ管理についてなのですが、
ex:12-3456-7890の電話番号を
123-456-7890に変換したいのですが、

現在は区切り位置で
12と -と 3と 456と 7890と
一度分解してから
&で123-456-7890とくっつけてます。

顧客データも増えていきますので、作業効率化の為に
もっと簡単に区切りを移動させる方法はございませんでしょうか?

よろしくお願い致します。

コメント(33)

・電話番号データは必ず全て半角
・数字の部分は必ず10桁。(7桁とか、8桁とかは絶対にない)
・左から2番目と3番目、6番目と7番目の数字の間に必ず「-」が入っている。
・変換後は、左から3番目と4番目、6番目と7番目に必ず「-」が入るようにしたい。

という事でよろしいでしょうか。
基本的にはそれで間違いはないです。

ごく稀に全角データが入っていたりする場合もありますが、
イレギュラーでそれは手入力してます。
>kushimaさん
ありがとうございます。
SUBSTITUTEっていうのは文字配列の置換などに使うのですね。

これは全角とかでも対応できるのですか?
それと式の意味を理解したいのですが、
教えていただけますか?

よろしくお願い致します。

ヘルプもみましょう。ネット検索もしましょう。

=REPLACE(A1,3,2,MID(A1,4,1)&MID(A1,3,1))
こんな感じではどうでしょう。
値で必要ならコピー&値貼り付けしてください。
単純に左から3桁目と4ケタ目を入れ替える方法です。
文字列全体の桁数が12桁でなかった場合も影響ありません。

=ASC(REPLACE(A1,3,2,MID(A1,4,1)&MID(A1,3,1)))
とすると全角でも、全角交じりでも大丈夫です。
・文字を入れ替える方法
・途中のハイフンを避け、途中にハイフンを入れる方法
・途中のハイフンを削除し、途中にハイフンを入れる方法

下記数式全て同じ結果が出ます。(今回の問題の場合)
=ASC(REPLACE(A1,3,2,MID(A1,4,1)&"-"))
=ASC(REPLACE(A1,3,2,MID(A1,4,1)&MID(A1,3,1)))
=ASC(LEFT(A1,2)&MID(A1,4,1)&"-"&RIGHT(A1,8))
=ASC(SUBSTITUTE(LEFT(A1,4),"-","")&"-"&RIGHT(A1,8))
そんなに変わらないけど、これもOK
=ASC(LEFT(A1,2)&MID(A1,4,1)&"-"&MID(A1,5,9))
=ASC(SUBSTITUTE(LEFT(A1,4),"-","")&"-"&MID(A1,5,9))
>takecさん、kushimaさん
お二人ともありがとうございます!

いろいろNET見たりしたのですが、
数式の並べ方、法則性がまだよくわかっていないので、
理論式もなかなか上手く組めない状態です。
エクセルは本当に簡単な計算しか使っていませんでした。
まだまだ奥が深いですね。もっと勉強します。

1234-56-7890というのを123-456-7890にしたい時は、
A1,3,2,⇒A1,5,4,
4と-を入れ替えて、以下のMID関数がまだ飲み込めないのですが、
MID(A1,4,1)&MID(A1,3,1)はどう変えればいいのでしょうか?

よろしくお願いします。
> 1234-56-7890というのを123-456-7890にしたい時

こんな数字も入っているんですか?
最初と話が違いますが。。^^;

それと、「−」らしき文字には、
半角→ハイフン(=マイナス)
全角→長音、マイナス、ダッシュ、ハイフン
だけ有りますが、いったどの文字が使われているのですか?
>hofさん
基本は最初に書いた12-3456-7890が基本です。
1234-56-7890はイレギュラーです。
今までイレギュラーはほとんど手入力でした。
自分なりに考えてみてイレギュラーの際の式も作ってみましたが、
空白になったり、配列がバラけたりしてしまいます。
-は半角→ハイフン(=マイナス) ですね。
上から落ちてくるデータですので、正直半角→ハイフン(=マイナス) だけではなく。
長音とかもたまにあったりします。
よっさん

それならば、一度、
substitute関数を駆使して、全ての文字から「−」(らしき)文字を削除し、
つぎにasc関数で数字を半角に。
それから、左から3番目と4番目、6番目と7番目に-を入れるように関数を組む

という3段階の手順が良いと思います。
>マリ男さん
ありがとうございます。
全角も上記内容もどっちもできました。ありがとうございます。
自分でも理解できるようにまたいろいろ調べてみます!
結局、場合分けが多くて、色々な手順を踏むのなら
よっさんさんが >0 元々作業されているやり方もそれほど手間でも
ないような気もしますが…
>hofさん
それは一つの式でって事ですか?

>マリ男さん
- も− も全角、半角両方いけました。
ー長音の場合はー-みたいになってましたけど、
問題ないとなく使えると思います。
>takecさん
その場合は同じとこまでは区切りでいけますが、
いったんまた途中で違う区切りを使ったりと何度か手間もあるので、
今回ご相談させて頂きました。
100件、200件ぐらいでしたらぜんぜん問題はないのですが、
?万件などになった際にかなりの時間を要してしまいます・・・(一度経験済です)
あまりなれていない段階で複雑な処理をするときには、
その過程を幾つかの関数に分けて処理していましたねぇ。。

たとえば、A列に基のデータなら、B列には半角に直したもの、C列に-を除いたもの
とか。

なぜかと言われると「なんとなく」そういう風にしたかったからです。

いまではなれたのでやりませんけどね。
>hofさん
今がそんな感じですね(笑)
全部一回分解してからって。
正直先の事を考えるとかなり効率悪いですよね・・・
> 正直先の事を考えるとかなり効率悪いですよね・・・

いや、今回ので慣れると、次回からは一気にやっても大丈夫ですよ^^
しかも、関数のコピー&ペーストなんて列全体にやるにしろ全部で3秒くらいじゃないですか^^
>22
>違う区切りを使ったりと
これは関数で処理するにも同じことかと思いますよ…
出来上がった結果の文字列で、区切り文字が落ちてきたデータの
ままの"-"以外でもよいのですか?
それも整えるのがあるべき形ですよねきっと。
>hofさん
あ〜なるほど。
一回式を作ってしまえばあとは当てはめるだけですもんね!
複雑な関数ではなくて、個別のを何個か利用するということですね!
ありがとうございます。

>takecさん
"-"はデータ以外のもので問題ないです!
一度整列させて、から別のファイルにインポートしているので!
>たつや.comさん
色々数式を教えていただいて、ありがとうございます。
その式は"-"が長音、全角、半角でも行けますね。
すいません、間違えたので、訂正します。

=ASC(LEFT(A1,2)&IF(ISERR(MID(A1,3,1)*0=0),MID(A1,4,1)&"-"&MID(A1,5,3),IF(ISERR(MID(A1,5,1)*0=0),MID(A1,3,1)&"-"&MID(A1,4,1)&MID(A1,6,2),MID(A1,3,1)&"-"&MID(A1,5,3)))&"-"&MID(A1,9,9))
すごく根本的な疑問なんですが、

ハイフンって、無くちゃダメ??

顧客のデータ管理なら外部に見せるわけでもないだろうし、
そんなに苦労してまで入れにゃならんものなのかな、と思ってしまいます。

市外局番や局番の桁数って一定じゃないし、仮に一定なら、
例えば0123456789を012-345-6789とかにするだけなら、
[表示形式]でもできるし。
(ex.000"-"000"-"0000)
返事がおそくなって申し訳ないです。

>たつや.comさん
ありがとうございます!
式もまったく問題ないかったです。

>俄丸。/丁忍/ぺっちんさん
ありがとうございます。
管理もあるんですけど、
データの中からお客さんに電話する事も多々あるので、ハイフンを入れてます。
仰るように市外局番の区切りが違うとこもたくさんあるんですけど、
関係なしに123-456-7890と3-3-4桁で区切ってます。
表示形式ですね!一度やってみます!

ログインすると、残り10件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。