Excel 式 - 姓が複数の部分から成る人の名前の分離式:

Excel 式 - 姓が複数の部分から成る人の名前の分離式:

20,000 人以上の名前のリストがあります。各人の名と姓はすべて 1 つの列「フルネーム」にあります。名と姓用に 2 つの列を作成する必要があります。

大多数の人にとっては、そうすることは簡単です。しかし、一部の人にとっては、それはかなり難しいことです。

私が扱っている名前の範囲の例をいくつか挙げます。1 つずつ調べていくと数週間かかります。

これに対処する方法についての提案があれば助かります。

元:

David Batte
Guy-Mael Jacobe de Naurois
Jean-Marc Lioutier
Thibaud Le Seguillon
Mrs. Manuela Junghaehnel
Hussain Mohammed Dipu Kabir

答え1

多様性が多すぎるため、これに対応できる単一の公式はありません。ただし、タスクを大幅に削減できるアプローチはあります。

特定の名前パターンを処理するための数式を作成できます。共通のパターンに当てはまる名前が多数ある場合は、時間の投資として有効です。パターンに当てはまる名前が 1 つまたは 2 つある場合は、それらの例を見つけて数式を作成する方が、手作業で解析するよりも時間がかかります。

実用的な解決策は、これを複数のパスで実行することです。ヘルパー列を使用します。ヘルパー列には、それぞれ 1 つのパターン式、または簡単に組み合わせることができるいくつかの式が含まれます。ヘルパー列の連続セットは、すでに解析された行を無視できます。完了したら、ヘルパー列を 1 つの結果列に連結できます。ヘルパー列には&解析された結果または空白が含まれるためです。

簡単なものは自動化します:

  • 単一のファーストネームとラストネーム(中央の単一の空白スペースに基づく)
  • ハイフンでつながれた名前(ハイフンでつながれた名前も 1 つの文字列なので、スペースで区切ることもできます)
  • 一般的な名前の接頭辞と接尾辞(le、de など。 のような形式のパターンを探します。_de_ここで、アンダースコアはスペースを表し、関連する名前とリンクします)
  • 敬称(Mr.、Ms.、Mrs.、Dr.、Sr.、Jr. など。これらを探して関連する名前にリンクするか、単に名前を見つけるために使用して敬称は無視してください)
  • 最初の名前だけを分割する場合は複数の名前(最初の空白を探します)

最初のラウンドの数式は、すべての行に伝播されます。結果を並べ替えて、すべての空白 (未解決) 行が一番上に表示されるようにするか、フィルターを使用してそれらの行のみを表示します。次の数式を、次のヘルパー列の未解決行に伝播します。後続の数式ごとに繰り返します。最も一般的なパターンから開始すると、リストは急速に縮小し、未解決の例が集約されて次のパターンのスキャンが簡単になります。

どのパターンの計算式も簡単です。包括的な計算式コレクションを作成することは回答の範囲を超えていますが、わからない特定のパターンについていつでも質問できます。また、サイトや Web 全体を検索すると、一般的なパターンをカバーする既存の回答が見つかります。

このプロセスにより、未解決の割合が徐々に小さくなります。それらをスキャンして、他の自動化されたラウンドで簡単に処理できる共通点を探します。最終的には、コーディングするよりも手動で行う方が速い単一ケースのパターンが残り、その数ははるかに管理しやすくなります。

分割する場所を指定できる数式や VBA ( 22 番目の空白を入力するなど) を使用したり、異なる区切り文字で分割する数式のコレクションを用意して数式を選択したりすることで、これらの処理を自動化することもできます。その後、数式によって名前が解析されます。

関連情報