本文へスキップ
App Museum
English

行の並び替え・重複削除ツール

1行に1項目のリストを昇順・降順・逆順・シャッフルで並び替え、重複した行と空行を取り除いてコピーできます。表計算ソフトの表やCSVを、見出しの行を残したまま指定した列で並べ替えることもできます。重複した行だけ・1回だけの行だけの抽出や、行ごとの出現回数の集計にも対応。

並び順
比べ方

比べ方は、並び順が昇順か降順のときに使われます。

比べる範囲

表計算ソフトからコピーした表はタブ区切りです。列が空の行は最後に並べます。出現回数順は行全体で数えます。

重複した行

回数と行の間はタブで区切ります。表計算ソフトに貼ると2列に分かれます。

行の整理

見出しの行は、並び替えと重複の削除の対象にしません。

リストを入力すると、並び替えた結果と行数がここに表示されます。

使い方

  1. 「元のリスト」に、1行に1項目ずつ入力するか、表計算ソフトの1列やメモを貼り付けます
  2. 「並び順」から、入力順のまま・昇順・降順・逆順・シャッフルのどれかを選びます
  3. 昇順か降順のときは、「比べ方」で文字順・自然順・数値順・文字数順・出現回数順を選びます
  4. 表計算ソフトの表やCSVを並べるときは、「比べる範囲」で区切り方を選び、比べる列を選びます
  5. 「重複した行」で、すべて残す・1行にまとめる・重複した行だけ・重複のない行だけのどれかを選びます。各行が何回出てくるかを行頭に付けることもできます
  6. 「行の整理」で、空行の削除などを切り替えます。1行目が見出しなら「1行目を見出しとして先頭に残す」をオンにします
  7. 「結果」に並び替えたリストが表示されます。「結果をコピー」を押すとクリップボードに入ります

実行ボタンはなく、入力や設定を変えるたびに結果が変わります。元のリストは書き換えないため、設定を変えて何度でも試せます。

最初の設定は、昇順(文字順)、重複した行を1行にまとめる、行頭と行末の空白を削除、空行を削除です。重複を除くだけで順番を変えたくないときは、並び順を「入力順のまま」にしてください。

処理の順序

設定にかかわらず、次の順に処理します。

  1. 行に分ける。改行はWindowsのCRLF、古いMacのCR、LFのどれも1つの改行として扱います
  2. 行頭と行末の空白を削除する(設定がオンのとき)
  3. 空行を削除する(設定がオンのとき)
  4. 1行目を見出しとして取り分ける(設定がオンのとき)。見出しの行は、次の5〜8の対象にしません
  5. 同じ内容の行が何回出てくるかを数える
  6. 「重複した行」の設定に合わせて、残す行を選ぶ
  7. 選んだ並び順に並べる
  8. 出現回数を行頭に付ける(設定がオンのとき)
  9. 見出しの行を先頭に戻す(設定がオンのとき)

重複の判定と回数の数え方は、空白と空行の削除より後に行います。そのため、りんご の行と、先頭に空白が付いた りんご の行は、空白の削除がオンなら、重複の判定と回数の数え方で同じ行として扱います。空白の削除がオフなら、別の行として扱います。

結果の下には、入力の行数、結果の行数、削除した行の数、選んだ並び順が表示されます。列を選んで並べたときは比べた列を、見出しの行を残したときは「見出し: 1行目」も表示します。削除した行は、重複(2回目以降の行)、1回だけの行、2回以上ある行、空行に分けて数えます。入力の最後にある改行は行として数えません。

具体例

買い物メモを何人かで書き足したリストを、重複を除いて並べます。2行目の先頭には空白があり、途中に空行があります。

みかん
 りんご

バナナ
みかん
ぶどう
りんご

最初の設定(昇順・文字順)の結果:

バナナ
ぶどう
みかん
りんご

