重複していることが多い値の列があります。次のように、最初の列に基づいて一意の値で新しい列を作成する必要があります。
Column A Column B
a a
a b
b c
c
c
この列Bは実際には同じワークブック内の別のシートに表示される必要があるため、sheet2!A1
スタイルの形式で作業する必要があると思います。
Data/Filterメニューオプションは運が良かったのですが、これはコマンドでしか機能しないようです。新しい値が列Aに入力されるたびに自動的に更新する列Bが必要です。
Toteroの答えは正しいです。リンクもとても参考になります。
基本的にあなたが必要とする式は:
B2=INDEX($A$2:$A$20, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$20), 0))
その後を押します ctrl+shift+enter (または配列式を使用しても機能しません)。
ここで覚えておくべき2つの重要な事柄:完全なリストはセルA2:A20
にあります、そしてこの式はセルB2
にペーストされなければなりません(それが循環参照を与えるのでB1
ではないので)。第二に、これは配列の式なので、あなたが押す必要があります ctrl+shift+enter または正しく機能しません。
これを行う方法の良いガイドがあります ここ 。
基本的には次のようなものです。
=INDEX(Sheet1!$A$1:$A$20, MATCH(0, COUNTIF($B$1:B1,Sheet!$A$1:$A$20), 0))
私の場合は、Excelの式を使っているときにExcelがフリーズしていました。
B2 = INDEX($ A $ 2:$ A $ 20、一致(0、COUNTIF($ B $ 1:B1、$ A $ 2:$ A $ 20)、0))
行が多かったため(10000)。だから私は私が以下に示す別の方法でやった。
元のリストを2列目にコピーした後、Excelの「重複の削除」機能を使用して、一意の値のリストを見つけることができました。
Microsoft Office Webサイトからコピーしたもの
Select all the rows, including the column headers, in the list
あなたがフィルタリングしたい。
範囲の左上のセルをクリックし、右下のセルまでドラッグします。
On the Data menu, point to Filter, and then click Advanced Filter. In the Advanced Filter dialog box, click Filter the list, in place. Select the Unique records only check box, and then click OK.
フィルター処理されたリストが表示され、重複行は非表示になります。
On the Edit menu, click Office Clipboard.
クリップボード作業ウィンドウが表示されます。
Make sure the filtered list is still selected, and then click Copy Copy button.
フィルタ処理されたリストは境界線で強調表示され、選択範囲はクリップボードの上部に>>項目として表示されます。
On the Data menu, point to Filter, and then click Show All.
元の一覧が再表示されます。
Press the DELETE key.
元のリストが削除されます。
In the Clipboard, click on the filtered list item.
フィルタ処理されたリストは、元のリストと同じ場所に表示されます。
出典:Microsoft Office Webサイト(リンクが削除された、死亡した原因)
列から重複を削除する
列Bが選択されたままの状態で、式入力ボックスに次のように入力します。
=IF(TRIM(A1)=TRIM(A2),"",TRIM(A1))
B列がまだ選択されている間に、Edit - > Fill - > Downを選択します(新しいバージョンでは、セルB1を選択し、外側のボックスをプルダウンして列全体を下に広げます)。
注:B列が別のシートにある場合は、Sheet1!A1とSheet1!A2を実行できます。
ソートされた列では、このアイデアを試すこともできます。
B2=A2
B3=IFERROR(INDEX(A:A,MATCH(B2,A:A,1)+1),"")
B3を貼り付けることができます。最後のユニークマッチの後、結果は0になります。これが望ましくない場合は、これを除外するためにIFステートメントを配置してください。
編集:
少なくともtext-valuesについては、IFステートメントよりも簡単です。
B3=IFERROR(T(INDEX(A:A,MATCH(B2,A:A,1)+1)),"")
リストを含むシートのワークシートモジュールで、次のようにします。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDest As Range
If Not Intersect(Target, Me.Columns(1)) Is Nothing Then
Set rngDest = ThisWorkbook.Sheets("Sheet2").Range("A1")
Me.Range(Me.Range("A2"), Me.Cells(Rows.Count, 1).End(xlUp)).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=rngDest, Unique:=True
End If
End Sub
色の名前のリストがA2:A8の列Bにあります。色の名前の異なるリストを抽出したいのですが。
以下の手順に従ってください。
=IF(COUNTIF(A$2:A2,A2)=1,A2,””)
正直なところ、私はティーにこれらの例に従った、そして彼らは単に働かなかった。無意味にExcelを動かそうと努力した結果、コラムの内容全体をNotePad ++にコピーするだけで、すぐに簡単な解決策を見つけることができました。これを見てみましょう: Notepad ++で重複した行を削除する
編集:これはTextFXでそれを行う方法の簡単な概要です:
プラグイン - >プラグインマネージャ - >プラグインマネージャの表示 - >利用可能なタブ - > TextFX - >インストール
TextFXをNotePad ++にインストールした後、重複を削除したいテキストをすべて選択してから、必ずチェックしてください。TextFX - > TextFXツール - >ソート出力のみUNIQUE行
次に「ソートラインで大文字と小文字を区別する」または「ソートラインで大文字と小文字を区別しない」をクリックすると、一意のソートが実行されます。
Excel 2016以降の別のアプローチは、Power Queryを使用することです。
の仕方:
Data
> From a table or a range
を使用します。Remove duplicates
、Close and load
を選択し、結果を表示する場所を選択します。これで完了です like this 。Refresh
を選択します。利点 :
欠点:
=SORT(UNIQUE(A:A))
上記の式は、列に固有の値をリストしたい場合に最適です。
検索--- ここ 上記の式とエラー制御
=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"")
ここで、(B2:B9は固有値を抽出する列データ、D1は式が配置されている上記のセルです)
[データ]タブの[並べ替えとフィルタ]で詳細を選択します。アクションで選択:新しいリストが必要な場合は別の場所にコピー - 任意の場所にコピーするリスト範囲でレコードをオフにするリストを選択します。そして最も重要なことはチェックすることです:唯一の記録だけ。
したがって、このタスクでは、まずAからZ、ZからAの順にデータを並べ替えます。次に、以下に示すように単純な式を1つ使用します。
=IF(A2=A3, "Duplicate", "Not Duplicate")
上記の式は、A2列のデータ(Aが列で2が行番号)がA3(Aが列で、3が行番号)に類似している場合、Duplicateを印刷し、そうでなければNot Duplicateを印刷します。
例を考えてみましょう。列Aは一部が重複している電子メールアドレスで構成されています。そのため、列2では、上記の式を使用しました。
重複データを取得したものは、シートにフィルタをかけるだけで、重複データのみを表示し、不要なデータをすべて削除します。