• ベストアンサー

エクセルの関数について

考えてもなかなか思いつかないので、、 教えてください。 ABC△△00012(もしくはABCD△00011) のような形のデータを ABC00+000+00012(プラスは入りません。わかりやすいように 追記しているだけです) つまりスペースを0に変換して真ん中に3桁の000を入れて 合計13桁に変換したいと思います。 関数として、 SUBSTITUTE(A1," ","0") #データがA1にあるものとして・・・ これでABC0000012に変換し、 CONCATENATE(LEFT(R[-6]C,5),"000",RIGHT(R[-6]C,5)) これでABC0000000012の13桁に変換できますが、 この2つの関数をつなげて一つにしたいのですが、 うまくいきません・・・。 どのようにしたらよいのでしょうか? また、逆に、 ABC0000000012の13桁をABC△△00012に変換するには どのようなやり方がよいでしょうか・・? よろしくお願いします。

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

  • ベストアンサー
  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.1

chelnyさん、こんにちは A1にデータがあるものとして.. CONCATENATE(LEFT(SUBSTITUTE(A1," ","0"),5),"000",RIGHT(SUBSTITUTE(A1," ","0"),5)) でよいでしょ? 逆(13桁→10桁)は、B1にデータがあるとして.. LEFT(B1,3)&"△△"&RIGHT(B1,5) ですかね。

chelny
質問者

お礼

失礼しました 少しアレンジして、 SUBSTITUTE(LEFT(A2,5),"0"," ")&RIGHT(A2,5) これでいけました。 わかりやすくありがとうございました!

chelny
質問者

補足

ありがとうございます! CONCATENATE(LEFT(SUBSTITUTE(A1," ","0"),5),"000",RIGHT(SUBSTITUTE(A1," ","0"),5)) こちらはばっちりです! 逆の場合ですが、 LEFT(B1,3)&"△△"&RIGHT(B1,5) これだと、ABCD000000123 のときに、ABC△△000123になってしまいます。 ABC部分が3桁のときや4桁のときがあるんですよ(涙) 何か他に案はありますでしょうか?

その他の回答 (3)

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.4

No2です。 補足説明 "0000000000"は書式の設定ですから、例えば、0の替わりに記号や文字を入れればその通り出てきます。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

う~ん A1に ABC△△00012 B1に =LEFT(SUBSTITUTE(A1," ","0"),5)&"000"&RIGHT(SUBSTITUTE(A1," ","0"),5) C1に =SUBSTITUTE(LEFT(B1,5),"0"," ")&RIGHT(B1,5) は違いますか?

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.2

以下の方法では、 A2へデータが入っているとして、データは10桁で固定されている条件です。 =LEFT(A2,3)&TEXT((RIGHT(A2,7)*1),"0000000000") 桁数はゼロの数を調整してください。