下には「入力 7行 → 結果 4行(重複 2行、空行 1行を削除) 並び順: 昇順(文字順)」と表示されます。並び順を「入力順のまま」にすると、最初に出てきた順のまま みかん、りんご、バナナ、ぶどう が残ります。

並び順と比べ方

並び順は5つです。

  • 入力順のまま: 順番を変えません。重複や空行の削除だけを行いたいときに使います
  • 昇順: 「比べ方」で選んだ基準の小さい順に並べます
  • 降順: 昇順の反対です
  • 逆順: 入力した順番を上下ひっくり返します。行の内容は比べません
  • シャッフル: 順番を無作為に入れ替えます。「もう一度シャッフル」を押すと順番を決め直します

比べ方は、昇順と降順のときだけ使われます。

  • 文字順: 辞書のような順に並べます。記号、数字、英字、かな、漢字の順になり、英字は a、A、b、B のように大文字と小文字が隣り合います。かなは五十音順で、ひらがなとカタカナは同じ位置に並びます
  • 自然順: 文字順と同じ並べ方ですが、数字が続く部分は数の大きさで比べます。第9回、第10回、第100回 のように、数字が行の途中にあっても数の順に並びます
  • 数値順: 行の先頭にある数を読み取り、その大きさで並べます。9個、10個、100個 のように、数の後ろに文字が続いていても構いません
  • 文字数順: 行の文字数で並べます。絵文字や、複数の符号を組み合わせた文字は、見た目の1文字を1と数えます
  • 出現回数順: 同じ内容の行が元のリストに何回出てくるかで並べます。降順にすると、多い順になります

どの比べ方でも、順位が同じ行は入力した順のまま並びます。出現回数順で回数が同じときは、最初に出てきた順に並べ、同じ内容の行はまとまって並びます。

文字順で数字を並べるとき

文字順は先頭の文字から1文字ずつ比べるため、10、9、100 は 10、100、9 の順になります。数の大きさで並べたいときは自然順か数値順を選んでください。

自然順と数値順の使い分け

自然順は、数字の前後にある文字も比べます。数値順は、行の先頭の数だけを比べます。

  • 番号が文字の後ろにあるリストは自然順: 第10回、資料2、file10.txt、v1.10.0 のような行です。数値順は行頭の数しか読まないため、こうした行を数として扱いません
  • 小数、負の数、3桁区切りのある数は数値順: 自然順は、数字の続きを1つずつ別の整数として比べ、小数点、符号、コンマを数の一部として読みません。自然順の昇順では、1.5 と 1.25 は 1.5、1.25 の順(5 と 25 の比較)、-5 と -10 は -5、-10 の順、999 と 1,000 は 1,000、999 の順になります
  • 数字が複数ある行は、左から順に比べます。a9b99、a10b2、a10b10 の順になります
  • 全角の数字も数として比べます。9 は 10 より前です
  • 007 と 7 のように先頭の0の数だけが違う数字や、7 と 7 のように全角か半角かだけが違う数字は、同じ順位として扱い、入力した順のまま並びます
  • 自然順は、数値順では区別できない桁数の多い数字も比べ分けます。9007199254740992 と 9007199254740993 も数の順に並びます。ただし、数字が255桁以上続く部分は、数の大きさの順にならないことがあります
  • 漢数字(十二)は数として読み取りません

数値順が読み取る数

数値順は、行頭の空白を飛ばしたあと、次の形の数を読み取ります。

  • 整数と小数: 12、3.5、.5
  • 符号: -5、+7
  • 3桁ごとの区切り: 1,234,567。10,20 のように3桁区切りになっていないコンマは区切りとみなさず、10 と読みます
  • 全角の数字と符号: 123 は 123 と読みます

先頭が数で始まらない行は、昇順でも降順でも最後にまとめ、入力した順のまま並べます。第3回 のように数が途中にある行、十二 のような漢数字は数として読み取りません。数が途中にある行を数の順に並べたいときは、自然順を使ってください。

