こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルの関数について

考えてもなかなか思いつかないので、、
教えてください。

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に変換するには
どのようなやり方がよいでしょうか・・?

よろしくお願いします。

投稿日時 - 2008-12-18 16:50:47

QNo.4565603

すぐに回答ほしいです

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

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

投稿日時 - 2008-12-18 17:07:51

補足

ありがとうございます!
CONCATENATE(LEFT(SUBSTITUTE(A1," ","0"),5),"000",RIGHT(SUBSTITUTE(A1," ","0"),5))
こちらはばっちりです!

逆の場合ですが、
LEFT(B1,3)&"△△"&RIGHT(B1,5)
これだと、ABCD000000123
のときに、ABC△△000123になってしまいます。
ABC部分が3桁のときや4桁のときがあるんですよ(涙)

何か他に案はありますでしょうか?

投稿日時 - 2008-12-18 17:14:21

お礼

失礼しました
少しアレンジして、
SUBSTITUTE(LEFT(A2,5),"0"," ")&RIGHT(A2,5)
これでいけました。

わかりやすくありがとうございました!

投稿日時 - 2008-12-18 17:21:47

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

No2です。

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

投稿日時 - 2008-12-18 17:13:12

ANo.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)
は違いますか?

投稿日時 - 2008-12-18 17:08:24

ANo.2

以下の方法では、
A2へデータが入っているとして、データは10桁で固定されている条件です。

=LEFT(A2,3)&TEXT((RIGHT(A2,7)*1),"0000000000")

桁数はゼロの数を調整してください。

投稿日時 - 2008-12-18 17:08:22

あなたにオススメの質問