プロが教えるわが家の防犯対策術!

こんばんわ。
エクセル2007を使用中です。
データの中に・・・
A1:○○○40
A2:○○○○5
A3:○○1
*○は大文字の漢字または、カナです
それで、文字数制限としては全角で20文字までにして、その中で文字と数字の間にスペースを入れたいんです。
○の文字が先頭から何文字・・・と決まってないので困っています。
データ件数が7000件くらいあるので一つづつのスペースを入力していたら・・・想像したくないです(涙)
教えて下さい!
よろしくお願いします!!!

A 回答 (4件)

関数では#1のご回答が定石なんですが


なかなか思いつかない内容なので
下記も(判らずとも)丸呑みで(普通の関数の処理だって、プログラムがどうなっているか、みんな知らないで使っているので)
ツールーマクローVBE-挿入ー標準モジュールの画面に
下記を貼り付け
ーーーーーーーーーー
Function sp(a)
For i = 1 To Len(a)
b = Mid(a, i, 1)
If IsNumeric(b) And StrConv(b, vbWide) <> b Then
sp = Mid(a, 1, i - 1) & " " & Mid(a, i, Len(a) - i + 1)
Exit Function
End If
Next i
sp = a
End Function
ーーー
例データ
A列    B列
道路122道路 122
道路123道路123
関東自動車道124関東自動車道 124
関東自動車道123124関東自動車道123 124
商品番号234商品番号 234
B1セルには =sp(A1) と入れて下方向に式を複写する。
<了解事項>
スペースは1半角(全角にするならMid(a, 1, i - 1) & " "の””の中に全角スペースを入れるとよい)
現在の文字列の中にスペースはない
半角数字の後は数字以外とか全角文字は現れない。
    • good
    • 0

[回答番号:No.2この回答への補足]に対するコメント、



セルの文字数は20文字以上あるいは以下でも構いませんが、末尾の数字は“半角”文字で、かつ、その桁数は最大5桁を想定しています。
挿入されるスペースは半角です。全角スペースを入れたければ、" " を " " に置き換えてください。

{1,2,3,4,5,6,7,8,9,0} の部分は (1,2,3,4,5,6,7,8,9,0) ではありません。(括弧の種類が異なる!)

上のことを考慮しても上手く行かない場合は、貴方が作成した式をコピーして見せてください。その方が早いです。
    • good
    • 0

>文字数制限としては全角で20文字までにして、


>その中で文字と数字の間にスペースを入れたい

数字は半角ですか?

構成は
文字+数字
のみで
文字+数字+文字
といったようなことはないのですか。

文字数制限が全角で20文字の意味がよく理解できません。
もう少し詳しく説明していただけないでしょうか。

文字数を考慮せず、構成が、文字+数字で、数字が半角なら
=SUBSTITUTE(A14,RIGHT(A14,LEN(A14)*2-LENB(A14))," "&RIGHT(A14,LEN(A14)*2-LENB(A14)))
でいけると思います。

この回答への補足

説明ベタですみません・・・。
文字数制限といっても、セル内に入る文字数を20文字(全角)にしたいという意味です。
○の部分が全角または半角となっており、その後についている数字は半角で統一されています。
構成は、文字+数字です。
よろしくお願いします。

補足日時:2008/12/07 21:54
    • good
    • 0

=LEFT(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890))-1)&" "&MI

D(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890)),5)

この回答への補足

mike_gさんへ。
早速のお返事ありがとうございます。
たぶん、私のやり方がおかしいんだと思うんですが・・・
教えて頂いた様にしてみても変わりませんでした(涙)
セルの文字数は20文字でその中に入っている文字数と数字の間にスペースを入れる・・・ですよねぇ。
もう一回落ち着いてやってみます。。。

補足日時:2008/12/07 20:21
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!