コンテンツにスキップ

フリーリストソーター - オンラインでアルファベット順・数値順にソート

テキストのリストを、アルファベット順または数値順に昇順・降順で並べ替える無料のオンラインツールです。重複する項目の削除にも対応し、結果はテキストまたはJSON形式で書き出せます。名前のリストや数値データの整理、プログラミングでのデータ前処理など幅広い用途に利用できます。

リストソーター

ソートされたリスト

可視化

ローディング計算機...
📚

ドキュメンテーション

リストソーター

リストソーターは、指定した文字で区切られたテキスト項目のまとまりを受け取り、順番に並べるツールです。このツールでは、リストをアルファベット順または数値順に並べ替えたり、重複する項目を削除したり、結果をプレーンテキストまたはJSONで出力したりできます。

オンラインでリストを並べ替える方法

  1. リストを入力ボックスに入力または貼り付けます。
  2. 区切り文字を設定します。区切り文字とは、項目と項目の間を分ける文字です。初期設定はカンマです。
  3. 並べ替えの種類を選びます。単語にはアルファベット順、数字には数値順を選択します。
  4. 並べ替えの順序を選びます。昇順または降順です。
  5. 重複する項目を削除する場合は、「重複を削除」をオンにします。
  6. テキストまたはJSONの出力形式を選びます。
  7. 結果をコピーします。

アルファベット順の仕組み

アルファベット順モードでは、文字コードをそのまま比較するのではなく、ロケールに対応した文字列比較を使って項目を文字列として比較します。まず文字の並びで単語をまとめるため、アクセント付き文字も正しく扱われ、「Zürich」や「São Paulo」も、ふつうに読む人が期待する位置に並びます。

大文字と小文字は二次的な規則として扱われます。「apple」と「Apple」のように大文字と小文字だけが異なる2つの単語は、同じグループにまとめられ、小文字の形式が先に置かれます。この方法で数字を並べ替える場合は、数字をテキストとして1桁ずつ比較します。そのため「10」が「2」より前に並びます。これは「1」の文字が「2」に到達する前に比較されるためです。

例。 入力:banana, apple, cherry, apple、区切り文字:,、昇順、重複を削除する設定です。

  • 重複している「apple」を削除すると:banana, apple, cherry
  • 昇順に並べ替えると:apple, banana, cherry

数値順の仕組み

数値順モードでは、各項目を数値に変換して数値同士を直接比較するため、「2」が「10」より前に並びます。まずリスト内のすべての項目が確認されます。1つでも数値として読み取れない項目があると、ツールはリストをまったく並べ替えません。代わりにエラーを表示し、結果は生成されません。長いリストのうち1項目だけが無効な場合も同じです。

例。 入力:10, 2, 33, 4、昇順です。

  • 昇順に並べ替えると:2, 4, 10, 33
  • 降順に並べ替えると:33, 10, 4, 2

エラーになる例。 入力:10, apple, 3、数値順モードです。

  • 結果:リストは返されません。「apple」を数値に変換できないため、ツールは「無効な数値入力」と報告します。

文字と数字が混在するリストを並べ替える場合は、代わりにアルファベット順モードを使用します。

重複の削除

「重複を削除」オプションでは、各項目が最初に現れたものを残し、それ以降を破棄します。項目は完全に一致するテキストとして比較されるため、大文字と小文字は区別されます。「Apple」と「apple」は異なる項目として扱われ、先にリスト全体を小文字に変換しない限り、両方とも残ります。

区切り文字

区切り文字は、ある項目が終わり、次の項目が始まる位置をツールに伝えます。区切り文字には、1文字だけでなく任意のテキストを使用できます。一般的な選択肢は次のとおりです。

  • スプレッドシートやCSVファイルからコピーしたデータには、カンマ(,)
  • すでにカンマを含むリストには、セミコロン(;)
  • 短い単語リストには、単一の空白

区切り文字の入力欄は一行のみのため、改行を区切り文字として入力することはできません。一行に一項目ずつ書かれたリストは、先にカンマ区切りの形に変換してください。

並べ替えた結果がリストではなく一つの長い項目のように表示される場合は、たいてい区切り文字が入力と合っていません。

JSON出力