正確に比べられるのは、有効数字がおよそ15桁までの数です。9007199254740993 と 9007199254740992 のように16桁以上で末尾だけが違う数は、同じ大きさとして扱われ、入力した順のまま並びます。桁数の多い会員番号などは、自然順なら数の順に並びます。桁数がそろっていれば文字順でも正しく並びます。

1e5 のような指数表記は、先頭の 1 だけを読みます。

漢字は読みの順になりません

文字順で漢字を並べても、五十音順(読みの順)にはなりません。漢字の読みは文字だけからは決まらないためです。たとえば 山田、佐藤、鈴木、高橋、田中、伊藤 を昇順に並べると、伊藤、高橋、佐藤、山田、田中、鈴木 になります。1文字目の音読みの順に近い並びですが、名簿を読みの順にしたいときは、ふりがなを行の先頭に書いてから並べてください。

列を指定して並べる

表計算ソフトからコピーした表や、CSVのように1行に複数の項目が並ぶリストは、「比べる範囲」で列を選ぶと、その列の値で行を並べ替えられます。動かすのは行全体で、行の中の項目の並びは変えません。

  • 行全体: 最初の設定です。行の先頭から比べます
  • タブ区切りの列: Excel や Googleスプレッドシートからコピーした表はこの形です
  • カンマ区切りの列: CSVの形です。"東京, 日本" のように二重引用符で囲んだ項目の中のカンマは区切りとみなしません。引用符の中の "" は " 1文字として読み、比べるときは囲みの引用符を外します
  • 空白区切りの列: 半角と全角の空白で区切ります。続けて並んだ空白は1つの区切りとして扱います。タブでは区切りません

区切り方を選ぶと「列」の一覧が出ます。一覧には、いちばん項目の多い行と同じ数の列が並びます(最大50列)。「1行目を見出しとして先頭に残す」がオンのときは、2列目(点数) のように見出しの名前も表示します。21文字以上の名前は、先頭の20文字に「…」を付けて表示します。入力を書き換えて、選んだ列がどの行にも無くなったときは、最後の列で比べます。

  • 列の値は前後の空白を除いて比べます。比べ方(文字順・自然順・数値順・文字数順)は列の値に使われます
  • 選んだ列が空の行や、選んだ列まで項目が無い行は、昇順でも降順でも最後にまとめ、入力した順のまま並べます。数値順では、列の値が数で始まらない行と一緒に、入力した順のまま最後に並べます
  • 列の指定は、並び順が昇順か降順で、比べ方が出現回数順以外のときに使われます。出現回数順は、いつも行全体が何回出てくるかで並べます
  • 重複の判定は、列を選んでいても行全体の完全一致です。選んだ列の値だけが同じ行は、どちらも残ります
  • 「タブ区切りの列」で並べるときは、行頭と行末の空白を削除しても、タブは削除しません。先頭の列が空の行でも、列の位置がずれないようにするためです。そのため、末尾にタブがある行とない行は、重複の判定で別の行として扱います
  • セルの中で改行している表は、改行ごとに別の行として扱うため、正しく並びません

見出しの行を残す

「1行目を見出しとして先頭に残す」をオンにすると、1行目を並び替えずに結果の先頭に残します。空白と空行を削除した後の1行目を見出しとします。

  • 見出しの行は、重複の判定、出現回数の集計、並び替え、逆順、シャッフルの対象にしません
  • 出現回数を行頭に付けるときは、見出しの行の先頭に 回数 とタブを付けます。表計算ソフトに貼ると、見出しが各列の上にそろいます
  • 結果の下に表示する行数には、見出しの行も含みます

成績表を点数の高い順に並べる例です。表計算ソフトからコピーしたため、列はタブで区切られています。

名前	点数	組
太郎	80	1
花子	95	2
次郎	70	1

「1行目を見出しとして先頭に残す」をオンにし、比べる範囲を「タブ区切りの列」、列を「2列目(点数)」、並び順を「降順」、比べ方を「数値順」にした結果:

名前	点数	組
花子	95	2
太郎	80	1
次郎	70	1

結果の下には「入力 4行 → 結果 4行 並び順: 降順(数値順・タブ区切りの2列目) 見出し: 1行目」と表示されます。表のセルを編集したり、Markdownの表にしたりしたいときはMarkdown表作成ツールを使ってください。

重複した行の扱い

「重複した行」で、同じ内容の行が2回以上あるときの扱いを4つから選びます。

  • すべて残す: 重複した行も削除しません
  • 1行にまとめる: 最初に出てきた1行を残し、2回目以降を削除します
  • 重複した行だけ: 2回以上出てくる行だけを、1行にまとめて残します。1回しか出てこない行は削除します
  • 重複のない行だけ: 1回しか出てこない行だけを残します。2回以上出てくる行は、最初の1行も含めてすべて削除します

たとえば b、a、b、c、a、b の6行を、並び順「入力順のまま」で処理すると、次のようになります。

  • すべて残す: b、a、b、c、a、b
  • 1行にまとめる: b、a、c
  • 重複した行だけ: b、a
  • 重複のない行だけ: c

残る行の位置と表記は、最初に出てきた1行のものです。

同じ行とみなす条件

  • 判定は行全体の完全一致です。行の一部が同じでも重複とはみなしません
  • 「大文字と小文字を区別しない」をオンにすると、Apple と apple を同じ行として扱います。文字順と自然順の並び替えでも、大文字と小文字の違いを無視します
  • 全角と半角(ABC と ABC)、ひらがなとカタカナ(りんご と リンゴ)は別の行として扱います。そろえてから判定したいときは、先に全角・半角変換ツールで表記をそろえてください
  • 行頭と行末の空白の削除をオフにすると、末尾に空白が付いた行は、見た目が同じでも別の行として扱います
  • 「空行を削除する」をオフにすると、空行どうしも同じ行として扱います。空行が2行以上あると、「重複した行だけ」の結果にも空行が1行残ります

出現回数を数える

「出現回数を行頭に付ける」をオンにすると、結果の各行の先頭に、その行が元のリストに何回出てくるかを付けます。回数と行の間はタブで区切ります。表計算ソフトに貼ると、回数と行が2列に分かれます。

  • 回数は、空白と空行を削除した後のリストで数えます。「大文字と小文字を区別しない」がオンなら、Apple と apple を合わせて数えます
  • 「1行にまとめる」や「重複した行だけ」で削除した行も回数に含みます。犬 が3行あれば、まとめた1行は 3 と 犬 になります
  • 「すべて残す」のときは、同じ内容の行のそれぞれに同じ回数が付きます

アンケートの回答を貼り付けて、多い順に集計する例です。

犬
猫
犬
鳥
猫
犬

並び順を「降順」、比べ方を「出現回数順」、重複した行を「1行にまとめる」にして、出現回数を付けた結果:

3	犬
2	猫
1	鳥

注意点

  • 行の途中にある空白は変更しません。連続した空白をまとめたいときは文章整形ツールを使ってください
  • 「空行を削除する」は、空白だけの行(全角空白を含む)も空行として削除します
  • CSVのように1行目が見出しになっているデータは、「1行目を見出しとして先頭に残す」をオンにしないと、見出しの行も一緒に並び替えられます
  • シャッフルは、発表の順番や席順を決めるような用途のためのものです。結果を第三者が検証できる仕組みはないため、賞品のある抽選など公平性の証明が必要な場面には向きません
  • 入力したリストはこのページを開いているブラウザの中だけで処理され、外部へ送信も保存もされません。ページを再読み込みすると入力は消えます

FAQ

順番を変えずに重複だけを削除できますか?

できます。並び順を「入力順のまま」にすると、最初に出てきた行を元の位置に残し、2回目以降の行だけを削除します。

