كيفية إزالة الصفوف المكررة والاحتفاظ فقط بالقيم الأعلى في Excel؟
على سبيل المثال، لديك جدول شراء في Excel كما هو موضح في لقطة الشاشة الأولى. الآن تحتاج إلى إزالة الصفوف المكررة بناءً على عمود الفاكهة، والاحتفاظ بأعلى القيم المقابلة للفواكه في عمود المبلغ كما هو موضح في لقطة الشاشة الثانية. هل يمكنك التفكير في أي حلول؟ ستشير هذه المقالة إلى طريقتين لحل المشكلة.
إزالة الصفوف المكررة والاحتفاظ فقط بالقيم الأعلى باستخدام VBA
إزالة الصفوف المكررة والاحتفاظ فقط بالقيم الأعلى باستخدام Kutools لـ Excel
إزالة الصفوف المكررة والاحتفاظ فقط بالقيم الأعلى باستخدام VBA
لنفترض أن لديك جدولاً كما هو موضح في لقطة الشاشة أدناه. وستقدم هذه الطريقة ماكرو VBA لإزالة الصفوف المكررة بناءً على عمود معين والاحتفاظ فقط بالقيم الأعلى في عمود آخر في Excel. يرجى القيام بما يلي:
1. اضغط على مفتاحي Alt + F11 معًا لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق إدراج > وحدة، والصق الكود التالي في نافذة الوحدة الجديدة التي تم فتحها.
VBA: إزالة الصفوف المكررة والاحتفاظ بالقيم الأعلى
Public Sub DelDupes()
Dim xFilterRg As Range
Dim xCriteriaRg As Range
Dim xAddress As String
Dim xSUpdate As Boolean
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xFilterRg = Application.InputBox("Please select a range:", "Kutools for Excel", xAddress, , , , , 8)
If xFilterRg Is Nothing Then Exit Sub
Set xFilterRg = Application.Intersect(ActiveSheet.UsedRange, xFilterRg)
If xFilterRg Is Nothing Then Exit Sub
On Error GoTo 0
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xCriteriaRg = ActiveSheet.Cells(1, xFilterRg.Column + xFilterRg.Columns.Count).Resize(2)
xCriteriaRg.Resize(1).Offset(1).Formula = "=COUNTIF(" & xFilterRg(2, 1).Address & ":" & _
xFilterRg(2, 1).Address(False, False) & "," & _
xFilterRg(2, 1).Address(False, False) & ")>1"
With xFilterRg
.Sort key1:=xFilterRg.Cells(1, 1).Offset(0, 1), order1:=xlDescending, Header:=xlYes
.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=xCriteriaRg
.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
.Parent.ShowAllData
End With
xCriteriaRg.Clear
Application.ScreenUpdating = xSUpdate
End Sub
3. اضغط على مفتاح F5 أو انقر فوق زر التشغيل لتشغيل هذا الكود VBA.
4. الآن ستظهر مربع حوار. يرجى تحديد الأعمدة التي تريد إزالة الصفوف المكررة بناءً عليها والاحتفاظ بالقيم الأعلى فيها، ثم انقر فوق الزر موافق.
في حالتنا، سنقوم بإزالة الصفوف المكررة بناءً على عمود الفاكهة والاحتفاظ بالقيم الأعلى في عمود المبلغ، لذلك قمت بتحديد عمود الفاكهة وعمود المبلغ كما هو موضح في لقطة الشاشة أعلاه.
ثم سترى أن الصفوف المكررة قد تم إزالتها بناءً على عمود الفاكهة، والقيم الأعلى المقابلة للفواكه تم الاحتفاظ بها في عمود المبلغ. انظر لقطة الشاشة:
ملاحظات:
(1) يجب أن يبدأ النطاق المحدد بالعمود الذي سيتم إزالة الصفوف المكررة بناءً عليه.
(2) يمكن لهذا الكود VBA الاحتفاظ فقط بالقيم الأعلى في العمود الذي يلي العمود الذي تمت إزالته فيه الصفوف المكررة.
(3) لا يعمل هذا الكود VBA في Microsoft Excel 2007.
إزالة الصفوف المكررة والاحتفاظ فقط بالقيم الأعلى باستخدام Kutools لـ Excel
قد لا يكون الكود VBA أعلاه سهلًا بما فيه الكفاية لبعض المستخدمين، ويمكنه فقط الاحتفاظ بالقيم الأعلى في العمود خلف عمود المعايير. لكن أداة دمج متقدم للصفوف من Kutools لـ Excel ستساعدك على حل هذه المشكلة بسهولة.
Kutools لـ Excel - مزود بأكثر من 300 أدوات أساسية لبرنامج Excel. استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! قم بالتنزيل الآن!
1. حدد الجدول الذي تريد إزالة الصفوف المكررة منه والاحتفاظ بالقيم الأعلى (حدد A1:C24 في حالتنا)، وانقر فوق Kutools > دمج وتقسيم > دمج متقدم للصفوف.
2. في مربع الحوار دمج الصفوف بناءً على عمود الذي سيظهر، يرجى التكوين كما يلي:
(1) حدد عمود الفاكهة (الذي سيتم إزالة الصفوف المكررة بناءً عليه)، ثم انقر فوق زر المفتاح الأساسي؛
(2) حدد عمود المبلغ (الذي سيتم الاحتفاظ بالقيم الأعلى فيه)، ثم انقر فوق حساب > الحد الأقصى.
(3) حدد قواعد الجمع للأعمدة الأخرى حسب الحاجة.
3. انقر فوق الزر موافق . وبعد ذلك سترى أن جميع الصفوف المكررة قد تم إزالتها بناءً على عمود الفاكهة وتم الاحتفاظ فقط بالقيم القصوى المقابلة للفواكه في عمود المبلغ. انظر لقطة الشاشة:
أداة دمج متقدم للصفوف من Kutools لـ Excel يمكنها بسهولة دمج الصفوف بواسطة عمود واحد، ثم حساب الأعمدة الأخرى بناءً على هذا العمود أيضًا، مثل المجموع، العد، الحد الأقصى، الحد الأدنى، المنتج، وما إلى ذلك. انقر لتجربة مجانية لمدة 60 يومًا، بدون قيود!
عرض: إزالة الصفوف المكررة والاحتفاظ فقط بالقيم الأعلى في Excel
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!