• ベストアンサー

エクセルでこんな事出来ませんかね!!?(CSVファイルの事)

このたび家の会社にあるパソコンAの住所データをCSVファイルで出力させて、年賀状(筆王)ソフトで使おうと思いファイルを出力させた所、うちの会社のパソコンAの住所の名前のデータは名前と苗字に全てスペースを空けて入力されてました(以前データを入力した人が印刷の見栄え上スペースを空けたのでしょう) 例  名前 鈴 木 一 郎 というふうに、、、、。 そこでこの出力したデータを筆王で使おうと思ったところ、筆王のソフトではCSVファイルを筆王用のデータで変換して名前にスペースが空いていると、名前と名字が勝手に別々に判別されるらしく 名字 鈴 名前 木 一 郎 と認識されてました。そこで一つづつ手入力でスペースを消していくのは難なんで、CSVファイルの状態のときにエクセルの何かの機能を使って 鈴木 一郎 と直すのに何か良い方法はないでしょうか!?それか筆王のソフトに詳しい人で何か言い方法があれば教えてください。 説明が下手で申し訳ありません。

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

  • ベストアンサー
  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.2

全てのスペースを消すことは出来ますが名字の区切りと体裁の為の区切りか分からないので"名字 名前"の様に間にスペースを入れるのは不可能だと思います。 スペースを全部詰めるのでしたら、その列を選択して編集メニューより置換を選び、置換前をスペース、置換後に何も入力しないで全て置換ボタンで詰まります。 半角と全角を区別しなければ一回の作業で詰まりますのでその辺りは臨機応変に対処してください。

その他の回答 (4)

  • comv
  • ベストアンサー率52% (322/612)
回答No.5

こんばんは 手作業の例を1つ 名前の記載列をA列として ・A列を選択 編集 置換  検索文字列[スペース1文字]  置換文字列[無指定] 全てのスペースがなくなり以下の表のような状態に なったところで    A      B     C 1 鈴木一郎    式     補正値入力 2 佐藤肇    ↓ 3 斎藤修一郎  ↓ :  : B1に式  =IF(LEN(A1)=2,REPLACE(A1,2+C1,," "),REPLACE(A1,3+C1,," ")) 確立的に多い 苗字2文字を初期設定として補正はC列に 数値を入力(苗字数を少なくするならマイナス値) 全ての修正が終わったら ・B列をコピー ・編集 形式を選択して貼り付け 「値」 で定数に変換して A列とC列を削除

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

私も苗字と名前の間にスペースなしを1スペース空ける処理をせねばならない経験がありました。VBAで処理できるなら、CVSファイル上でも(1)一旦スペースをプログラムで取り除く (2)標準は2文字苗字が多いので、2と3文字目でスペース(全角)をいれる。(3)3文字苗字は目で見て拾い テーブルを持ち、プログラムで最初に先頭から3文字が一致しないか判別した。(大河内、小山田、小木曽など)(4)1文字、4文字(畑、秦、武者小路など)は少ないので、最後に目で表上で修正した。4文字はテーブル化は可能だが、1文字の「畑」などをテーブルに持つと、畑中、畑山なども拾うのでおかしくなる。 (5)最後には十分チェックが必要ですが、1000件を 越えるデータ量なら、プログラムを組めるなら、やって見る価値あると思う。プログラムコーディング例はお望みなら上げることは出来ます。

  • coco1
  • ベストアンサー率25% (323/1260)
回答No.3

CSV形式そのものは正しいんですよね?(氏名の列に会社名とか名前だけのデータがあるとか) 氏名列には氏名だけしかないという前提で話を進めます。 一括置換をつかって、いっそのこと全ての空白文字を消去します。 そして、データメニューにある「区切位置」ウィザードで苗字と名前を分割します。 多くの場合、苗字は2文字だと思いますので、これでとりあえず氏と名に分割して、あとから1文字とか3文字とかの苗字については手作業で修正するようにすれば、最小限の手間で済むと思いますよ。 もし、桐とかのデータベースソフトがあれば、IMEの苗字辞書をテキストに取り出して、テーブルに変換し、突き合わせ処理をすることで、ほぼ全自動で苗字と名前を分割することができます。 が、いずれにしても、他人様のお名前ですので、失礼がないように、最終的な点検は念を入れて行う必要はありますが。

回答No.1

少々面倒ですが、CSVファイルをExcelで開き、文字列操作関数を使用するか、置換を使用して、空白を排除、それから関数を含むセルをコピーし、形式を選択して貼り付けを行い、全て文字列に変換した後、CSV形式で保存すると、直ると思いますよ 空白で区切られて、別のセルに入ってしまっている場合は、同じ様に、文字列操作関数を使用して、文字列の結合を行う等、様々な方法が考えられますよ Excelの標準搭載機能で、充分出来ます

関連するQ&A