77

重複して表示されることが多い値の列があります。次のように、最初の列に基づいて一意の値の新しい列を作成する必要があります。

Column A   Column B  
a          a
a          b
b          c
c
c

この列 B は、実際には同じワークブック内の別のシートに表示する必要があるため、sheet2!A1スタイル形式で動作する必要があると思います。

これはコマンドでのみ機能するように見えるため、データ/フィルターメニューオプションには何の運もありませんでした。列 A に新しい値が入力されるたびに、列 B が自動的に更新されるようにする必要があります。

4

14 に答える 14

21

これを行う方法の良いガイドがここにあります。

基本的に次のようなもの:

=INDEX(Sheet1!$A$1:$A$20, MATCH(0, COUNTIF($B$1:B1,Sheet!$A$1:$A$20), 0))
于 2012-11-09T12:28:45.653 に答える
5

並べ替えられたでは、次のアイデアを試すこともできます。

B2=A2
B3=IFERROR(INDEX(A:A,MATCH(B2,A:A,1)+1),"")

B3は貼り付け可能です。最後の一意の一致の後、結果は 0 になります。これが望ましくない場合は、IF ステートメントを配置してこれを除外します。

編集:

少なくともテキスト値の場合は、IF ステートメントよりも簡単です。

B3=IFERROR(T(INDEX(A:A,MATCH(B2,A:A,1)+1)),"")
于 2012-11-09T12:45:32.687 に答える
2

A2:A8 の範囲に色名のリストがあり、列 BI に色名の個別のリストを抽出したいと考えています。

以下の手順に従ってください。

  • セル B2 を選択します。リストから一意の値を取得する式を記述します。
  • =IF(COUNTIF(A$2:A2,A2)=1,A2,””)
  • Enterキーボードの を押します。
  • この関数は、最初の色の名前を返します。
  • 残りのセルの値を返すには、同じ数式を下にコピーします。範囲 B3:B8 の数式をコピーするにはCTRL+C、キーボードの キーを押してセル B2 の数式をコピーし、 キーを押して範囲 B3:B8 に貼り付けますCTRL+V
  • ここでは、色名の一意のリストを含む出力を確認できます。
于 2014-10-07T08:23:46.483 に答える
2

リストを含むシートのワークシート モジュール:

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
于 2012-11-09T21:56:21.560 に答える
0

したがって、このタスクでは、最初にデータを A から Z または Z から A の順に並べ替えてから、以下に示すように 1 つの簡単な式を使用できます。

=IF(A2=A3, "Duplicate", "Not Duplicate")

上記の式は、列 A2 データ ( A は列番号、2 は行番号) が A3 (A は列番号、3 は行番号) と類似している場合、重複を出力することを示しています。

例を考えてみましょう。列 A は一部が重複している電子メール アドレスで構成されているため、列 2 で上記の式を使用すると、結果に 2 つの重複セルが表示されました。

重複データを取得した場合は、シートにフィルターを配置して、重複データのみを表示し、不要なデータをすべて削除します。

于 2016-03-22T11:48:18.963 に答える
0

正直なところ、私はこれらの例をティーまでたどりましたが、うまくいきませんでした。Excel を機能させるために無駄に苦労した結果、コラムの内容全体を NotePad++ にコピーするだけで、数分で簡単な解決策を見つけることができました。これを見てください: Notepad ++で重複行を削除する

編集:TextFXでそれを行う方法の簡単な概要は次のとおりです。

プラグイン -> プラグイン マネージャー -> プラグイン マネージャーを表示 -> 使用可能タブ -> TextFX -> インストール

TextFX が NotePad++ にインストールされた後、重複を削除するすべてのテキストを選択し、必ずチェックしてください: TextFX -> TextFX ツール -> ソート出力のみ UNIQUE 行

次に、「大文字と小文字を区別して行を並べ替える」または「大文字と小文字を区別しないで行を並べ替える」をクリックすると、一意の並べ替えが実行されます。

于 2016-09-14T00:06:54.783 に答える
0

あなたがしなければならないのは: データタブに行く 並べ替えとフィルターで詳細を選択 アクションで選択: 新しいリストが必要な場合は別の場所にコピー - 任意の場所にコピー リストの範囲で、レコードを取得したいリストを選択しました。そして、最も重要なことは次のことを確認することです: 一意のレコードのみ。

于 2018-05-03T22:37:35.310 に答える
-6

最新のアプローチでは、情報の列が OData ソースなどの Web サービスから取得される場合を検討します。列の値が複製された大量のデータからフィルター選択フィールドを生成する必要がある場合は、以下のコードを検討してください。

var CatalogURL = getweb(currenturl)
                 +"/_api/web/lists/getbytitle('Site%20Inventory%20and%20Assets')/items?$select=Expense_x0020_Type&$orderby=Expense_x0020_Type";

/* the column that is replicated, is ordered by <column_name> */

    OData.read(CatalogURL,
        function(data,request){

            var myhtml ="";
            var myValue ="";

            for(var i = 0; i < data.results.length; i++)
            {
                myValue = data.results[i].Expense_x0020_Type;

                if(i == 0)
                {
                        myhtml += "<option value='"+myValue+"'>"+myValue+"</option>";
                }
                else
                if(myValue != data.results[i-1].Expense_x0020_Type)
                {
                        myhtml += "<option value='"+myValue+"'>"+myValue+"</option>";

                }
                else
                {

                }


            }

            $("#mySelect1").append(myhtml);

        });
于 2014-12-18T22:08:43.500 に答える