【Excel】ドロップダウンの選択肢を「あいうえお順」に自動ソート!Excelの入力規則リスト並べ替え

【Excel】ドロップダウンの選択肢を「あいうえお順」に自動ソート!Excelの入力規則リスト並べ替え
🛡️ 超解決

Excelでドロップダウンリストを作成する際、選択肢の順番がバラバラで困った経験はないでしょうか。特に選択肢が多い場合、探すのに時間がかかり、入力ミスにもつながりかねません。この記事では、Excelの入力規則で作成したドロップダウンリストの選択肢を、五十音順(あいうえお順)に自動で並べ替える方法を解説します。この設定を行うことで、リストの管理が格段に楽になります。

通常、入力規則のリストに直接入力した項目は、入力した順番に表示されます。しかし、この順番を自動で五十音順に並べ替えるには、少し工夫が必要です。この記事を読めば、リストの管理工数を削減し、より効率的にExcel作業を進められるようになります。

ADVERTISEMENT

入力規則リストの選択肢が自動で並べ替えられない理由

Excelの入力規則でドロップダウンリストを作成する際、リストのソースとして直接セル範囲を指定する方法が一般的です。この場合、リストに表示される項目は、指定したセル範囲の順番通りになります。Excelの標準機能では、入力規則のリストソース自体を自動で並べ替える機能は提供されていません。

そのため、リストの項目が増えたり減ったりするたびに、手動で並べ替え作業を行う必要が出てきます。この手間を省き、常に最新の状態で五十音順に並んだリストを表示させるためには、ひと手間加えた設定が必要です。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

入力規則リストの選択肢を五十音順に自動ソートする仕組み

ドロップダウンリストの選択肢を自動で五十音順に並べ替えるには、元のリストと、並べ替えられたリストを別々に用意する方法が効果的です。具体的には、まず元の選択肢を一覧で入力したシートを用意し、そのリストを五十音順に並べ替えた結果を別の場所に表示させます。そして、入力規則のリストソースとして、この並べ替えられた結果を参照するように設定します。

この並べ替え処理には、Excelの関数を使用します。特に、SORT関数や、古いバージョンのExcelでも利用できる配列数式を活用することで、元のリストが更新された際に自動的に並べ替え結果も更新されるようになります。これにより、常に最新の五十音順リストがドロップダウンに表示されるようになります。

ドロップダウンリストの選択肢を五十音順に自動ソートする手順

ここでは、ExcelのSORT関数を使用してドロップダウンリストの選択肢を五十音順に自動ソートする手順を解説します。SORT関数はMicrosoft 365で利用可能な関数です。古いバージョンのExcelをご利用の場合は、配列数式を用いた別の方法が必要になります。

  1. 元の選択肢リストを作成する
    まず、ドロップダウンリストに使用したい項目を一覧で入力するシートを作成します。ここでは、「元のリスト」という名前のシートを作成し、A列に項目を入力すると仮定します。例えば、都道府県名や商品名などを入力します。
  2. 並べ替え結果を表示するシートを用意する
    次に、並べ替えられたリストを表示するためのシートを用意します。ここでは、「設定」という名前のシートを作成します。このシートの任意のセル(例えばA1セル)に、以下のSORT関数を入力します。

    =SORT('元のリスト'!A:A)

    この数式は、「元のリスト」シートのA列全体を対象に、その内容を昇順(五十音順)で並べ替えて表示します。数式を入力したセルから下に、並べ替えられたリストが自動的に展開されます。

  3. 入力規則を設定する
    ドロップダウンリストを表示させたいセルを選択します。次に、「データ」タブの「データの入力規則」をクリックします。
  4. リストのソースを指定する
    「データの入力規則」ダイアログボックスが表示されたら、「設定」タブを選択します。「入力値の種類」で「リスト」を選択します。「元の値」のボックスに、先ほどSORT関数を入力したセルの範囲を指定します。例えば、「設定」シートのA1セルから始まる動的な範囲を指定するには、以下のように入力します。

    =設定!$A$1#

    「#」はスピル範囲演算子と呼ばれ、SORT関数で展開された範囲全体を参照します。

  5. 設定を完了する
    「OK」ボタンをクリックしてダイアログボックスを閉じます。これで、選択したセルにドロップダウンリストが表示され、クリックすると五十音順に並べ替えられた選択肢が表示されるようになります。

ADVERTISEMENT

【Microsoft 365以外】配列数式を使った並べ替え方法

Microsoft 365以外のExcelバージョンをご利用の場合、SORT関数は使用できません。その場合は、配列数式を使用して同様の並べ替えを実現できます。ここでは、その手順を解説します。

元の選択肢リストと作業列の準備

まず、元の選択肢リストを「元のリスト」シートのA列に入力します。次に、「設定」シートに、元のリストの項目数を取得するための数式を入力します。例えば、B1セルに以下の数式を入力します。

=COUNTA('元のリスト'!A:A)

この数値が、後で作成する配列数式の範囲指定に必要になります。

五十音順に並べ替える配列数式の入力

「設定」シートのA1セルに、以下の配列数式を入力します。入力後、Ctrl + Shift + Enterキーで確定してください。これにより、数式が配列数式として認識されます。

=IFERROR(INDEX('元のリスト'!A:A,MATCH(SMALL(IF('元のリスト'!A:A<>"",CODE('元のリスト'!A:A)),ROW(INDIRECT("1:"&B1))),CODE('元のリスト'!A:A),0)),"")

