[[20120820163245]] 『決まった文字数毎にカンマを挿入したい』(arata) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『決まった文字数毎にカンマを挿入したい』(arata)

初めて利用させて頂きます。どうぞ宜しくお願い致します。

1セル内に数字の羅列があります。(総数は決まっていません)
その数字の5文字ごとにカンマを挿入する方法などがありますでしょうか。
例)1010510102101031010410106を下のように変換したい
→10105,10102,10103,10104,10106

OSはWindowsXP,Excel2000になります。

よいアドバイなどありましたら是非、お願い致します。


 総数が決まってないってことは1000文字とかもあるの?

 あと、5で割り切れない文字数のときどうするの?

 (GobGob)

 参考。

 A1にデータ。

 A2 =IF(LEN(A$1)>ROW(A1)*5,REPLACE(A1,LEN(A$1)-5*ROW(A1)+1,,","),"")
 下へコピー。

 A列最後のデータを値活用。

 ※後ろから順番に5個づつカンマ挿入。

 (GobGob)

 遊びでユーザー関数を作りました。

 Function sp(tgt As String, leng As Long, delim As String)
 Dim v, i As Long
    For i = 1 To Len(tgt) Step leng
       v = v & Mid(tgt, i, leng) & delim
    Next i
    sp = Left(v, Len(v) - 1)
 End Function

 標準モジュールにコード貼り付け後、セルA1にデータ入力する場合、適当なセルへ
 =sp(A1,5,",")
 で、5文字区切りでカンマが付きます。何文字区切りにするかと、区切る文字は変更可能です。
(Jera)

GobGob様

 コメントありがとうございます。文字列は5で割り切れる数になります。
 なるほど、後からという発想はありませんでした。
 ご指導いただき、ありがとうございました。

(arata)


Jera様

 コメントありがとうございます。
 ユーザー関数まで作って頂き、ありがとうございました。
 こんな素人の質問に答えて頂き恐縮です。
 ありがたく使用させて頂きます。
 本当にありがとうござました。

(arata)


  >文字列は5で割り切れる数
 総文字数は最大いくら位でしょうか。
 質問にあるように1000文字もあるれば、データの確認も困難で、またそのデータをどう使うかもよくわかりません。

GobGob様

 コメントありがとうございます。

 総文字数は50〜60程です。
 素人の質問に何度もコメント頂き、恐縮です。
 データはカンマを入れて加工できればOKです。

 よろしくお願い致します。
(arata)

 =IF(LEN(A1)>0,MID(A1,1,5),"")&IF(LEN(A1)>5,","&MID(A1,6,5),"")&IF(LEN(A1)>10,","&MID(A1,11,5),"")&IF(LEN(A1)>15,","&MID(A1,16,5),"")&IF(LEN(A1)>20,","&MID(A1,21,5),"")&IF(LEN(A1)>25,","&MID(A1,26,5),"")&IF(LEN(A1)>30,","&MID(A1,31,5),"")&IF(LEN(A1)>35,","&MID(A1,36,5),"")&IF(LEN(A1)>40,","&MID(A1,41,5),"")&IF(LEN(A1)>45,","&MID(A1,46,5),"")&IF(LEN(A1)>50,","&MID(A1,51,5),"")&IF(LEN(A1)>55,","&MID(A1,56,5),"")&IF(LEN(A1)>60,","&MID(A1,61,5),"")

 名無しさんはオイラの回答ではないよ。
 ・・・ホント、名無しってのが回答者も質問者も混乱させてるのを理解してほしいよね。

 必ず5で割り切れるなら。

 A2 =SUBSTITUTE(TRIM(REPLACE(A1,ROW(A1)*5+ROW(A1),," "))," ",",")

 または

 A2 =IF(INT(LEN(A$1)/5)-1<ROW(A1),"",TRIM(REPLACE(A1,ROW(A1)*5+ROW(A1),,",")))

 A2を下へコピー。

 ※最後のデータを値使用。

 (GobGob)

GobGob様

別の方だったのですね。大変失礼致しました。

素人の質問に何度もお答え頂き、ありがとうございました。
ありがたく使用させて頂きます。

本当に、ありがとうございました。

(arata)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.