名前のデータセットを操作する場合、それを並べ替えることは、頻繁に実行する必要がある一般的なタスクのXNUMXつです。
データをフルネームでアルファベット順に並べ替えるのは簡単です。Excelでは名前の最初の文字を使用して並べ替えます。
ただし、Excelで名前でデータを並べ替える乗る並べ替え実行する方法?
それほど単純ではありませんが、それでも実行できます(名前データの構造にも大きく依存します)。
どちらの方法を使用する場合でも、フルネームから名前を抽出して別の列に配置する必要があります。次に、この列を使用して、データを姓のアルファベット順に並べ替えることができます。
このExcelチュートリアルでは、名前が姓に基づいて列を並べ替える方法を説明します。
それでは始めましょう!
内容
検索と置換を使用して、名前で抽出して並べ替えます
姓で並べ替える最初の手順は、別の列で名前を取得することです。
これを行うには、名前の前のすべてを空白に置き換えると、名前だけが残ります。
次のようなデータセットがあり、そのデータを名前のアルファベット順に並べ替えるとします。
姓で並べ替える手順は次のとおりです。
- タイトルを含むデータセットを選択します(この場合はA1:A10になります)
- 隣接する列にコピーします(隣接する列が空でない場合は、新しい列を挿入してから、名前をコピーします)
- コピーした列ヘッダーの名前を変更します。この例では、「LastName」という名前を付けます。
- コピーした名前をすべて選択します(タイトルは選択しないでください)
- Controlキーを押しながら、Hキーを押します。これにより、[検索と置換]ダイアログが開きます。
- 「検索対象」フィールドに、*(アスタリスクの後にスペース文字が続く)を入力します。
- [置換]フィールドを空白のままにします
- [すべて置換]をクリックします。これにより、すべての名が一度に置き換えられ、名前だけが残ります。
上記の手順では、姓を保持し、その前のすべてを削除します。これは、Mr。やMsなどのミドルネームまたはプレフィックスがある場合でも機能します。
隣接する列に名前を付けると、データセット(フルネームを含む)を名前のアルファベット順に簡単に並べ替えることができます。
姓で並べ替える手順は次のとおりです。
- タイトル(フルネームと抽出されたラストネームを含む)を含むデータセット全体を選択します。他の列を含めて、名前で並べ替えることもできます
- [データ]タブをクリックします
- クリックして並べ替え
- [並べ替え]ダイアログで、[マイデータにヘッダーがある]がオンになっていることを確認します。
- [並べ替え]オプションで、姓のみの列の名前を選択します
- [並べ替え]で、[セル値]を選択します
- [注文]オプションで、[AからZ]を選択します
- [OK]をクリックします
上記の手順では、選択したデータセット全体が名前に基づいて並べ替えられます。
完了したら、姓の列を削除できます。
プロのヒント:元のデータに戻る必要があると思われる場合はいつでも、そのデータセットの並べ替えを解除する方法が必要です。このため、隣接する列(左または右)には、ソート前のシーケンス番号があります。これで、元のデータを取得する必要がある場合は、数値に基づいて並べ替えることで取得できます。
数式を使用して、名前を抽出してアルファベット順に並べ替えます
上記の方法(検索と置換を使用)は、すべての名前を取得してそれに基づいて並べ替える方法ですが、その制限のXNUMXつは、結果のデータが静的であるということです。
つまり、リストにファーストネームを追加した場合、ラストネームを取得するには同じプロセスを再度実行する必要があります。
これが希望どおりでない場合は、数式メソッドを使用してデータを姓で並べ替えることができます。
以下に示すデータセットがあるとします。
フルネームからラストネームを抽出する式は次のとおりです。
= RIGHT(A2、LEN(A2)-FIND( ""、A2))
上記の式は、フルネームのパターンに依存しています(この例では、ファーストネームとラストネームのみ)。パターンは、姓と名の間にスペース文字があるというものです。
FIND関数は、スペース文字の位置を取得するために使用されます。次に、この値を名の全長から減算して、名の合計文字数を取得します。
次に、RIGHT関数でその値を使用して、姓を取得します。
姓の列ができたら、このデータを並べ替えることができます(これについては最初の方法で詳しく説明します)。
上記の式は、名前と名前しかない場合に機能します。
しかし、ミドルネームもある場合はどうでしょうか。または、名前の前に敬礼がある場合があります(例:Mr。またはMs.)
この場合、次の式を使用する必要があります。
=RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))
上記の式は、最後のスペース文字の位置を見つけ、それを使用して最後の名前を抽出します。
すべての場合にXNUMX番目の式を使用することをお勧めします。これはより単純で、すべての場合を処理します(姓が名の末尾にある限り)。
注:これらのXNUMXつの式は、各名前要素の間にスペース文字がXNUMXつしかないという条件に依存しています。この式では、ダブルスペースまたは先頭/末尾のスペースがある場合に誤った結果が得られます。この場合、TRIM関数を使用して、先頭、末尾、および二重のスペースを最初に削除してから、上記の式を使用するのが最適です。
これは複雑なアプローチのように見えるかもしれませんが、数式を使用する利点は、結果が動的になることです。リストにさらに名前を追加する場合は、数式をコピーするだけで、名前が表示されます。
列にテキストを使用
テキストから列への変換は、Excelでセルを分割するもうXNUMXつの簡単な方法です。
区切り文字(コンマやスペースなど)を指定し、それを使用してセルの内容を分割できます。要素を別々の列に分割した後、姓の列を使用してデータをアルファベット順に並べ替えることができます。
次のようなデータセットがあるとします。
Text toColumnを使用して姓で並べ替える手順は次のとおりです。
- 名前のある列を選択します(ヘッダーを除く)
- [データ]タブをクリックします
- [データツール]グループで、[テキストから列へ]オプションをクリックします。これにより、テキストから列へのウィザードが開きます
- テキストを列に変換ウィザードのステップ1で、[区切り]を選択し、[次へ]をクリックします
- 手順2で、区切り文字として[スペース]を選択し(チェックされている場合は他のチェックを外します)、[次へ]ボタンをクリックします。
- 手順3で、データプレビューで名の列を選択し、[列をインポートしない(スキップ)]オプションを選択します。これにより、名が結果の一部ではなく、姓のみが取得されます。
- また、手順3で、ターゲットセルを元のデータに隣接するセルに変更します。これにより、姓だけを取得し、元の名前データが完全であることが保証されます。
- [完了]をクリックします
結果が得られたら、名前で並べ替えることができます。
区切り文字としてコンマがある場合は、テキストから列への使用で名前と名前を区切ることもできます。
キラキラでいっぱい
姓を取得するもうXNUMXつの簡単な方法は、フラッシュフィル機能を使用することです。
Excel2013で導入されたFlashFillは、パターンを識別することでデータを操作するのに役立ちます。これを行うには、期待する結果を得るためにフラッシュフィルを複数回表示する必要があります。
パターンを認識すると、残りはすぐに実行されます。
次の名前のデータセットがあるとします。
Flash Fillを使用して姓を取得し、それを使用して並べ替える手順は次のとおりです。
- セルB2に、「Maury」というテキストを入力します。これはあなたがセルに期待するものです。
- 次のセルに移動し、隣接するセル(この場合はエリオット)に名前の名前の名前を入力します。
- XNUMXつのセルを選択します
- 選択範囲の右下部分にカーソルを合わせます。カーソルがプラスアイコンに変わることに気付くでしょう。
- それをダブルクリックします(またはクリックして下にドラッグします)。これにより、セルに結果が表示されます(必要な結果とは異なります)
- [オートフィルオプション]アイコンをクリックします。
- [クイック入力]をクリックします
これにより、すべてのセルの名前になる可能性のある結果が得られます。
フラッシュフィルが機能しない場合があるからかもしれません。認識モードによって異なりますので、必ずしもそうとは限りません。または、解読するパターンが正しいパターンではない場合もあります。
この場合、期待される結果を4つ以上のセルに入力してから、手順7〜XNUMXを実行する必要があります。
列にすべての名前を入力したら、それらの名前に基づいてデータを並べ替えることができます。
したがって、XNUMXつの異なる方法で名前でデータを並べ替えることができます。最善の方法は、検索と置換の手法を使用することですが、結果を動的にしたい場合は、数式メソッドが最適です。
このチュートリアルがお役に立てば幸いです。