Excelでは、同じ列に表示される名前、名前、名前を異なる方法で別々の列に分割するのは非常に簡単です。
すべての名前が1つの列にフルネームでリストされている連絡先リストを受け取ったとします。おそらく、名前、名前、名前を分けて、それらを別々の列に分割する必要があります。名前を区切るために使用できるいくつかの異なる方法があります–テキストから列への機能、フラッシュ塗りつぶし、および数式を使用します。
Excelでは、名前を1つの列から2つ以上の列に分割するのは非常に簡単です。この記事では、さまざまな方法を使用して、Excelで名前をさまざまな列に分割する方法を示します。
Excelで名前を分割する方法
Excelで名前を分割する簡単な方法は3つあります。データ構造と、分割名を静的にするか動的にするかに応じて、次のいずれかの方法を選択します。
- テキストから列への機能を使用した名前の分割
- 数式を使用して名前を区切る
- フラッシュフィルを使用して名前を区切る
テキストから列へのウィザードを使用した名前の区切り
テキストから列へのウィザードは、Excelで名前と名前を区別する最も一般的な方法の1つであり、ミドルネームも同様です。フルネームは別々の列に分割されるため、分割する名前の横に空の列があることを確認してください。
たとえば、以下のフルネームのデータセットがあり、名前と名前を分割/分離して、それらを別々のセルに保存するとします。
まず、分離するフルネームの列を強調表示します。次に、[データ]タブに移動し、[データツール]セクションの[テキストから列へ]オプションをクリックします。
テキストを列に変換ウィザードが開きます。ウィザードの最初のステップで、[区切り]オプションを選択し、[次へ]をクリックします。
テキストを列に変換ウィザードのステップ2/3で、データを区切る区切り文字を選択し、他のチェックマークをすべて削除して、[次へ]をクリックします。この場合、「スペース」で名前と名前が区切られるため、この区切り文字を選択します。
ウィンドウの下のデータプレビューセクションは、名前がどのように解析されるかを示しています。
ステップ3/3で、データ形式と宛先を選択し、[完了]をクリックします。
通常、デフォルトの「一般」はほとんどの種類のデータで問題なく機能します。 [宛先]フィールドで、出力を表示する場所を指定します。結果が必要な列の最初のセルのアドレスを指定する必要があります(この場合はB2)。
宛先セルを指定しない場合、ウィザードは元のデータを上書きするため、必ず空の列を選択してください。
[完了]ボタンをクリックすると、フルネームが2つの別々の列(名と姓)に即座に分割されます。
名、ミドルネーム、ラストネームがある場合は同じ手順に従います。名前は2列ではなく3列に分割されます。
ノート: このメソッドの結果は静的です。つまり、元の名前を変更した場合は、名前を分割するためにこれをもう一度やり直す必要があります。
カンマで区切られた名前の分割
名と姓がカンマで区切られている場合は、以下の手順に従ってカンマを削除し、姓と名を分割します。
次の例では、名前は逆の形式(Last Name、First Name)でフォーマットされており、姓の後にコンマが続き、次に名が続きます。
名前を選択し、[データ] –> [テキストから列]に移動します。手順1で、[区切り文字]を選択し、[次へ]をクリックします。手順2の[区切り文字]で、名前がカンマで区切られているため、区切り文字として[カンマ](、)をオンにします。
最後のステップで、データ形式を「一般」として選択し、宛先を指定して、「完了」をクリックします。
これで、別々の列に名前が表示されます。
数式を使用して名前を区切る
[列へのテキスト]ウィザードは、名前をすばやく簡単に区切ることができます。ただし、元の名前を編集し、名前を変更するたびに自動的に更新される動的なメソッドが必要な場合は、名前を数式で分割するのが正しい選択です。 LEFT、RIGHT、MID、LEN、およびSEARCHまたはFIND関数を使用して、名前を区切ることができます。
数式を使用してExcelで名前と名前を区切る
名を取得する
以下のデータセットがあり、名を別のセルに分割したいとします。名を取得するには、FIND関数とLEFT関数を1つの数式に組み合わせる必要があります。
次の式を使用して、名を取得します。
= LEFT(A2、FIND( ""、A2)-1)
この式は、FIND関数を使用して、姓と名の間のスペース文字( "")の位置を検索し、1を引いてスペース自体を除外します。次に、この番号がLEFT関数に提供されます。この関数は、この位置番号を使用して、その前のすべてのテキストを抽出します。 FIND関数の代わりにSEARCH関数を使用することもできます。
空のセル(B2)に数式を入力した後、塗りつぶしハンドルを他のセルにドラッグしてこの数式を適用すると、以下に示すように、すべての名が列Bに分割されます。
SEARCH関数とFIND関数をLEFT関数内にネストして、名を抽出することができます。 2つの関数の主な違いは、FINDでは大文字と小文字が区別されるのに対し、SEARCHでは大文字と小文字が区別されないことです。
名と姓の間にスペースの代わりにコンマ(、)がある場合は、FIND関数の最初の引数としてコンマを使用します。
= LEFT(A2、FIND( "、"、A2)-1)
姓を取得する
ここで、姓を抽出する必要がある場合は、RIGHT関数を使用します。次の式は、同じデータセットから姓を抽出します。
= RIGHT(A2、LEN(A2)-FIND( ""、A2))
数式は最初にスペース文字の位置を見つけ、文字列の全長(LEN関数によって返される)からその数値を減算し、次にこの数値をRIGHT関数に提供して、文字列の末尾からその数の文字を抽出します(名前)。
数式を使用してExcelで名前、ミドル、名前を区切る
ミドルネームを含む名前の分割には、使用している名前の形式に応じて、異なる式が必要です。
取得するには ファーストネーム ミドルネームまたはミドルネームのイニシャルがある場合は、すでに使い慣れているものと同じLEFTFIND式を使用します。
姓を取得する
上記のRIGHTFINDの式は、名前と名前が1つしかない場合にうまく機能します。元の名前にミドルネームまたはミドルネームのイニシャルが含まれている場合は、あまり役に立ちません。これは、名前に2つのスペース文字が含まれていないためです。
ミドルネームもあるときに名前を取得するには、次の式を使用します。
= RIGHT(A2、LEN(A2)-SEARCH( ""、A2、SEARCH( ""、A2,1)+1))
姓を抽出するには、最初にネストされたSEARCH関数を使用して2番目のスペース文字の位置を決定し、SEARCH( ""、A2,1)に1を追加して、次の文字から抽出を開始します。次に、文字列の全長から2番目のスペースの位置を減算し、結果の数値として姓の長さを取得します。次に、この結果の数値をRIGHT関数に渡して、文字列の末尾から文字数を抽出します。
ミドルネームを取得する
MID関数は3つの引数を使用します。最初の引数はテキストまたはセルのアドレスを指定し、2番目の引数は開始位置を指定し、最後の引数はその位置からミドルネームを抽出する文字数を示します。
構文:
= MID(text、start_num、num_chars)
ミドルネームを取得するには、次の数式を空白のセルに入力します。
= MID(A2、SEARCH( ""、A2)+ 1、SEARCH( ""、A2、SEARCH( ""、A2)+1)-SEARCH( ""、A2)-1)
この複雑な式がどのように機能するかを見てみましょう。
ミドルネームまたはミドルネームのイニシャルを抽出するには、フルネームでの両方のスペースの位置を決定する必要があります。最初のスペース文字の位置を見つけるには、これを入力します SEARCH( ""、A2)
「start_num」引数で関数を指定し、1を追加して、次の文字からの抽出を開始します。
次に、ミドルネームの長さを調べるには、これを入れます SEARCH( ""、A2、SEARCH( ""、A2)+1)-SEARCH( ""、A2)-1
「num_chars」引数の入れ子関数。2番目のスペースの位置から1番目のスペースの位置を減算し、結果から1を減算して、末尾のスペースを削除します。最終結果は、抽出する文字数を示します。
これで、ミドルネームの開始位置と数字を抽出するMID関数により、ミドルネームとフルネームが分離されます(A2)。
フラッシュフィルを使用したExcelでの個別の名前
フラッシュ塗りつぶしは、主に特定のパターンのデータを自動的に塗りつぶすために使用されます。名前を分割するためにも使用できます。 Excel 2013、2016、2019、および365でのみ使用できます。
以下のデータセットがあり、フルネームから名のみを取得したいとします。
元の名前に隣接するセルに、名を入力します。この場合、セルB2に「Steve」と入力します。
次に、列の2番目のセルに名の入力を開始します。入力中にExcelがパターンを検出すると、Flash Fillにより、他のセルの名のリストが自動的に(灰色で)表示されます。
名前のリストが灰色で表示され、それらの名前が正しい場合は、「Enter」キーを押すだけで、FlashFillが列の残りの部分を自動的に名で埋めます。
同じ手順に従って、姓を別の列に分割します。
結果:
フラッシュフィルは、そのデータ内のパターンを検出し、変更されたデータを提供しながらそのパターンに従うことで機能します。最初に、最初のセルに名を入力すると、FlashFillはパターンを認識しません。ただし、2番目のセルにもう一度名を入力し始めると、Flash Fillはパターンを認識し、名を分割するための提案を表示します。次に、「Enter」キーを押すだけです。
通常、フラッシュフィル機能はデフォルトで有効になっています。 Excelで機能しない場合は、最初のセルに名を入力した後、2番目のセルを選択し、[データ]タブの[データツール]グループから[フラッシュ塗りつぶし]ボタンをクリックするだけです。
または、「Ctrl」+「E」を押して同じ結果を取得することもできます。
これで、残りのセルに名が入力されます。
パターンの提案が灰色で表示されない場合があります。その場合は、塗りつぶしハンドルを使用してフラッシュ塗りつぶしの結果を取得できます。
まず、2つのセルに名前を手動で入力し、これらの両方のセルを選択します。次に、選択範囲の右下隅にカーソルを置きます。カーソルが小さな緑色の四角(フィラーアイコン)からプラスアイコンに変わることに気付くでしょう。
次に、そのプラスアイコンをダブルクリックします。これにより、残りのセルが埋められます。この時点では、結果は正しくありません。両方の名が何度も繰り返されていることがわかります。次に、結果のデータの右下隅に、以下に示すような小さな自動入力アイコンが表示されます。この「自動入力」アイコンをクリックして、「フラッシュ入力」を選択します。
これにより、すべてのセルに名が入力されます。
ミドルネームを削除する
フラッシュフィルツールを使用して、フルネームからミドルネームを削除することもできます。
たとえば、以下のデータセットがあり、ミドルネームまたはミドルネームのイニシャルを含まない姓と名のみを取得するとします。
ミドルネームまたはミドルネームのイニシャルのない名前を取得するには、隣接するセルに「LordStark」と手動で入力します。次に、隣接する2番目のセルに「DaenerysTargaryen」と入力します。入力中、Flash Fillはパターンを認識し、ミドルネームのない名前のリスト(灰色)を表示します。
提案が正しければ、「Enter」キーを押すと、FlashFillが残りのセルにミドルネームのない名前を自動的に入力します。
姓名なしでミドルネームのみを取得する場合は、最初の2つのセルにミドルネームを入力し、フラッシュ塗りつぶしツールを使用して、列内のすべてのフルネームからミドルネームを取得します。
このチュートリアルでは、テキストデータを操作しながら名前を区切る方法を示します。これらの方法は、住所、製品名、ブランド名などの他の形式のデータを操作する場合にも役立ちます。