إليك مثال على كيفية استخدام دالات VLOOKUP و IFERROR و ROW لاستخراج البيانات غير المتكررة بشكل تلقائي في Excel:
2 تحميل كتاب الإكسل للمهندسين pdf
3 كتاب مجاني شرح أكثر من 100 دالة من الإكسل
4 كتاب متقدم جدا 👌 كتاب طرق الاهلاك باستخدام دوال الاكسيل
لدينا بيانات في النطاق A1:B10 كما يلي:
A | B
---|---
1 | 1
2 | 2
3 | 3
4 | 4
5 | 5
6 | 6
7 | 7
8 | 8
9 | 9
10 | 10
نريد استخراج البيانات غير المتكررة فقط في النطاق B1:B10. يمكننا القيام بذلك باستخدام الصيغة التالية:
-----------------------------------------------------------------
=SMALL(IFERROR(VLOOKUP(ROW(A1:A10),A1:B10,2,TRUE),""),ROW(A1:A10))
تشرح هذه الصيغة ما يلي:
الدالة VLOOKUP تبحث عن قيمة الخلية A1 في نطاق A1:B10.
الدالة IFERROR تُرجع قيمة فارغة إذا لم تجد الدالة VLOOKUP قيمة مطابقة.
الدالة SMALL تُرجع أصغر قيمة في نطاق الخلايا الذي يرجع إليه الدالة IFERROR.
الدالة ROW تُرجع رقم الصف للخلية الحالية.
لتطبيق هذه الصيغة، نقوم بإدخالها في الخلية B1. ثم نقوم بسحب الزاوية السفلية اليمنى للخلية B1 لنسخ الصيغة إلى الخلايا B2 إلى B10.
هذا ينتج لنا النتيجة التالية:
B
1
2
3
4
5
6
7
8
9
10
كما ترى، تم استخراج البيانات غير المتكررة فقط في النطاق B1:B10.
هناك طريقة أخرى للقيام بذلك باستخدام دالة COUNTIF. يمكننا استخدام الصيغة التالية:
=IF(COUNTIF(A$1:A10,A1)=1,A1,"")
تشرح هذه الصيغة ما يلي:
الدالة COUNTIF تُرجع عدد الخلايا في نطاق A$1:A10 التي تحتوي على قيمة مطابقة لقيمة الخلية A1.
الدالة IF تُرجع قيمة الخلية A1 إذا كانت الدالة COUNTIF تُرجع 1، وإلا فإنها تُرجع قيمة فارغة.
لتطبيق هذه الصيغة، نقوم بإدخالها في الخلية B1. ثم نقوم بسحب الزاوية السفلية اليمنى للخلية B1 لنسخ الصيغة إلى الخلايا B2 إلى B10.
هذا ينتج لنا النتيجة نفسها التي تم الحصول عليها باستخدام الصيغة الأولى.