本文へスキップ

重複行の削除

1行に1件ずつ並べたリストから同じ行を探し、最初に出てきた行だけを残します。大文字・小文字や前後の空白、空行を比較から外せるほか、削除される行だけを確認することもできます。

0文字 · 0行

比較方法

出力

重複した行はありませんでした。0文字 · 0行

並べ替えが必要な場合は、「行の並べ替え」ツールをお試しください。

入力した内容はこのブラウザの中だけで処理され、サーバーには送信されません。 仕組みを見る

重複するApple行を1つだけ残して削除

使い方

「入力」に1行に1件ずつ値を貼り付けると、「結果」には値ごとに最初に出てきた行だけが残ります。残った行の順番は入力したときのままで、「結果」の横には「重複した行を3行削除しました。」のように削除した行数が出ます。重複が1つもなければ「重複した行はありませんでした。」と表示されます。

オプションは2つのグループに分かれています。「比較方法」の3つはどの行を同じ行とみなすかを決め、「出力」の「削除された行だけ表示」は結果に何を出すかを決めます。

同じ行とみなす基準

オプションをすべてオフにしていると、行の文字が最初から最後までぴったり同じでなければ同じ行になりません。スペース1つ、大文字1つが違うだけでも別の行として残ります。「比較方法」のオプションは、この基準をゆるめるためのものです。

  • 大文字・小文字を区別しない:Apple、apple、APPLEを同じ値とみなし、そのうち最初に出てきた表記を残します。
  • 比較前に前後の空白を除く:行頭と行末のスペース、タブ、全角スペースを外してから比べます。外すのは比べるときだけなので、残る行に付いていた空白は結果にもそのまま残ります。
  • 空行を無視する:空行を比較からも結果からも外します。

オプションに関係なく、いつも同じ行として扱うケースが1つあります。アクセント記号の付いたアルファベット(é)、濁点の付いたかな(が)、ハングル(가)のような文字は、完成した1文字で保存されていることもあれば、もとの文字と記号(ハングルは子音と母音)に分かれたまま保存されていることもあります(macOSで作ったファイル名によく見られます)。画面ではまったく同じに見えるこの2通りを、同じ行として処理します。

オプションによる結果の違い

次の6行を入れたときの結果です。3行目は前後にスペースが1つずつ付いています。

hong@test.com
Kim@test.com
 hong@test.com 
kim@test.com
lee@test.com
hong@test.com
オンにしたオプション 残る行 削除される行
なし 5行 1行(6行目)
大文字・小文字を区別しない 4行 2行(4行目、6行目)
比較前に前後の空白を除く 4行 2行(3行目、6行目)
両方 3行 3行(3行目、4行目、6行目)

両方をオンにすると、hong@test.com、Kim@test.com、lee@test.comの3行が残ります。kim@test.comよりKim@test.comのほうが先に出てくるので、大文字で始まる表記が残ります。どちらの表記を残すかは選べず、いつも先に出てきたほうです。

空行の扱い

「空行を無視する」をオフにしていると、空行も1つの値です。空行がいくつもあれば、最初の1つだけが残り、あとは重複として削除されます。段落の間を空行で区切った文章を入れると、最初の空行だけが残って段落どうしがくっついてしまうので、そうした文章には向きません。

「空行を無視する」が空行とみなすのは、文字が1つもない行だけです。スペースやタブだけの行も外したいときは、「比較前に前後の空白を除く」も一緒にオンにしてください。

削除された行だけ表示

「削除された行だけ表示」をオンにすると結果が入れ替わり、残る行ではなく削除される行だけが入力した順に並びます。実際に消す前に、何がなくなるのかを確かめるための表示です。同じ値が3回出てくれば2回目と3回目の両方が削除されるので、結果には2回出てきます。a、b、a、aの4行を入れると、結果はa、aの2行です。

行の一部だけが同じ場合

比べるのはいつも行全体です。カンマやタブで列を区切った表から、特定の列が同じ行を探すことはできません。1,kimと2,kimは名前が同じでも別の行なので、両方とも残ります。名前を基準に重複を消したいなら、名前の列だけをコピーして入れてください。住所のように1件が複数行にまたがるリストも、行ごとに別々に比べるため向いていません。

よくある質問

見た目は同じ行なのに削除されません。なぜですか?

目に見えない違いが隠れていることがほとんどです。行末にスペースやタブが付いているなら「比較前に前後の空白を除く」を、大文字と小文字が違うなら「大文字・小文字を区別しない」をオンにしてください。オプションでは吸収できない違いもあります。行の途中のスペースの数が違う行(hong gilとhong gil)や、全角英字と半角英字(ABCとABC)は、どの設定でも別の行として扱われます。

結果の最後に空行が1つ残ります。どうすれば消せますか?

入力が改行で終わっていると、その後ろを空行1つとして数えます。そのため、a、b、aの3行の後ろに改行がもう1つあると、結果はa、b、空行になります。「空行を無視する」をオンにすれば、この空行は結果に出てきません。

2つのリストの両方に入っている値だけを取り出せますか?

それぞれのリストの中に重複がなければできます。1つ目のリストのすぐ下に2つ目のリストを貼り付けて「削除された行だけ表示」をオンにすると、2つ目のリストのうち1つ目にも入っている値だけが結果に残ります。どちらかのリストにもともと重複があるとその行も一緒に出てくるので、先にリストごとに重複を消してから1つにまとめてください。

削除された行数が、入力の行数から結果の行数を引いた数と合いません。なぜですか?

「空行を無視する」で外した空行は、削除した行数に入れないからです。a、空行、b、空行、aの5行を「空行を無視する」をオンにして入れると、結果はa、bの2行ですが、表示は「重複した行を1行削除しました。」になります。2つの空行は重複として消したのではなく、はじめから比較の対象にしていません。

最終更新日: