تجاهل تكرار وإنشاء قائمة جديدة من القيم الفريدة في Excel



Answers

هناك دليل جيد لكيفية القيام بذلك here .

أساسا شيء مشابه ل:

=INDEX(Sheet1!$A$1:$A$20, MATCH(0, COUNTIF($B$1:B1,Sheet!$A$1:$A$20), 0))
Question

لدي عمود من القيم غالبًا ما يظهر كمكرر. أحتاج إلى إنشاء عمود جديد ، من القيم الفريدة استنادًا إلى العمود الأول ، على النحو التالي:

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

سيحتاج هذا العمود B بالفعل إلى الظهور على ورقة مختلفة ، داخل نفس المصنف ، لذلك أفترض أنه سيحتاج إلى العمل مع تنسيق نمط ورقة 2 sheet2!A1 .

لم تتح لي أي حظ مع خيارات قائمة البيانات / تصفية لأن هذا يبدو فقط للعمل في الأمر. أحتاج إلى عمود B لتحديثه تلقائيًا كلما تم إدخال قيمة جديدة في العمود A.




تجد here المذكورة أعلاه الصيغة مع التحكم في الخطأ

=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"") 

حيث: (B2: B9 هي بيانات العمود التي تريد استخراج القيم الفريدة ، D1 هي الخلية أعلاه حيث توجد الصيغة الخاصة بك)




لذلك بالنسبة لهذه المهمة ، قم أولاً بفرز بياناتك بالترتيب من الألف إلى الياء أو من الألف إلى الياء ، ثم يمكنك فقط استخدام صيغة بسيطة واحدة كما هو موضح أدناه:

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

تنص الصيغة المذكورة أعلاه على أنه إذا كانت بيانات عمود A2 (A هي عمود و 2 هو رقم الصف) تشبه A3 (A هو عمود و 3 هو رقم الصف) ثم ستتم طباعة Duplicate else ستتم الطباعة غير مكررة.

لنأخذ مثالاً على ذلك ، يتكون العمود A من عنوان البريد الإلكتروني حيث يكون بعضها مكررًا ، لذا في العمود 2 ، استخدمت الصيغة المذكورة أعلاه والتي في النتائج عرضت لي 2 من الخلايا المكررة واحدًا هو الصف 2 والصف 6.

واحد كنت حصلت على البيانات المكررة وضعت للتو تصفية على الورقة الخاصة بك وجعل مرئية فقط البيانات المكررة وحذف جميع البيانات غير الضرورية.




لإزالة مكررة من عمود

  1. فرز القيم في العمود A A-> Z
  2. حدد العمود B
  3. بينما لا يزال يتم تحديد العمود B ، في مربع إدخال الصيغة ، أدخل

    =IF(TRIM(A1)=TRIM(A2),"",TRIM(A1))
    
  4. أثناء تحديد العمود B ، حدد Edit -> Fill -> Down (في الإصدارات الأحدث ، حدد الخلية B1 ببساطة واسحب المربع الخارجي لتوسيع كل الطريق لأسفل في العمود)

ملاحظة : إذا كان العمود B موجودًا على ورقة أخرى ، فيمكنك عمل الورقة 1! A1 و Sheet1! A2.




يتمثل الأسلوب الحديث في النظر في الحالات التي يأتي فيها عمود المعلومات من إحدى خدمات الويب مثل مصدر ODATA. إذا كنت بحاجة إلى إنشاء عامل تصفية ، حدد حقولًا من البيانات الهائلة التي تحتوي على قيم مكررة للعمود ، خذ بعين الاعتبار الكود أدناه:

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);

        });



في وحدة ورقة العمل للورقة التي تحتوي على القائمة:

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





Links