• ベストアンサー

困っています!教えてください!!!名字と名前の間に「全角スペース」を入れる方法

現在作成している名簿の氏名表示が 「日本太郎」「東京ばなな」「北海道旭」のように 一つのセル内で名字と名前の間にスペースがなく とても分かり難い表示になっています。 そこで、 「日本 太郎」「東京 ばなな」「北海道 旭」のように 名字と名前の間にスペースを入れたいのです。 何か良い方法がないかな、、、と考えていても 置換では出来ないし(?)、良い方法が浮かびません・・・。 どなたか計算式(関数)を教えてください、お願いします。 (エクセル2000です) また、もし計算式(関数)ではなく、もっと簡単な方法があったら 是非教えていただきたいです。 膨大な量の修正なので、一つ一つスペースを入れていては とても時間が掛かるので、困っています。。。 どなたか詳しい方、知恵を貸してください。 ちなみにエクセルの基本的な操作ならだいたいは理解しています。 どうぞ宜しくお願いいたします。

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

  • ベストアンサー
  • akio_myau
  • ベストアンサー率34% (515/1480)
回答No.1

結論から言えば無理です。 名前の区切りは関数やマクロで判断のしようもないです。 必ず、3文字目や4文字目と決まっているのであればともかく。 無数にある苗字を判断して、何文字目で分けるかをすることは出来ません。

milk_milk_milk
質問者

補足

早々なご回答ありがとうございます。 そうですか、、、。 では、おっしゃる様に例えば セル内の左から3番目に「全角スペース」を挿入する、というコマンドでしたら、 どのような対処方法がありますでしょうか? (全てが名字2文字、名前2文字であった場合の事です。) それだけでも出来たら随分楽になるので、 もしお分かりでしたら、是非教えていただきたいです。 どうぞよろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (7)

回答No.8

置換で山田太郎の山田を山田_(スペース)にしましょう。 そうすれば山田_太郎となります。 名前一つづつやれば、手間は掛かりますが確実ですよ。

すると、全ての回答が全文表示されます。
  • X-trail_00
  • ベストアンサー率30% (438/1430)
回答No.7

膨大なといってもエクセルなので縦に65000行程度でしょう。 苗字のデータベースは、あるのですがそれを利用してマクロを組んで というのは厳しいでしょう。 ですので上から順に見つけた苗字を置換で苗字+全角スペースにしていく 日本人の名前ベスト100くらいまで変換すると大分へります (30%以上) 一応日本人の苗字は10万種類以上あるので 規則性を求めるのはほぼ不可能、場合によっては名前と混じるようになる人もいるでしょう。 森 香さんとかもいるでしょうし、 山本 森香さんもいるかもしれません。 一応30位まで書いてみました 1位 佐藤 2位 鈴木 3位 高橋 4位 田中 5位 渡辺 6位 伊藤 7位 山本 8位 中村 9位 小林 10位 加藤 11位 吉田 12位 山田 13位 佐々木 14位 斎藤 15位 山口 16位 松本 17位 井上 18位 木村 19位 林 20位 清水 21位 山崎 22位 池田 23位 阿部 24位 橋本 25位 山下 26位 森 27位 石川 28位 中島 29位 前田 30位 小川 地道に人間がするのが一番です。 機械にあいまいさを判断させるのは危険です。 (それを踏まえた複雑なプログラムを作られればいいのですが)

すると、全ての回答が全文表示されます。
  • akio_myau
  • ベストアンサー率34% (515/1480)
回答No.6

2文字めで分けるのであれば =CONCATENATE(LEFT(A1,2)," ",RIGHT(A1,LEN(A1)-2)) のような式でどうでしょうか。

すると、全ての回答が全文表示されます。
  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.5

くっつき姓名が A列 に入力されているなら B列に 名字の字数入力(安藤なら2,佐々木なら3、小比類巻なら4、寿限無寿限無・・・・・なら) C列に C2に下の式 =REPLACE(A2,IF(OR(B2="",B2=2),3,B2+1),0," ") 名字2文字が多いので、 2文字名字なら空白でも良し。 3文字以上の名字なら必ず 数字入力。 REPLACE関数で・・・・・・・くっつき姓名文字列の 「名字数に1を加算」番目に 全角スペースを挿入。 C列をコピーし 別列に 形式指定 「値」ペースト

すると、全ての回答が全文表示されます。
回答No.4

私もNo.1のご回答と同様の理由で、無理だと思います。 ただ、どうしてもスペースを入れる必要があるならば 「=LEFT(A1,2) & " " &RIGHT(A1,LEN(A1)-2)」 ※セルA1に姓名が入っていると仮定 として強制的に「姓2文字+全角スペース+名前」と変換してしまって、そこから目視で間違っているもの(姓が1文字や3文字)を見つけて修正…とするしかないでしょうか。 すべてを手作業にするよりは時間短縮になると思います。

milk_milk_milk
質問者

お礼

ご回答ありがとうございます。 お礼が遅れ申し訳ありません。 名字、名前「2文字ずつ」という事を書き忘れていました。 よって、教えていただいた式で解決しました。 かなり時間短縮出来ました。 どうもありがとうございました。

すると、全ての回答が全文表示されます。
  • ramoke
  • ベストアンサー率26% (206/767)
回答No.3

あきらめてください・・・ スペースを削るなら簡単なんですがねぇ 名前も規則性が無いでしょうから難しいです (ですから苦労されているんだと思います) 必ず、2文字目が名字とか決まっていれば 関数の組み合わせで行けるんですが・・・ どこが名字でどこが名前か機械的に判断できない情報は どんなに手間が掛かっても人間の目と手でやるしか無いですよ 名字辞書データを作り区切りたい情報と照らし合わせて スペースを入れるプログラムってのは作れそうですが そんな辞書データが無いのが現実です。

milk_milk_milk
質問者

お礼

ご回答ありがとうございます。 お礼が遅れましたが解決しました。 名字、名前「2文字ずつ」という事を書き忘れていました。 どうもありがとうございました。

すると、全ての回答が全文表示されます。
noname#22222
noname#22222
回答No.2

せいぜい可能なのはテキストファイルに出力しメモ帳で修正することだと思います。

milk_milk_milk
質問者

お礼

ご回答ありがとうございます。 テキストファイルに出力→メモ帳で編集とありますが、 編集方法はどのようにするのでしょうか? 解決しましたが気になります。 お時間ありますときに教えていただけませんか? よろしくお願いします。

すると、全ての回答が全文表示されます。