• ベストアンサー

"12345678"を"1-23-45678"にする関数ってありますか?

 "12345678"という8桁の文字列を、  決まった位置に"-"を入れて"1-23-45678"という文字列に変換するような関数って  あるんでしょうか???  自分で探してみたのですが、解決できなかったので。。。  ご存知の方いらっしゃったら教えてください。  お願いいたします。

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

  • ベストアンサー
  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.1

1桁+2桁+5桁と決まっているなら 元のセルをA1として =LEFT(A1,1)&"-"&MID(A1,2,2)&"-"&RIGHT(A1,5) でどうでしょうか。

Simba
質問者

お礼

めちゃくちゃ早いご回答、ありがとうございました!!! 早速使わせていただきました。 前から悩んでいたので、とっても感動です。 また教えてください☆

その他の回答 (4)

noname#9284
noname#9284
回答No.5

2番のお礼を読ませていただきました。Accessだったのですね。 ではデザインビューの「書式」に「0-000-0000」とするのではだめでしょうか。 データが数値型でもこの書式は反映されます。

Simba
質問者

お礼

とてもご丁寧に、ありがとうございます。 こちらの説明不足(アクセスだということを伝え忘れてたので…)だったのに。。。 今早速試してみて、できました☆ ご親切に教えてくださって、本当にありがとうございました!!!

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

[書式]→[セル]→[表示形式]でやるのであれば、 ユーザー定義で 0-00-00000 とか ?-??-????? とかで出来ると思います。

Simba
質問者

お礼

早速のご回答、ありがとうございました! 今回はアクセスでの処理だったので、次回使ってみたいと思います。助かりました★

noname#9284
noname#9284
回答No.3

=TEXT(A1,"0-000-0000") こんな感じで宜しいでしょうか。 何か不都合な事が出てきましたらまた書き込んでくださいますか?

Simba
質問者

お礼

早速のご回答、ありがとうございました! 一番簡単な式だったので使ってみたのですが アクセスでは使用できないみたいで。。。("未定義関数"というメッセージが出てきちゃいました) エクセルでは簡単にできたので、活用させていただきます★

noname#132211
noname#132211
回答No.2

エクセルでの作業でしょうか? エクセル上ならできますよ(^_^) 特に、今回のように決まった位置に挿入したい場合は簡単です。 A1=12345678 だとして、 B1に「1-23-45678」と表示するには、 B1=LEFT(A1,1)&"-"&MID(A1,2,3)&"-"&RIGHT(A1,4) 以上でどうでしょうか。

Simba
質問者

お礼

早速のご回答、ありがとうございました★ 今悩んでいたのはアクセスでの作業だったのですが、アクセスでも使えました! また悩んだら質問すると思うので、その際はお願いいたします。

関連するQ&A