重複した行は、どれが残りますか?

最初に出てきた行が残ります。「大文字と小文字を区別しない」がオンのときも、残るのは最初の行の表記です。

重複している行だけを取り出せますか?

できます。「重複した行」で「重複した行だけ」を選ぶと、2回以上出てくる行を1行ずつ表示します。反対に、1回しか出てこない行だけを見たいときは「重複のない行だけ」を選びます。

それぞれの行が何回出てくるか数えられますか?

数えられます。「出現回数を行頭に付ける」をオンにすると、各行の先頭に回数が付きます。比べ方を「出現回数順」にして降順で並べると、多い順の一覧になります。

ひらがなとカタカナは混ぜて並べられますか?

並べられます。文字順では、ひらがなとカタカナは五十音の同じ位置に並びます。同じ読みのひらがなとカタカナは同じ順位として扱い、入力した順のまま並べます。たとえば リンゴ、りんご、ミカン、みかん は、ミカン、みかん、リンゴ、りんご の順です。

表計算ソフトの表を、特定の列で並べ替えられますか?

並べ替えられます。表をコピーして貼り付け、「比べる範囲」を「タブ区切りの列」にして、列を選びます。見出しの行があるときは「1行目を見出しとして先頭に残す」をオンにすると、見出しを先頭に残したまま並べ替えられ、列の一覧に見出しの名前が出ます。CSVなら「カンマ区切りの列」を選びます。

「10」が「9」より前に来るのはなぜですか?

比べ方が文字順になっているためです。文字順は先頭の文字から比べるので、1 で始まる 10 が 9 より前に並びます。自然順か数値順に切り替えると 9、10 の順になります。

「第10回」を「第9回」の後ろに並べられますか?

比べ方を自然順にすると並べられます。自然順は、行の途中にある数字も数の大きさで比べるため、第9回、第10回、第100回 の順になります。文字順では 第100回、第10回、第9回 の順になり、数値順は行頭が数で始まらない行を入力した順のまま最後にまとめます。

シャッフルの結果は毎回変わりますか?

「シャッフル」を選んだときと「もう一度シャッフル」を押したときに、順番を決め直します。決め直した結果が、たまたま前と同じ順番になることもあります。行数が少ないほど起こりやすく、2行のリストでは2回に1回は同じ順番です。リストの行数が変わったときも順番は決め直されます。順番のもとになる値は、ブラウザの暗号用の乱数から作っています。

並び替える前と後の違いを確認できますか?

このアプリでは元のリストと結果を上下に並べて表示します。行ごとの差を見たいときは、両方をテキスト差分比較に貼り付けて比べてください。

種別
ユーティリティ
カテゴリ
テキスト
タグ
text
sort
duplicate
list
lines
count
csv
tsv
column
  • 箇条書き整形ツール

    バラバラな箇条書きの記号を ・ - 1. (1) ① などにそろえ、番号を振り直します。字下げから階層を読み取り、階層ごとに記号を選べます。Markdown・公用文(第1 1 (1) ア)・HTMLのリストへの変換、記号の削除、折り返した行の連結にも対応。

    ユーティリティテキストtextlistbulletnumberingmarkdownindenthtml
  • チーム分けツール(ランダムにグループ分け)

    名前のリストを、チームの数か1チームの人数を決めてランダムにチーム分けします。人数の差は最大1人。経験者と初心者などのまとまりを各チームに均等に分ける班分けや、リーダー決めにも対応。

    ユーティリティテキストrandomteamgrouplistlottery
  • 文字数カウントツール

    文字数・単語数・行数をリアルタイムでカウント。全角を2・半角を1とする数え方、UTF-8のバイト数、UTF-16のコード単位も表示し、上限までの残りと、上限を超えた位置が分かります。SNS投稿や原稿、入力フォームの文字数チェックに。

    ユーティリティテキストtextcounterwritingbyteunicode