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

出来ない無理なことかも知れませんが、少しでも楽になるヒントがあれば教えて下さい。

(1)別々に入力をされた氏名のリストがあります。
(2)別々の入力がされているので、別の字で登録されて いる。(旧字体と新字体)
 同じ字で登録している(つもり)のにかかわらず、 一致してくれない。
 旧字体と新字体が混ざっていることがある。
(3)一致する形に氏名リストを加工するに どうすれば 良いでしょうか?
 字が違うので一致をさせることは難しいと思います が、良い手をご存知の方いらっしゃいませんか?
(4)例)高と髙、崎と﨑、広と廣、礼と禮など。。。

助けて下さい。。。。。
 

A 回答 (5件)

#4です。



失礼しました、#1さん #2さんで既出でした。
    • good
    • 0

PHONETIC関数で氏名のふりがなの列をつくり、それを検索したらどうでしょうか。



ただし、氏名の入力の仕方(漢字変換の仕方)によって、

ミタライ   御手洗
オテアライ 御手洗

などのようなことがありそうなので、事前のチェックが必要になると思います。特に名は多そうな気が、データ数によっては大変かもしれません。

ふりがなが違っていたらPHONETIC関数に替えて、正しい読み方を入力すれば良いと思います。
    • good
    • 1

思いつくまま。

(崎、高の異字体が下記でOKWEBで崩れ・になりますがよろしく)
・Vlookupの表のエントリーを2重3重に持たせることは
現実的でないと思いますね。持たせれば解決します。
山・ 1
山崎 1
山嵜 1など
・文字コードは高と・は全然別ですしね。
・=MID(A1,1,FIND("・",A1)-1)&REPLACE(A1,1,FIND("・",A1),"高")で・-->高1字が置換えられます
が、候補文字が多くて対応できないですね。
・私は以前VBAで文字変換テーブルを配列に持たせ(勿論通常ありそうな高と・、崎と・、など数は限られたものになりますが。
プログラムで無いと(そうするとVLOOKUPは使わないかもしれない)出来ないと思います。
Sub test01()
c = Array("", "・", "高", "・", "崎")
For j = 1 To 2
s = Cells(j, 1)
For i = 1 To 4 Step 2
p = InStr(s, c(i))
If p <> 0 Then
s = Mid(s, 1, p - 1) & c(i + 1) & Mid(s, p + 1, Len(s) - p)
Cells(j, 3) = s
End If
Next i
Next j
End Sub
(テスト結果)
安藤・島屋大阪安藤高島屋大阪
京都山・本店京都山崎本店
    • good
    • 0

asataro714さん こんばんは



やはり、別の文字なので一致させる事は難しいとは思いますが……

とりあえず、例のような(高と・、崎と・)は
いっそのことどちらかの字体の文字を置換してしまうと
言うのはどうでしょうか?
でもこの方法は全ての文字に対して行わなければ
成らないので面倒ですね。

やはり#1さんが言われるようにPHONETIC関数などを使用してフリガナを表示させ、それで検索するほうが簡単なのでは回答にならなくてすいません。
    • good
    • 0

asataro714さん、こんばんは。



どうしても漢字で検索しなければならないのでしょうか。
フリガナやID番号などで検索させるわけにはいかないのですか?
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています