كيفية إزالة صف مكرر والاحتفاظ بأعلى القيم فقط في Excel؟
على سبيل المثال، لديك جدول مشتريات في Excel كما يظهر في لقطة الشاشة الأولى. الآن، تحتاج إلى إزالة الصفوف المكررة بناءً على عمود «الفاكهة»، مع الاحتفاظ بأعلى قيمة في عمود «الكمية» لكل نوع من الفواكه، كما هو موضح في لقطة الشاشة الثانية. هل لديك حلٌّ لهذه المشكلة؟ سيعرض لك هذا المقال طريقتين فعالتين لحلها.
إزالة صف مكرر والاحتفاظ بأعلى القيم فقط باستخدام VBA
إزالة صف مكرر والاحتفاظ بأعلى القيم فقط باستخدام Kutools لـ Excel
إزالة صف مكرر والاحتفاظ بأعلى القيم فقط باستخدام VBA
افترض أن لديك جدولًا كما هو موضح في لقطة الشاشة أدناه. يقدم لك هذا الأسلوب ماكرو VBA لإزالة الصفوف المكررة استنادًا إلى عمود معين، مع الاحتفاظ فقط بالصف الذي يحتوي على أعلى قيمة في عمود آخر في Excel. يُرجى اتباع الخطوات التالية:

1. اضغط علىAlt + F11 معًا لفتح نافذة Microsoft Visual Basic for Applications.
2. انقرInsert > Module، ثم الصق الكود التالي في نافذة الـ Module الجديدة التي تفتح.
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 أو انقر على زرRun لتشغيل هذا الكود البرمجي VBA.
4. الآن ستظهر نافذة حوارية. يرجى تحديد الأعمدة التي تريد إزالة التكرارات منها والاحتفاظ بأعلى القيم فيها، ثم انقر على زرOK.

في حالتنا، سنقوم بإزالة الصف المكرر استنادًا إلى عمود الفاكهة (Fruit Column) مع الاحتفاظ بأعلى قيمة في عمود الكمية (Amount Column)، ولذلك اخترتُ عمود الفاكهة وعمود الكمية كما هو موضح في لقطة الشاشة أعلاه.
بعد ذلك، سترى أن الصف المكرر قد أُزيل استنادًا إلى عمود الفاكهة، مع الاحتفاظ بأعلى قيمة للكمية الخاصة بكل فاكهة. انظر لقطة الشاشة:

ملاحظات:
(1) يجب أن يبدأ النطاق المحدد بالعمود الذي ستعتمد عليه لإزالة الصفوف المكررة.
(2) يمكن لهذا الكود البرمجي VBA الاحتفاظ بأعلى القيم فقط في العمود الموجود مباشرةً بعد العمود المستخدم لإزالة الصف المكرر.
(3) لا يعمل كود VBA هذا في Microsoft Excel 2007.
إزالة صف مكرر والاحتفاظ بأعلى القيم فقط باستخدام Kutools لـ Excel
قد لا يكون كود VBA أعلاه سهل الاستخدام بما يكفي لبعض المستخدمين، كما أنه لا يستطيع الاحتفاظ بأعلى القيم إلا في العمود الذي يلي عمود المعايير مباشرةً. لكن أداةدمج متقدم للصفوفمن Kutools لـ Excel ستساعدك على حل هذه المشكلة بسهولة.
Kutools لـ Excel – مزوَّد بأكثر من 300 أداة أساسية لبرنامج Excel! اجعل مهامك في Excel أسرع، وأسهل، وأكثر كفاءة.حمِّل الآن!
1. حدد الجدول الذي تريد تنفيذ عملية إزالة الصفوف المكررة عليه مع الاحتفاظ بأعلى القيم (في مثالنا، حدد A1:C24)، ثم انقر علىKutools > دمج وتقسيم > دمج متقدم للصفوف.
2. في مربع الحوار «دمج الصفوف Based on Column» الذي يفتح، يُرجى التهيئة كما يلي:
(1) حدد عمود الفاكهة (الذي ستعتمد عليه لإزالة الصفوف المكررة)، ثم انقر على زرPrimary Key.
(2) حدد عمود الكمية (الذي ستحتفظ فيه بأعلى القيم)، ثم انقر علىCalculate > Max.
(3) حدد قواعد الدمج للأعمدة الأخرى وفقًا لاحتياجاتك.

3. انقر على زرOk، ثم سترى أن جميع الصفوف المكررة قد أُزيلت استنادًا إلى عمود الفاكهة، وتم الاحتفاظ فقط بالقيمة العليا لكل فاكهة في عمود الكمية. انظر لقطة الشاشة:

يمكن لأداةدمج متقدم للصفوفمن Kutools لـ Excel أن تقوم بسهولة بـ دمج الصفوف استنادًا إلى عمود واحد، ثم تحسب القيم في الأعمدة الأخرى بناءً على هذا العمود، مثل الجمع (Sum) أو العد (Count) أو القيمة العظمى (Max) أو القيمة الصغرى (Min) أو الضرب (Product) وغيرها.انقر للحصول على نسخة تجريبية مجانية لمدة 60 يومًا بدون أي قيود!
عرض توضيحي: إزالة صف مكرر والاحتفاظ بأعلى القيم فقط في Excel
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل