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

現在作成している名簿の氏名表示が
「日本太郎」「東京ばなな」「北海道旭」のように
一つのセル内で名字と名前の間にスペースがなく
とても分かり難い表示になっています。
そこで、
「日本 太郎」「東京 ばなな」「北海道 旭」のように
名字と名前の間にスペースを入れたいのです。
何か良い方法がないかな、、、と考えていても
置換では出来ないし(?)、良い方法が浮かびません・・・。
どなたか計算式(関数)を教えてください、お願いします。
(エクセル2000です)

また、もし計算式(関数)ではなく、もっと簡単な方法があったら
是非教えていただきたいです。
膨大な量の修正なので、一つ一つスペースを入れていては
とても時間が掛かるので、困っています。。。

どなたか詳しい方、知恵を貸してください。
ちなみにエクセルの基本的な操作ならだいたいは理解しています。
どうぞ宜しくお願いいたします。

A 回答 (8件)

置換で山田太郎の山田を山田_(スペース)にしましょう。



そうすれば山田_太郎となります。

名前一つづつやれば、手間は掛かりますが確実ですよ。
    • good
    • 0

膨大なといってもエクセルなので縦に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位 小川

地道に人間がするのが一番です。
機械にあいまいさを判断させるのは危険です。
(それを踏まえた複雑なプログラムを作られればいいのですが)
    • good
    • 0

2文字めで分けるのであれば


=CONCATENATE(LEFT(A1,2)," ",RIGHT(A1,LEN(A1)-2))
のような式でどうでしょうか。
    • good
    • 1

くっつき姓名が A列 に入力されているなら



B列に 名字の字数入力(安藤なら2,佐々木なら3、小比類巻なら4、寿限無寿限無・・・・・なら)
C列に C2に下の式
=REPLACE(A2,IF(OR(B2="",B2=2),3,B2+1),0," ")

名字2文字が多いので、 2文字名字なら空白でも良し。
3文字以上の名字なら必ず 数字入力。

REPLACE関数で・・・・・・・くっつき姓名文字列の 「名字数に1を加算」番目に 全角スペースを挿入。

C列をコピーし 別列に 形式指定 「値」ペースト
    • good
    • 0

私もNo.1のご回答と同様の理由で、無理だと思います。


ただ、どうしてもスペースを入れる必要があるならば
「=LEFT(A1,2) & " " &RIGHT(A1,LEN(A1)-2)」
※セルA1に姓名が入っていると仮定

として強制的に「姓2文字+全角スペース+名前」と変換してしまって、そこから目視で間違っているもの(姓が1文字や3文字)を見つけて修正…とするしかないでしょうか。

すべてを手作業にするよりは時間短縮になると思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/08 20:01

あきらめてください・・・



スペースを削るなら簡単なんですがねぇ
名前も規則性が無いでしょうから難しいです
(ですから苦労されているんだと思います)

必ず、2文字目が名字とか決まっていれば
関数の組み合わせで行けるんですが・・・

どこが名字でどこが名前か機械的に判断できない情報は
どんなに手間が掛かっても人間の目と手でやるしか無いですよ

名字辞書データを作り区切りたい情報と照らし合わせて
スペースを入れるプログラムってのは作れそうですが
そんな辞書データが無いのが現実です。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/08 19:59

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/08 19:56

結論から言えば無理です。


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

この回答への補足

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

それだけでも出来たら随分楽になるので、
もしお分かりでしたら、是非教えていただきたいです。
どうぞよろしくお願いいたします。

補足日時:2006/08/03 14:33
    • good
    • 0

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