• ベストアンサー

エクセルで電話番号から市内局番だけを抜き出したいのですが

エクセルで、「○○-△△-××××」というようにハイフンで区切られた電話番号が入力されたセルに対し 市内局番だけ(または最後の番号だけ)を抜き出したいのですが、そういうことは可能でしょうか? よろしくお願いします。

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

  • ベストアンサー
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.6

No.4のarukamunです。 012-345-6789 0123-45-6789 012や0123を求めたいのであれば、 =LEFT(A1,FIND("-",A1)-1) 345や45を求めたいのであれば、 =MID(A1,FIND("-",A1)+1,FIND("-",A1,FIND("-",A1)+1)-FIND("-",A1)-1) 6789を求めたいのであれば、 =MID(A1,FIND("-",A1,FIND("-",A1)+1)+1,LEN(A1)) は正常に動作すると思います。 もしかすると、345-6789や45-6789を求めたいのでしょうか? =MID(A1,FIND("-",A1)+1,LEN(A1)) で良いですね。 取りあえず、上記の方法は、携帯電話等の長い電話番号でも問題ないと思います。もし、これ以外のものを求めたいのであれば、詳細にどこを求めたいのかを補足してください。

kumiemon
質問者

お礼

おおお!ありがとうございました~~~!!! うまくいきました!! こんなに早く解決できるとは思ってもいなかったです。 本当に感謝です! ありがとうございました!!

その他の回答 (5)

  • hpillow
  • ベストアンサー率0% (0/2)
回答No.5

A1 に 03-1234-1234 B1 に =MID(A1,SEARCH("-",A1,1)+1,24) を入力すると 1234-1234 と表示されます。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.4

こんにちは ワークシート関数だけで可能ですよ。 A1セルに電話番号があって、ハイフンが半角であれば、 =LEFT(A1,FIND("-",A1)-1) で良いですね。 最後の番号とは質問の×××× の所でしょうか。 であれば、 =MID(A1,FIND("-",A1,FIND("-",A1)+1)+1,LEN(A1)) とかで良いですね。 恐らく△△も求めたくなると思うので、 =MID(A1,FIND("-",A1)+1,FIND("-",A1,FIND("-",A1)+1)-FIND("-",A1)-1)

kumiemon
質問者

お礼

回答ありがとうございます!! 最後の番号(××××)は教えて頂いた方法で抽出できました! そしておっしゃる通り、△△の部分である市内局番(と市外局番)も抜き出したいのですが 012-345-6789 0123-45-6789 というように、全国の電話番号が混在しているため 上記の方法だと上手くいきませんでした。。。 何かよい方法はありますでしょうか? うまく説明できず申し訳ないです。 よろしくお願いします。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.3

最後の 4桁だけならば、 A1に入ってるとして =RIGHT(A1,4) とすれば、取得できます。

kumiemon
質問者

お礼

ありがとうございました!さっそく試してみます!

noname#4564
noname#4564
回答No.2

データの内容は無視し、単にハイフン「-」を区切り記号と見做して切り出すだけなら、InStr関数、Mid$関数を使用すれば容易です。 データの妥当性を検証するなら、対応辞書を作りマッチングする必要があります。(市販のパッケージアプリにありそうですが・・・)

  • teiou68k
  • ベストアンサー率28% (202/721)
回答No.1

VBAを使えば(少なくとも)可能。