解説:

  • B1セルには、元のリストの項目数が入力されています。
  • ROW(INDIRECT("1:"&B1))で、1から元のリストの項目数までの連番を生成します。
  • CODE('元のリスト'!A:A)で、各項目名の最初の文字の文字コードを取得します。
  • SMALL(IF('元のリスト'!A:A<>"",CODE('元のリスト'!A:A)),連番)で、文字コードを昇順(五十音順)に並べ替えます。
  • MATCH(並べ替えられた文字コード,CODE('元のリスト'!A:A),0)で、並べ替えられた文字コードが元のリストのどの位置にあるか(行番号)を検索します。
  • INDEX('元のリスト'!A:A,検索された行番号)で、元のリストから該当する項目を取得します。
  • IFERROR(...,"")で、エラーが発生した場合(リストの項目数を超えた場合など)は空白を表示します。

この配列数式は、A1セルから下に、元のリストの内容が五十音順に並べ替えられて表示されます。必要に応じて、数式を下のセルまでコピーしてください。

入力規則の設定(配列数式の場合)

入力規則の設定方法は、SORT関数を使用した場合と同様です。「元の値」のボックスに、配列数式を入力したセル範囲を指定します。例えば、A1セルから始まる範囲を指定するには、以下のように入力します。

=設定!$A$1:$A$100

※100は、元のリストの最大項目数に合わせて調整してください。もし項目数が変動する場合は、十分な数値を指定するか、COUNTA関数などと組み合わせた動的な範囲指定を検討してください。

入力規則リストの並べ替えにおける注意点とよくある失敗

元のリストの項目が重複している場合

元のリストに同じ項目が複数存在する場合、SORT関数や配列数式では、重複した項目もそのまま表示されます。ドロップダウンリストで重複項目があると、ユーザーが混乱する可能性があります。

対処法:

  1. 元のリストで重複を削除する
    「元のリスト」シートのA列全体を選択し、「データ」タブの「重複の削除」機能を使って重複項目を削除します。その後、並べ替え処理が自動的に更新されます。
  2. UNIQUE関数を使用する(Microsoft 365のみ)
    SORT関数と組み合わせてUNIQUE関数を使用すると、重複を除いたリストを並べ替えることができます。

    =SORT(UNIQUE('元のリスト'!A:A))

    この数式を「設定」シートのA1セルに入力します。

大文字・小文字の区別や全角・半角の違い

五十音順の並べ替えは、基本的に文字コード順で行われます。そのため、「あ」と「ア」、「A」と「A」など、大文字・小文字や全角・半角の違いによって、意図しない順序で表示されることがあります。

対処法:

  1. 元のリストで表記を統一する
    入力前に、大文字・小文字、全角・半角の表記を統一しておくことが最も確実です。
  2. ASC関数やJIS関数を組み合わせる(配列数式の場合)
    配列数式において、並べ替え前に文字コードを統一する関数を組み合わせることも可能ですが、数式が複雑になります。例えば、全角英数字を半角にする場合はJIS関数、半角カナを全角にする場合はASC関数などをIFERRORやINDEX/MATCHと組み合わせる検討が必要になります。

空白セルが含まれている場合

元のリストに空白セルが含まれている場合、SORT関数では空白が先頭に表示されます。配列数式ではIFERRORで空白になりますが、IF関数などで空白を除外する処理を追加することも可能です。

対処法:

  1. 元のリストで空白セルを削除する
    不要な空白セルは、元のリストから削除しておくのが最もシンプルです。
  2. 数式で空白を除外する
    Microsoft 365の場合は、UNIQUE関数とSORT関数を組み合わせる際に、FILTER関数で空白を除外できます。

    =SORT(FILTER('元のリスト'!A:A,'元のリスト'!A:A<>"",""))

    配列数式の場合は、IF関数で条件分岐を追加します。

比較:SORT関数と配列数式の使い分け

項目 SORT関数 (Microsoft 365) 配列数式 (旧バージョン)
概要 指定した範囲を並べ替えた結果を動的に表示する Ctrl+Shift+Enterで確定する数式で、範囲内のデータを並べ替える
入力の手軽さ 数式一入力で完了 数式入力後、Ctrl+Shift+Enterでの確定、および必要に応じたコピーが必要
柔軟性 UNIQUE, FILTER関数などと組み合わせて、重複除去や条件指定が容易 数式が複雑になりがちで、条件分岐の追加に手間がかかる
互換性 Microsoft 365のみ Excel 2019以前のバージョンでも利用可能
スピル範囲 必要に応じて自動的に展開される 手動でコピーするか、十分なセル数を確保する必要がある

Microsoft 365をご利用の場合は、SORT関数を使うのが最も手軽で効率的です。古いバージョンをご利用の場合は、配列数式が必須となりますが、数式の理解と正確な入力を心がける必要があります。

どちらの方法でも、一度設定してしまえば、元のリストを更新するだけでドロップダウンリストの選択肢が自動的に五十音順に並べ替えられるようになります。これにより、リストのメンテナンスにかかる時間を大幅に削減できます。

まとめ

この記事では、Excelの入力規則で作成したドロップダウンリストの選択肢を、五十音順に自動で並べ替える方法を解説しました。Microsoft 365であればSORT関数、それ以前のバージョンでは配列数式を用いることで、この自動並べ替えを実現できます。

元のリストを更新するだけで、ドロップダウンリストの選択肢が常に最新の状態で五十音順に表示されるため、リストの管理が格段に容易になります。ぜひ、この設定を活用して、Excel作業の効率化を図ってください。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】