• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:口座振替データのズレの合わせ方)

口座振替データのズレの解消方法とは?

このQ&Aのポイント
  • 口座振替データのズレを解消する方法について教えてください。
  • 会社でシステムの入れ替えを行っていますが、口座振替データのズレが生じています。
  • 現在、新しいシステムへのデータ変換を試みていますが、列にズレが生じてしまい受信できません。

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

  • ベストアンサー
  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.5

>>厳密には、エクセルでズレていない行もあれば~4列目に割り込んでいる行もありました。  もしこれが、Excelでそのように『表示』されている、というだけなら関係ないと思います。Excelはセル幅より長いデータの場合、隣のセルにはみ出して表示させますが、データ的には1つのセルの中に入っています。  ただ書かれている内容からすると、実際にデータとして4列目に入っているのだと思います。その場合には、不具合と関係あるでしょう。 >>3.2001+E**などと文字列で表示されます  Excelでは表示形式が標準のセルに、既定の桁以上の数を入力したとき、自動的に指数表示になる仕様です。  Excelで数値として扱える最大桁数は15桁だったと思いますので、32桁の数字は指数になります。  セルの書式設定を文字列にするか、「'」を先頭に付ける事で対処できます。  おそらく、割り込んでいる部分をカットした際に『桁数の多い数値』と自動で認識されるのだと思います。  もしかして、というレベルなのですが、新しいシステム側の仕様として、datファイルを作成する際に、それぞれの項目が一定以上の文字数だと次の項目にズラす仕様になっている可能性があります。  この想像が正しい場合、先の回答で挙げたCLEAN関数やTRIM関数では対処できないと思います。  その場合は、文字数や文字バイト数を確認するLEN関数やLENB関数でデータの文字数を確認、オーバーしている場合は文字列を操作するLEFT関数などで正しいデータに整形する、というような専用シートを作成する事で、関数のみで対処できます。 https://www.microsoft.com/ja-jp/biz/smb/column-excel-count-characters.aspx https://www.forguncy.com/blog/20170414_leftrightmid  またマクロで対処するとしても、非常に初歩的なレベルのモノで対応可能でしょうから、自学するのも充分可能だと思います。  ともあれ「具体的に何が起きてズレるのか」「どんな時にデータがズレるのか」という究明が出来れば、充分対応可能なものだと思います。頑張ってください。

florejirou
質問者

お礼

再度のご回答ありがとうございます。 文字列にしても他の行とは同じようにはなりませんでした。 確かにCLEAN関数やTRIM関数を試したのですが、上手くいかなかったので、教えていただいた別の関数で試したいと思います。 ありがとうございます。

その他の回答 (4)

  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.4

>>エクセルで開いたときは問題ないのですが、それを編集してdatにすると、画像の通りズレます。  面倒なパターンですね。そもそもなぜズレるのか? という理由から探す必要があります。  一番怪しいなと思うのは、新システムの制御用文字コード、というものが混在しているパターンです。  こうした物を削除する、CLEAN関数という関数を試してみて下さい。 https://supvalue.net/archives/2995  あともしかすると、TRIM関数も効果があるかもしれません。 https://azby.fmworld.net/usage/excel-function/007/

florejirou
質問者

お礼

遅くなり申し訳ありません。ご回答ありがとうございます。 Trim関数、Clean関数については試してみます。 厳密には、エクセルでズレていない行もあれば、例えば名義人名が長く(画像の左から3列目)、右の4列目に割り込んでいる行もありました。これは本件の不具合とは関係ありそうでしょうか。 割り込んでいる部分を3列目にカット&ペーストすると、4列目が、例えば3.2001+E**などと文字列で表示されます。ズレのない他の行では4列目では文字列で、0000000**********(32桁)などと表されているにも関わらず。 「'」を先頭に付せばズレのない他の行と同じようには表示はされますが、表示されるだけで実際には「'」が入ってしまっているので違うような気がします。

  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.3

>>エクセルやCSVに変換して 各銀行のデータにわけてから.datファイル  この手順が取れるなら、Excelで整形してdatに書き出すのが良いでしょう。関数でもやりようはあると思いますが、日常業務ならvbaでマクロ化するべきでしょうね。  実際にExcelで開いた時には、「空白セルが発生する」のか「データの先頭にスペースが入る」のか、あるいはそれ以外か、具体的には何が起きますか?

florejirou
質問者

お礼

ご回答ありがとうございます。 エクセルで開いたときは問題ないのですが、それを編集してdatにすると、画像の通りズレます。 マクロが使えればよいのですが、当方使えませんので、関数で考えておりました。関数ではどういった関数になるでしょうか。

florejirou
質問者

補足

先程の補足です。 >マクロが…当方使えません は、正しくはマクロが組めません、です。 よろしくお願いいたします。

  • qdk
  • ベストアンサー率59% (147/248)
回答No.2

恐らく、全銀フォーマットで振替データを作成する必要があるということですよね。 条件が色々と異なり、手動ですべてを解決するのは現実的ではないので、 下記のようなツールを使うのが一般的です。 https://www.chugoku.rokin.or.jp/news/325/ (ツールといっても中身はマクロです) 上記は中国ろうきんが公開してくれているツールです。 基本的には全国共通なので同じデータになるはずですが、 注意深く確認してから利用してください。

florejirou
質問者

お礼

ご回答ありがとうございます。 仰る通り、全銀フォーマットに係る話です。 ツールを教えていただいてありがとうございます。 早速試してみたいと思います。

  • hiro_1116
  • ベストアンサー率30% (2555/8267)
回答No.1

ズレの所に入っている(空白に見える文字の)文字コードを調べて、それを削除すれば良いのでは? 合計は別途付けなければなりませんが。 会社でこれからずっと使っていくシステムなのでしょうから、使いやすい仕様に改修することを考える方が良いようにも思いますが。

florejirou
質問者

お礼

ご回答ありがとうございます。 >ズレの所に入っている(空白に見える文字の)文字コードを調べて、それを削除すれば良いのでは? 文字コードを調べて、それを削除するというところから不明なので、それを調べるところから始めないといけません。また、運用開始したら毎月発生する作業なので自動で削除してくれるツールがあればよいと思っておりました。 〉…使いやすい仕様に改修すること… パッケージのシステムを導入したので改修は難しいです。

関連するQ&A