JSON出力を選ぶと、並べ替えたリストが、一項目を一つの文字列とするJSON配列にまとめられます。たとえば ["apple", "banana", "cherry"] のようになります。数値順モードでも、すべての要素は引用符付きの文字列として出力されます。10, 2 を数値順に並べ替えてJSONに出力すると、数値の 2 と 10 ではなく、["2", "10"] になります。実際の数値が必要なプログラムでは、読み込んだあとで文字列を変換してください。

リストソーターが役立つ場面

アルファベット順の並べ替えは、連絡先名、製品コード、参考文献の項目に適しています。多くの引用スタイルでは、参考文献を著者の姓の順に並べる必要があります。数値順の並べ替えは、価格、得点、測定値に適しています。重複の削除は、統合したスプレッドシートやエクスポートした連絡先リストなど、複数の情報源からデータをコピーして作成したリストの整理に役立ちます。

非常に大きなデータセットでは、インデックス付きの列を持つデータベースや、スプレッドシートに組み込まれた並べ替え機能の方が、通常はブラウザベースのツールより高速です。同じファイルを自動処理の一部として繰り返し並べ替える場合は、ウェブページよりコマンドラインツールやスクリプトの方が適しています。

並べ替えアルゴリズムについての短い説明

短いリストの並べ替えも、百万項目のリストの並べ替えも、考え方は同じで、項目を二つずつ比べて順番に並べることです。効率のよいアルゴリズムは、考えられるすべての組み合わせを比べずにこれを行います。ブラウザ上の並べ替えツールの多くが使っているJavaScript組み込みの Array.prototype.sort は、ChromeやNode.jsのエンジンであるV8のTimsortを使っています。Timsortはマージソートと挿入ソートを組み合わせたもので、Tim Petersが2002年にPython向けに作りました。ほかのブラウザは別の安定ソートのアルゴリズムを使っています。JavaScriptの仕様は、結果が安定していること、つまり等しいと判定された項目が元の相対的な順序を保つことを求めていますが、特定のアルゴリズムは求めていません。

よくある質問

オンラインでリストをアルファベット順に並べ替えるには? リストを入力ボックスに貼り付け、並べ替えの種類として「アルファベット順」を選び、昇順(AからZ)または降順(ZからA)を選択します。並べ替えられたリストがすぐに表示されます。

数値順の並べ替えが失敗したのはなぜですか? 数値順モードでは、無効な項目を飛ばすのではなく、1つでも有効な数値でない項目があるとリスト全体を拒否します。リストに不要な文字、通貨記号、余分な空白がないか確認して削除するか、リストがテキストを含むものならアルファベット順モードに切り替えてください。

並べ替えの際、ツールは大文字と小文字を同じものとして扱いますか? 順序付けに関しては、はい。「apple」と「Apple」は隣り合うようにまとめられます。重複の削除では、いいえ。先にリスト全体を一方の大文字・小文字に統一しない限り、2つの異なる項目として扱われます。

どの区切り文字を使えばよいですか? リストが実際に区切られている方法に合う文字か短い文字列なら何でも使えます。CSV形式のデータならカンマ、項目の中にすでにカンマが含まれている場合はセミコロンです。区切り文字の入力欄は一行のみのため、改行は使えません。

並べ替えたリストをJSONで書き出せますか? はい。JSON出力は、並べ替えた順に引用符付きの文字列を並べた配列です。たとえば数値順に並べ替えたあとは ["2", "4", "10"] となります。値はJSON本来の数値には変換されません。

並べ替えられる項目数に上限はありますか? このツールはブラウザー上で動作するため、非常に大きなリスト(数万項目以上)では、デバイスによって処理が遅くなったり、利用可能なメモリに負荷がかかったりすることがあります。その規模では、データベースやスクリプトの方が信頼性の高い選択肢です。

参考文献

  1. MDN Web Docs. String.prototype.localeCompare(). developer.mozilla.org — 並べ替え順における、ロケールに対応した文字列の比較。
  2. V8 project. Getting things sorted in V8. v8.dev — V8はArray.prototype.sortをTimsortで実装しています。Timsortは、Tim Petersが2002年にPython向けに開発しました。
  3. MDN Web Docs. Array.prototype.sort(). developer.mozilla.org — ECMAScript 2019以降、仕様で安定ソートが必須とされています。