- ベストアンサー
エクセルの関数について
考えてもなかなか思いつかないので、、 教えてください。 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に変換するには どのようなやり方がよいでしょうか・・? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
chelnyさん、こんにちは A1にデータがあるものとして.. CONCATENATE(LEFT(SUBSTITUTE(A1," ","0"),5),"000",RIGHT(SUBSTITUTE(A1," ","0"),5)) でよいでしょ? 逆(13桁→10桁)は、B1にデータがあるとして.. LEFT(B1,3)&"△△"&RIGHT(B1,5) ですかね。
その他の回答 (3)
- dejiji-
- ベストアンサー率38% (327/858)
No2です。 補足説明 "0000000000"は書式の設定ですから、例えば、0の替わりに記号や文字を入れればその通り出てきます。
- hallo-2007
- ベストアンサー率41% (888/2115)
う~ん 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)
以下の方法では、 A2へデータが入っているとして、データは10桁で固定されている条件です。 =LEFT(A2,3)&TEXT((RIGHT(A2,7)*1),"0000000000") 桁数はゼロの数を調整してください。
お礼
失礼しました 少しアレンジして、 SUBSTITUTE(LEFT(A2,5),"0"," ")&RIGHT(A2,5) これでいけました。 わかりやすくありがとうございました!
補足
ありがとうございます! CONCATENATE(LEFT(SUBSTITUTE(A1," ","0"),5),"000",RIGHT(SUBSTITUTE(A1," ","0"),5)) こちらはばっちりです! 逆の場合ですが、 LEFT(B1,3)&"△△"&RIGHT(B1,5) これだと、ABCD000000123 のときに、ABC△△000123になってしまいます。 ABC部分が3桁のときや4桁のときがあるんですよ(涙) 何か他に案はありますでしょうか?