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

銀行振込のデータで横に長い1行のデータを120桁ずつ分割して(一人分が120桁)エクセルで加工したいです。
サクラエディタで見るとこんな感じです。
120桁の内容は、左から銀行コード、銀行名、支店コード、支店名、口座番号、口座名義、金額、社員番号、部門コードのような構成となっています。
VBA以外で関数で出来る方法がありましたら教えてください。
社員数が9000名以上いて、1行すべてをエクセルのA1に貼ったら32760桁辺りで自動で改行されて次のA2以下にコピーされてしまったようなので、32760桁ずつの分割は手動で行おうかと思います。(それでも47行あるので結構な手間ですが頑張ります。。)

「エクセルで1行の長いデータを指定の桁数で」の質問画像

A 回答 (4件)

桁の意味が分からないのですが、添付のようにしたらだめなんですか?

「エクセルで1行の長いデータを指定の桁数で」の回答画像1
    • good
    • 0
この回答へのお礼

わざわざエクセルにしてくださりありがとうございました。
伝えるのが難しいのですが、全部でおそらく1,440,000桁ある1行の長い改行されていないデータを120桁目で区切って次の行へ改行したかったのでした。
別の方のコメントで無事解決しました。回答くださってありがとうございます!

お礼日時:2022/05/21 13:01

こんばんは



ご説明が要領を得ませんけれど、想像するところ・・・
元のデータは、テキストファイルということですよね?

 ・1行のデータの区切りは改行(はたはLFのみ)になっている
 ・各項目の区切りはタブ(あるいは空白)になっている
ような気がしますけれど・・?
あるいは、固定長データになっているのかも・・
(実際のところは不明ですが、調べればすぐにわかると思います)

>エクセルで加工したいです。
区切り文字の種類さえ明確にできれば、エクセルに読み込む際に指定すれば、そのまま各セルに分割して読み込めるのではないかと想像しますけれど・・??
    • good
    • 0
この回答へのお礼

説明が要領が悪くうまく伝わらなくてすみません。スクショはサクラエディタで折り返しただけなんです。別の方の回答で折り返し部分に改行を入れるという機能を利用したらうまく行きました。回答くださってありがとうございました!

お礼日時:2022/05/21 13:05

こんばんは


Excelの回答でないとまずいかな・・・

>A1に貼ったら32760桁辺りで 
1セルに273人分書き込まれると言う事かな・・・よくわかりませんが
Excelの行列方向のセルに分割されれば、目的達成ですか?
使い慣れない?Excelを使うより(サクラエィタが出てきたので)・・
サクラエディタで加工してはいかがでしょう(画像もExcelでないし)

改行コードが入っていないと言う事?
>120桁ずつ分割して
120文字と言う事かな?
たしか、サクラエディタで折り返しを設定して折り返し位置に改行も入れられたかと・・
更に(複数?スペースをタブなどに置き換え)加工してからExcelに貼り付けるのは如何でしょう
(スペースをタブなどは例です。実データに合わせて)

サクラエディタは、現在使っていないのとカテ違い?なので
<サクラエディタ正規表現で置換>
<サクラエディタ折り返し位置に改行を挿入>
などで調べてみてはいかがでしょう。

Excelで文字列操作の関数で出来ると思いますが、
周りに相談できる人は?データの内容からして大丈夫?
バックアップは常に取って加工してくださいね
    • good
    • 2
この回答へのお礼

ありがとうございます。サクラエディタで折り返し位置に改行を挿入できる発想がありませんでした。
感動です!

私が実践したのは次の通りで、こちらで期待通りの結果が一瞬で得られました。
①テキストデータをすべて選択(Ctrl+A)
②設定→折り返し方法を「右端で折り返す」
③右端が120桁目に来るように画面の大きさを調整
④編集→折り返し位置に改行をつけてコピー
⑤エクセルシートのA1へ貼る(Ctrl+V)

お礼日時:2022/05/21 11:55

Excelで行う場合は、以下の方法で出来ます。



分割前文字列を、「分割前」シートのA1セルに配置。
「分割前」とは別のシートで作成。

1行目
A1セル(カウント):1
B1セル(取得開始位置):=(A1-1)*120+1
C1セル(取得する関数):=MID(分割前!A$1,B1,120)

2行目
A2セル:=A1+1
B2セル:B1セルをコピーして貼り付け
C2セル:C1セルをコピーして貼り付け

3行目以降は、2行目をコピーして貼り付け

C列に、分割後の文字列が出来上がります。
    • good
    • 1
この回答へのお礼

ありがとうございます。やってみたらその通りになりました!

お礼日時:2022/05/21 11:46

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