web-dev-qa-db-ja.com

Excelの列で一意の値を取得する方法を教えてください。

値を含む列があり、そこにどのような個別の値があるのか​​を調べたい(実際の個別の値の数ではなく)場合、どうすればよいでしょうか。

SQL Serverでは、次のようにします。

SELECT Distinct(MyColumn) FROM MyTable
278
Kjensen

あなたが考えるかもしれないより簡単:

  • データリボンメニューをクリック
  • ソートとフィルタセクションで詳細設定ボタンを選択します。
  • ダイアログボックスに入力し、結果を別の場所にコピーして、必ず一意のレコードのみにチェックマークを付けます

enter image description here

294
A Dwarf

Excel 2007および2010:
Dataヘッダーの下にあるRemove Duplicatesメニューオプションを使用します。

Excel 2003:
簡単な方法:

  1. データにヘッダがあることを確認してください
  2. データ - >フィルタ - >詳細フィルタ
  3. 一意のレコードのみを確​​認する
  4. 別の場所にコピーするを選択します
  5. OKをクリック

難しい方法:

次のコードでマクロを書きます。

'Remove duplicates from sorted list
Sub getDistinct()
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
            ActiveCell.Select
            Selection.Delete Shift:=xlUp
        Else
            ActiveCell.Offset(1, 0).Activate
        End If
    Loop
End Sub

それはあなたにあなたの明確なリストを与えます。あなたは最初にあなたのリストを別のシートにコピーしたいかもしれません。

129
Nathan DeWitt

2つの主な方法を使用して個別の値を取得します。1つ目は、非常に貴重なRemove Duplicatesツールです Nathan DeWittが推奨

Remove Duplicatesのマイナス面は、データを失うことです。の力にもかかわらず Ctrl+z さまざまな理由でこれを実行したくない場合があります。たとえば、重複する値を削除して値の明確なリストを取得するのが非常に面倒なフィルタが現在選択されている場合があります。

上記以外の方法として、ピボットテーブルを使用する方法があります。

これがあなたのテーブルで、プラットフォームの明確なリストを取得したいとしましょう。 dummy table

テーブルをデータソースとしてPivot Tableを挿入します。

Row LabelsとしてPlatform(s)列を選択します。

ほら!異なる値のリスト.

pivot table as distinct value list

これを片付けたい場合は、Field HeadersをオフにしてGrand TotalsOff for Rows and Columnsに設定することができます。

20
Andi Mohr

または(単純な大雑把な方法):

B1では、

=IF(COUNTIF(A$1:A1,A1)=1,A1,"") 

コピーします。それは単に(それが現れる行の中で)各値の最初の出現をコピーするだけです。

17
Tapgas

または、フィルタオプションをマクロに含めることもできます。

    Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
5
cjcottell

私にとっては、ソートする最も簡単な方法は "Filter"オプションを使うことです。

最初のステップは、「条件付き書式設定」 - >「セル規則の強調表示」 - >「重複値」を使用して重複値を見つけることです。

次に、重複している列(この場合は「プラットフォーム」) - >色でフィルター処理(セルの色またはフォントの色)の列の矢印をクリックします。

3
Just Me