目次
このチュートリアルでは、Excelをアルファベット順に並べる簡単な方法をいくつか紹介します。 また、例えば、エントリーがファーストネームから始まる場合にラストネームでアルファベット順に並べる方法など、自明ではないタスクに対する解決策も提供します。
Excelでのアルファベット順の並べ替えは、ABCのように簡単です。 ワークシート全体または選択した範囲を、縦(列)または横(行)に、昇順(AからZ)または降順(ZからA)に並べる場合、ほとんどの場合、ボタンクリックで実現できます。 しかし、状況によっては、内蔵の機能では難しい場合がありますが、次の方法でアルファベット順で並べる方法を見つけ出すことが可能です。の式で表されます。
このチュートリアルでは、Excelでアルファベット順に並べる簡単な方法をいくつか紹介し、並べ替えの問題を予見して防止する方法を教えます。
Excelでアルファベット順に並べる方法
Excelでアルファベットを並べ替える方法は、大きく分けて「A-ZまたはZ-Aボタン」「並べ替え機能」「フィルター」の3つがあります。 以下では、それぞれの方法について詳しくご案内します。
列をアルファベット順に並べるには
Excelでアルファベット順に並べ替える一番手っ取り早い方法は、これです。
- 並べ替えたい列の任意のセルを選択します。
- について データ タブで ソートとフィルター のどちらかをクリックします。 A-Z で昇順に、または ゼットエー で降順に並べ替え。 完了!
からも同じボタンにアクセスできます。 ホーム tab> 編集 グループ> ソートとフィルター :
いずれにせよ、Excelは瞬時にリストをアルファベット順に並べます。
ヒント:並べ替えを行った後、何か作業をする前に結果をよく見て、おかしいと思ったら アンドゥ ボタンを押すと、元の順序に戻ります。
アルファベットを付けて、列をまとめる
データセットに2つ以上のカラムが含まれる場合、そのカラムは A-Z または ゼットエー ボタンをクリックして、列の1つをアルファベット順にすると、Excelは自動的に他の列のデータを移動し、行はそのままにします。
右のソートされた表でわかるように、各行の関連情報がまとまっている。
データセットの真ん中にある1つまたは数個のセルが選択されている場合、Excelはどの部分をソートすればよいかわからず、指示を求めることがあります。 データセット全体をソートしたい場合は、デフォルトである「ソート」のままにしてください。 選択範囲を拡大する オプションをチェックし ソート :
注意:このチュートリアルでは、「表」は任意のデータセットです。 技術的には、すべての例は範囲です。 Excelの表には、ソートやフィルタリングのオプションが組み込まれています。
Excelでフィルタリングとアルファベット化
Excelでアルファベット順に並べ替えるには、フィルターを追加する方法があります。 この方法の利点は、一度設定すれば、すべての列の並べ替えがマウスクリックでできることです。
テーブルにフィルタを追加するのは簡単です。
- 1つまたは複数の列ヘッダーを選択します。
- について ホーム タブで、[編集]グループ内の ソートとフィルター > フィルター .
- 各列のヘッダーに小さなドロップダウン矢印が表示されます。 アルファベット順に並べたい列のドロップダウン矢印をクリックし、次に AからZへのソート :
列はすぐにアルファベット順になり、フィルターボタンの小さな上向き矢印は、ソート順(昇順)を示します。
順序を逆にするには、以下を選択します。 ZからAへのソート をフィルタードロップダウンメニューから選択します。
への フィルタを外す をクリックするだけです。 フィルター ボタンをもう一度押してください。
複数の列をアルファベット順に並べる方法
複数の列のデータをアルファベット順に並べたい場合は、Excelの ソート コマンドを使用すると、データの並べ替えをより細かく制御することができます。
例として、データセットにもう一つカラムを追加し、エントリーをアルファベット順に並べてみましょう。 地域 で、その後に 名称 :
してもらうためには、以下の手順で行ってください。
- 並べ替えたい表全体を選択します。
多くの場合、1つのセルだけを選択すれば、残りのデータはExcelが自動的に選択しますが、特にデータ内にギャップ(空白セル)がある場合、この方法はエラーになりがちです。
- について データ タブで ソート&フィルター グループをクリックします。 ソート
- があります。 ソート ダイアログボックスが表示され、最初のソートレベルがExcelの適切な判断で自動的に作成されます。
での 並び替え ドロップダウン・ボックスで、最初にアルファベット順に並べたい列を選択します。 地域 他の2つのボックスは、デフォルトの設定のままにしてください。 ソートオン - セル値 と ご注文 - A to Z :
ヒント:最初のドロップダウンに見出しではなく列の文字が表示される場合は、次の項目をチェックしてください。 私のデータにはヘッダーがあります ボックスを使用します。
- をクリックします。 レベル追加 ボタンをクリックして、次のレベルを追加し、別の列のオプションを選択します。
この例では、2 階層目で 名称 の欄をAからZまでアルファベット順に表示します。
ヒント:同じ条件で複数の列でソートする場合は コピーレベル 代わりに レベル追加 この場合、最初のボックスで別の列を選択するだけです。
- 必要であれば、さらにソートレベルを追加し よっしゃー .
Excelは、指定された順序でデータを並べ替えます。 以下のスクリーンショットに示すように、このテーブルはアルファベット順に並んでいます:最初は 地域 で、その後に 名称 :
Excelで行をアルファベット順に並べ替える方法
データが横方向に並んでいる場合、行をまたいでアルファベット順に並べ替えたい場合があります。 この場合、Excelの ソート 機能です。
- ソートしたい範囲を選択します。 テーブルに移動してはいけない行のラベルがある場合は、必ず省いてください。
- に行ってみてください。 データ tab> ソートとフィルター をクリックします。 ソート :
- での ソート をクリックします。 オプション...
- 小型で ソートオプション を選択します。 左から順に並べ替え をクリックします。 よっしゃー に戻すことができます。 ソート
- より 並び替え ドロップダウン・リストから、アルファベット順の行番号を選択します(この例では行1)。 他の2つのボックスは、デフォルトの値で十分なので、そのままにしておきます( セルバリュー において 並べ替え ボックス、および A to Z において ご注文 ボックス)をクリックし、OKをクリックします。
その結果、表の最初の行はアルファベット順に並べられ、残りのデータもそれに応じて並べ替えられ、項目間の相関がすべて保たれる。
Excelでアルファベット順に並べ替えを行う際の問題点
Excelのソート機能は素晴らしいのですが、不完全な構造のデータを扱っている場合、事態がひどく悪化することがあります。 ここでは、よくある2つの問題を紹介します。
空白または非表示の列および行
データ内に空の行や列がある場合、セルを1つだけ選択してソートボタンをクリックすると、最初の空の行や列までのデータのみがソートされます。
簡単な方法は、ソートする前に空白をなくし、すべての非表示領域を解除することです。 空白行(非表示行ではない!)の場合は、最初にテーブル全体を選択して、アルファベット順にしてください。
認識できないカラムヘッダー
列のヘッダーが他のデータとは異なるフォーマットになっている場合、Excelはそれを識別してソートの対象から除外します。 しかし、ヘッダー行に特別なフォーマットがない場合、列のヘッダーは通常の項目として扱われ、ソートの途中のデータに入ってしまう可能性が高いです。 これを防ぐには、データ行だけを選択してソートします。
を使用する場合 ソート ダイアログボックスが表示されることを確認します。 私のデータにはヘッダーがあります のチェックボックスが選択されています。
Excelで数式を使ってアルファベット順に並べ替える方法
Microsoft Excelには、さまざまなタスクに対応するためのさまざまな機能があります。 多くはありますが、すべてではありません。 もし、組み込みのソリューションがない課題に直面したら、数式で実現できる可能性があります。 アルファベットの並べ替えにも当てはまります。 以下に、アルファベット順が数式でしかできない場合の例をいくつか紹介します。
Excelで姓をアルファベット順に並べる方法
英語では名前の書き方がいくつかあるため、ファーストネームで始まる項目をラストネームでアルファベット順に並べなければならない状況に陥ることがあります。
この場合、Excelのソートオプションではどうにもならないので、数式に頼ることにしましょう。
A2にフルネームで、次の数式を2つの異なるセルに挿入し、データのある最後のセルまで列方向にコピーします。
C2において、抽出する。 ファーストネーム :
=left(a2,search(" ",a2)-1)
D2の場合、プル ラストネーム :
=right(a2,len(a2)-search(" ",a2,1)))
そして、コンマで区切られた逆順の部分を連結していく。
=D2&", "&C2
計算式の詳しい説明はこちらをご覧いただくとして、ここでは結果にだけ注目しましょう。
数式ではなく、名前のアルファベット表記が必要なので、値に変換します。 そのために、数式セル(E2:E10)をすべて選択し、Ctrl + Cキーでコピーします。 選択したセルを右クリックし、その上で 価値観 下 貼り付けオプション と入力し、Enterキーを押してください。
よかった、もうすぐです!では、できあがった列の任意のセルを選択し、そのセルにある A to Z または ZからAへ ボタンをクリックします。 データ タブをクリックすると、姓のアルファベット順に並んだリストが表示されます。
万が一、元に戻す必要がある場合は 氏名(フリガナ 苗字 の形式では、もう少し手間がかかります。
以下の式で再度名前を2つに分割します(E2はカンマで区切られた名前)。
を取得します。 ファーストネーム :
=right(e2, len(e2) - search(" ", e2))
を取得します。 ラストネーム :
=left(e2, search(" ", e2) - 2)
そして、2つのパーツをひとつにする。
=G2&" "&H2
数式から値への変換をもう1回実行すれば、完了です。
このプロセスは、紙面では少し複雑に見えるかもしれませんが、私を信じてください、あなたのExcelで数分しかかかりません。 実際、このチュートリアルを読むよりも、ましてや手動で名前のアルファベットをつけるよりも、もっと短い時間でできます :)
Excelで各行を個別にアルファベット表記にする方法
前回は、「並べ替え」ダイアログを使用して、Excelの行をアルファベット順に並べる方法を説明しました。 その例では、相関関係のあるデータを扱っていました。 しかし、各行が独立した情報を持つ場合はどうでしょうか? 各行を個別にアルファベット順に並べるにはどうすればよいのでしょう?
行数がそれなりにある場合は、この手順で一つずつ並べ替えることができます。 何百、何千行もある場合は、非常に時間の無駄です。 数式を使えば、同じことをもっと速く行うことができます。
例えば、このようにアルファベット順に並べ替えたいデータが何行もあるとします。
まず最初に、行ラベルを別のワークシートまたは同じシート内の別の場所にコピーし、次の配列式で各行をアルファベット順に並べます(B2:D2はソーステーブルの最初の行)。
=INDEX($B2:$D2, MATCH(COLUMNS($B2:B2), COUNTIF($B2:$D2, "<="&$B2:$D2)), 0))
Excel で数式を入力するには、Ctrl + Shift + Enter キーを押すのが正しい方法です。
Excelの行列式にあまり慣れていない場合は、以下の手順でワークシートに正しく入力してください。
- 最初のセル(ここでは G2)に数式を入力し、Ctrl + Shift + Enter を押します。 このとき、Excel は数式を {波括弧} で囲みます。 波括弧を手入力すると、うまくいかないので注意してください。
- 数式セル(G2)を選択し、フィルハンドルを右方向にドラッグして、数式を1行目の他のセルにコピーします(この例ではセルI2まで)。
- 1行目の数式セル(G2:I2)をすべて選択し、フィルハンドルを下方向にドラッグして、数式を他の行にコピーします。
重要!上記の式は、いくつかの注意点がありますが、動作します:ソースデータには 空きセル または 重複値 .
データセットに空白がある場合は、IFERROR関数で数式を囲みます。
=IFERROR(INDEX($B2:$D2,MATCH(COLUMNS($B2:B2),COUNTIF($B2:$D2,"<="&$B2:$D2),0)), "")
残念ながら、重複を簡単に解決する方法はありません。 もしご存知でしたら、ぜひコメントで教えてください。
この式の仕組み
上記の式は、Excelで水平方向の検索を行うために使用される古典的なINDEX MATCHの組み合わせに基づいています。 しかし、我々は一種の「アルファベット検索」を必要とするので、この方法で再構築しました。
COUNTIF($B2:$D2,"<="&$B2:$D2) は、同じ行のすべての値を互いに比較し、その相対順位を配列で返します。 たとえば、2 行目の場合は {2,3,1} を返し、Caden は 2 位、Oliver は 3 位、そして Aria は 1 位という意味です。 この方法で、MATCH 関数のルックアップ配列を取得することができます。
COLUMNS($B2:B2) は、ルックアップ値を提供します。 絶対参照と相対参照を巧みに利用して、返される数値は右に行くほど1ずつ増加します。 つまり、G2に対するルックアップ値は1、H2 - 2、I2 - 3となります。
MATCH は、COUNTIF()で返されたルックアップ配列の中から COLUMNS()で算出されたルックアップ値を検索し、その相対位置を返す。 例えば、G2 の場合、ルックアップ値は 1 で、ルックアップ配列の 3 位にあるので、MATCH は 3 と答える。
G2の場合、B2:D2の3番目の値であるAriaが取り出される。
Excelで各列をアルファベット順に並べる方法
もし、縦に並んだ独立したデータのサブセットを扱うのであれば、上記の数式に手を加えて、各列ごとにアルファベットを付けることが簡単にできます。 COLUMNS() を ROWS() に置き換え、いくつかの列座標を絶対、行座標を相対にすれば、数式の準備は整うのです。
=INDEX(A$3:A$5,MATCH(ROWS(A$3:A3),COUNTIF(A$3:A$5,"<="&A$3:A$5),0))
であることを忘れないでください。 配列式 Ctrl + Shift + Enter で完了します。
数式は、Excelに組み込まれているソートオプションでは実現できない作業を解決してくれる以外に、もう一つ(異論はあるでしょうが)利点があります。 ダイナミック 内蔵の機能では、新しい項目が追加されるたびにデータを再作成する必要がありますが、数式を使用すれば、いつでも新しいデータを追加でき、並べ替えられたリストが自動的に更新されます。
新しいアルファベット順の配置を静的なものにしたい場合は、数式をその結果に置き換えて、次のようにします。 ペースト・スペシャル > 価値観 .
このチュートリアルで説明した数式をより詳しく見るには、Excel Alphabetical Orderワークシートをダウンロードしてください。 それでは、また来週ブログでお会いしましょう。