• ベストアンサー

エクセルやファイルメーカーで人名を漢字orカタカナ

以下のこと無理かと思いますが 万が一できる方法ありましたら教えていただけますか。 エクセルやファイルメーカーでデータベースを作ってます。 人名を漢字orカタカナで入力した場合、その人名の検索を漢字orカタカナのどちらか一方のみの入力で 両方の記載法から同一人物を抽出する方法あるでしょうか? 人名入力欄は1つで カタカナに統一すべきかどうか迷ってます。

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

  • ベストアンサー
回答No.3

仕事量の関係で……とのことですが。できるだけ、Excel データを「漢字で作製し、同時に振り仮名も整備しておく」ことをお勧めします。振り仮名の列の用意については、いつでも、漢字の隣の列などに PHONETIC 関数を記入して、漢字の列から参照することにより、隣の列に振り仮名を抜き出すことが可能です。ひらがな、カタカナの別は、参照元の振り仮名の設定に依存します。 =phonetic(a2) たくさんデータがあれば抽出する方法は後からいろいろ検討できますが、ないものはどうにもならないので。元データをしっかり作って充実させておくことが、後悔しないコツです。 Excel の「検索」(Ctrl+F)では、振り仮名に含まれる一部の仮名だけで検索することが可能です。また、上の PHONETIC の列を用意しておけば、オートフィルタで簡単に、振り仮名による絞り込みができます。 振り仮名を整備する作業がたいへんなら、ショートカットキーや、マクロを併用します。ただしそれらを使っても、読み方は様々なので、どうしても人の目によるチェックは必要です。 「カーソル位置を下のセルに移動させずに記入したセルの値を確定させる」には、Enter の代わりに、Ctrl+Enter と押します。「振り仮名の編集」のショートカットキーは、Alt+Shift+↑です。全て手作業で作製するなら、ショートカットキーも使いましょう。 Excel ではセルに文字列を適当に記入すると、振り仮名がぐちゃぐちゃになります。振り仮名の文字列が、幾つかの部分に細切れになったり、読みを誤ったりします。振り仮名は並べ替えの順序などにも影響するので、本当は大事なのですが。 上のショートカットキーで一回、振り仮名を表示して完全に削除し、再び同じショートカットキーを押すと、細切れでない振り仮名が生成します。マクロで設定しても、同様に連続したものになります。 マクロの場合。下のコードは、隣の列に全データの振り仮名を一気に書き出します。書き出し、人の目でチェック・修正後、戻して、書き出していた振り仮名は消す、という内容です。 私は 100% 表示・11P 文字で作製するとき、大体、シート全体の振り仮名の大きさを 8P に設定してから作業に取りかかります。小さ過ぎず大き過ぎず、それくらいが丁度いいバランスな感じがするので。 '選択している漢字データの右隣の列に振り仮名を書き出し Sub PhoneticsOut()   Dim c As Range   Selection.SetPhonetic   For Each c In Selection     c.Offset(0, 1).Value = WorksheetFunction.Phonetic(c)   Next c End Sub '選択している仮名データの左隣の列に振り仮名として設定し、仮名の列はクリア Sub PhoneticsIn()   Dim c As Range   For Each c In Selection     c.Offset(0, -1).Phonetics(1).Text = c.Value   Next c   Selection.ClearContents End Sub

ura235
質問者

お礼

詳しい説明ありがとうございます。

その他の回答 (2)

  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.2

無理ですね。 ・違う漢字で同じ読み 例) 「田中一郎」「田仲市朗」→どちらも「タナカイチロウ」 ・同じ漢字で違う読み 例) 「鈴木博美」→「スズキヒロミ」あるいは「スズキヒロヨシ」 名前にはどちらもあるのですから、漢字と読み仮名の両方が無ければ、同一名かどうか、判別できません。 (また最近では、ただの当て字のような読みや、漢字の英語のカナ読みをされるような例も出て来ていますし。) 本来ならば両方のフィールドを用意すべきですが、1つしか無いというなら仕方ありません、名前として 「タナカイチロウ田中一郎」 「タナカイチロウ田仲市朗」 「スズキヒロミ鈴木博美」 「スズキヒロヨシ鈴木博美」 このように、読み+漢字で1フィールドに入れていけば、氏名フィールドの一致だけで同一名かどうか判断できます。 ---- でもこの場合、データを使うときは、困りますよ。 検索するときも、読み+漢字を入れなければなりません。 まあ、読みがなのみで検索して、同音意字の人は全て出す、という妥協は出来ますが。 また、データを利用して「○○様」としたかったときに、「タナカイチロウ田中一郎様」となってしまうわけです。 まあこれも、「カナが切れるところで改行を入れる」という処理を入れられれば、 「タナカイチロウ 田中一郎様」 になって、なんとか見られなくもありませんが。 (一応それを考えて、漢字+読み ではなく 読み+漢字 としています) 後々でそのように使う可能性を考えて、データベースというのは、フィールドを分けているわけです。 見るだけで良ければそれこそ、1フィールドで 「タナカイチロウ田中一郎〒100-0001東京都千代田区……男25歳」 なんていう、1フィールドに何もかも詰め込んでしまうデータベースも考えられなくはありません。 ↑のデータベースから、性別だけ取り出そうとしたら、大変です。

ura235
質問者

お礼

ありがとうございます。 仕事量の関係で両方とも入力(or入力フィールドを増やす)は 抵抗があり カタカナ入力の方向で検討したいと思います。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

人名入力欄は漢字とカタカナの両方共入力(あるいはカタカナは漢字から半自動入力)するように統一すべきです。 なお、人名は同じ漢字でも読み方が異なったり(わたなべ、わたべ)、同じ読み方でも漢字が異なる(斉藤、斎藤)ものもあります。 同一人物を抽出するには、カタカナのみの入力で、まずは、フィルタ機能等で、類似の人物を複数探して、その他の情報から同一人物を限定するしかありませんので、やはり個人IDを定義しておくべきでしょう。 考え方としては、人名入力欄は漢字とカタカナの両方共入力(あるいはカタカナは漢字から半自動入力)するように統一すれば、検索でどちらでも検索できます。

ura235
質問者

お礼

ありがとうございます。 仕事量の関係で両方とも入力(or入力フィールドを増やす)は 抵抗があり カタカナ入力の方向で検討したいと思います。

関連するQ&A