جدول المحتويات
يبحث البرنامج التعليمي في كيفية الحصول على قيم فريدة في Excel باستخدام وظيفة UNIQUE والمصفوفات الديناميكية. ستتعلم صيغة بسيطة للعثور على قيم فريدة في عمود أو صف ، في أعمدة متعددة ، بناءً على الشروط ، وأكثر من ذلك بكثير.
في الإصدارات السابقة من Excel ، استخراج قائمة فريدة من نوعها كانت القيم تحديا صعبا. لدينا مقال خاص يوضح كيفية العثور على العناصر الفريدة التي تحدث مرة واحدة فقط ، واستخراج جميع العناصر المميزة في القائمة ، وتجاهل الفراغات ، والمزيد. تطلبت كل مهمة استخدامًا مشتركًا للعديد من الوظائف وصيغة صفيف متعددة الأسطر لا يستطيع فهمها بالكامل سوى خبراء Excel.
أدى إدخال وظيفة UNIQUE في Excel 365 إلى تغيير كل شيء! ما كان في السابق علمًا للصواريخ يصبح سهلاً مثل ABC. الآن ، لست بحاجة إلى أن تكون خبيرًا في الصيغة للحصول على قيم فريدة من نطاق ، بناءً على معيار واحد أو عدة معايير ، وترتيب النتائج بترتيب أبجدي. يتم كل ذلك باستخدام صيغ بسيطة يمكن للجميع قراءتها وتعديلها وفقًا لاحتياجاتك الخاصة.
وظيفة Excel الفريدة
ترجع الدالة UNIQUE في Excel قائمة بالقيم الفريدة من نطاق أو مجموعة. يعمل مع أي نوع بيانات: نص ، أرقام ، تواريخ ، أوقات ، إلخ.
يتم تصنيف الوظيفة ضمن وظائف المصفوفات الديناميكية. والنتيجة هي صفيف ديناميكي يمتد تلقائيًا إلى الخلايا المجاورة عموديًا أو أفقيًا.
بناء جملة Excel UNIQUEتتضمن العديد من التعبيرات المنطقية في وسيطة للدالة FILTER ، كل منها يُرجع مصفوفة من قيم TRUE و FALSE. عند إضافة هذه المصفوفات ، فإن العناصر التي يكون معيار واحد أو أكثر لها هو TRUE سيكون لها 1 ، والعناصر التي تكون جميع المعايير الخاصة بها FALSE سيكون لها 0. ونتيجة لذلك ، فإن أي إدخال يلبي أي شرط منفرد يجعله في صفيف تم تسليمه إلى UNIQUE.
لمزيد من المعلومات ، يرجى الاطلاع على عامل التصفية بمعايير متعددة باستخدام منطق OR.
احصل على قيم فريدة في Excel مع تجاهل الفراغات
إذا كنت عند العمل مع مجموعة بيانات تحتوي على بعض الفجوات ، من المحتمل أن تحتوي قائمة العناصر الفريدة التي تم الحصول عليها باستخدام صيغة عادية على خلية فارغة و / أو قيمة صفرية. يحدث هذا بسبب تصميم وظيفة Excel UNIQUE لإرجاع كافة القيم المميزة في نطاق ، بما في ذلك الفراغات. لذلك ، إذا كان نطاق المصدر الخاص بك يحتوي على كل من الأصفار والخلايا الفارغة ، فستحتوي القائمة الفريدة على صفرين ، أحدهما يمثل خلية فارغة والآخر - قيمة صفرية بحد ذاتها. بالإضافة إلى ذلك ، إذا كانت بيانات المصدر تحتوي على سلاسل فارغة تُرجعها بعض الصيغ ، فستتضمن القائمة uique أيضًا سلسلة فارغة ("") تبدو بصريًا كخلية فارغة:
للحصول على قائمة بالقيم الفريدة بدون فراغات ، هذا ما عليك القيام به:
- تصفية الخلايا الفارغة والسلاسل الفارغة باستخدام وظيفة FILTER.
- استخدم وظيفة UNIQUE لقصر النتائج على فريدةالقيم فقط.
في شكل عام ، تبدو الصيغة كما يلي:
UNIQUE (FILTER ( range، range""))في هذا المثال ، الصيغة في D2 هي:
=UNIQUE(FILTER(B2:B12, B2:B12""))
ونتيجة لذلك ، يُرجع Excel قائمة بالأسماء الفريدة بدون خلايا فارغة:
ملاحظة. في حالة احتواء البيانات الأصلية على أصفار ، سيتم تضمين قيمة صفرية واحدة في القائمة الفريدة.
ابحث عن قيم فريدة في أعمدة محددة
في بعض الأحيان قد ترغب في استخراج فريد قيم من عمودين أو أكثر غير متجاورين. في بعض الأحيان ، قد ترغب أيضًا في إعادة ترتيب الأعمدة في القائمة الناتجة. يمكن تنفيذ كلتا المهمتين بمساعدة وظيفة CHOOSE.
فريدة (اختر ({1،2،…}، range1، range2))من نموذج الجدول الخاص بنا ، لنفترض أنك ترغب في الحصول على قائمة بالفائزين بناءً على القيم الموجودة في العمودين A و C وترتيب النتائج بهذا الترتيب: أولاً رياضة (العمود C) ، ثم اسم رياضي (العمود A). للقيام بذلك ، نقوم ببناء هذه الصيغة:
=UNIQUE(CHOOSE({1,2}, C2:C10, A2:A10))
والحصول على النتيجة التالية:
كيف هذه الصيغة يعمل:
ترجع الدالة CHOOSE مصفوفة ثنائية الأبعاد من القيم من الأعمدة المحددة. في حالتنا ، يتم أيضًا تبديل ترتيب الأعمدة.
{"Basketball"، "Andrew"؛ "كرة السلة" ، "بيتي" ؛ "الكرة الطائرة" ، "ديفيد" ؛ "كرة السلة" ، "أندرو" ؛ "الهوكي" ، "أندرو" ؛ "كرة القدم" ، "روبرت" ؛ "الكرة الطائرة" ، "ديفيد" ؛ "الهوكي" ، "أندرو" ؛"Basketball"، "David"}
من المصفوفة أعلاه ، تقوم الدالة UNIQUE بإرجاع قائمة من السجلات الفريدة.
البحث عن قيم فريدة ومعالجة الأخطاء
الصيغ الفريدة ناقشنا في هذا العمل التعليمي الكمال فقط ... بشرط أن تكون هناك قيمة واحدة على الأقل تلبي المعايير المحددة. إذا لم تعثر الصيغة على أي شيء ، فسيتم #CALC! حدث الخطأ:
لمنع حدوث ذلك ، قم ببساطة بلف الصيغة في دالة IFERROR.
على سبيل المثال ، إذا لم تكن هناك قيم فريدة تستوفي المعايير لا يمكنك عرض أي شيء ، أي سلسلة فارغة (""):
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
أو يمكنك إبلاغ المستخدمين بوضوح أنه لم يتم العثور على نتائج:
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
وظيفة Excel الفريدة لا تعمل
كما رأيت ، جعل ظهور وظيفة UNIQUE العثور على قيم فريدة في Excel أمرًا سهلاً للغاية. إذا أدت صيغتك فجأة إلى حدوث خطأ ، فمن المرجح أن تكون واحدة مما يلي.
#NAME؟ خطأ
يحدث إذا كنت تستخدم صيغة فريدة في إصدار Excel حيث لا يتم دعم هذه الوظيفة.
حاليًا ، تتوفر الدالة UNIQUE فقط في Excel 365 و 2021. إذا كان لديك صيغة مختلفة الإصدار ، قد تجد حلاً مناسبًا في هذا البرنامج التعليمي: كيفية الحصول على قيم فريدة في Excel 2019 و Excel 2016 والإصدارات الأقدم.
The #NAME؟ خطأ في الإصدارات المدعومة يشير إلى أن اسم الوظيفة بها خطأ إملائي.
#SPILLالخطأ
يحدث إذا لم تكن خلية واحدة أو أكثر في نطاق الانسكاب فارغة تمامًا.
لإصلاح الخطأ ، ما عليك سوى مسح الخلايا غير الفارغة أو حذفها . لمعرفة الخلايا التي تعترض طريقك بالضبط ، انقر فوق مؤشر الخطأ ، ثم انقر فوق تحديد الخلايا المعوقة . لمزيد من المعلومات ، يرجى الاطلاع على #SPILL! خطأ في Excel - الأسباب والإصلاحات.
هذه هي كيفية العثور على قيم فريدة في Excel. أشكرك على القراءة وآمل أن أراك على مدونتنا الأسبوع المقبل!
تدرب على المصنف للتنزيل
أمثلة صيغة القيم الفريدة لبرنامج Excel (ملف .xlsx)
الوظيفة هي كما يلي:UNIQUE (مصفوفة ، [by_col] ، [بالضبط مرة واحدة])أين:
صفيف (مطلوب) - النطاق أو المصفوفة التي يتم الرجوع منها قيم فريدة.
By_col (اختياري) - قيمة منطقية تشير إلى كيفية مقارنة البيانات:
- TRUE - يقارن البيانات عبر الأعمدة.
- خطأ أو محذوف (افتراضي) - يقارن البيانات عبر الصفوف.
بالضبط مرة واحدة (اختياري) - قيمة منطقية تحدد القيم التي تعتبر فريدة:
- TRUE - تُرجع القيم التي تحدث مرة واحدة فقط ، وهي فكرة قاعدة البيانات الفريدة.
- FALSE أو مهملة (افتراضي) - تُرجع جميع القيم المميزة (المختلفة) في النطاق أو المصفوفة.
ملاحظة. لا تتوفر حاليًا وظيفة UNIQUE إلا في Excel لـ Microsoft 365 و Excel 2021. لا يدعم Excel 2019 و 2016 والإصدارات الأقدم صيغ الصفيف الديناميكية ، لذلك لا تتوفر وظيفة UNIQUE في هذه الإصدارات.
صيغة UNIQUE الأساسية في Excel
أدناه صيغة القيم الفريدة لـ Excel في أبسط أشكالها.
الهدف هو استخراج قائمة بالأسماء الفريدة من النطاق B2: B10. لهذا ، أدخلنا الصيغة التالية في D2:
=UNIQUE(B2:B10)
يرجى ملاحظة أنه تم حذف الوسيطتين الثانية والثالثة لأن القيم الافتراضية تعمل بشكل مثالي في حالتنا - نحن نقارن الصفوف مقابل كل منهما أخرى وترغب في إرجاع جميع الأسماء المختلفة في النطاق.
عندما تضغط على مفتاح Enter لإكمال الصيغة ، سيقوم Excelإخراج أول اسم تم العثور عليه في D2 مما يؤدي إلى سكب الأسماء الأخرى في الخلايا أدناه. كنتيجة لذلك ، لديك جميع القيم الفريدة في عمود:
في حالة وجود بياناتك عبر الأعمدة من B2 إلى I2 ، قم بتعيين الوسيطة الثانية على TRUE للمقارنة الأعمدة مقابل بعضها البعض:
=UNIQUE(B2:I2,TRUE)
اكتب الصيغة أعلاه في B4 ، واضغط على Enter ، وستنتشر النتائج أفقيًا في الخلايا على اليمين. وبالتالي ، ستحصل على القيم الفريدة في صف:
نصيحة. للعثور على قيم فريدة في مصفوفات متعددة الأعمدة وإعادتها في عمود أو صف واحد ، استخدم UNIQUE مع دالة TOCOL أو TOROW كما هو موضح في الأمثلة أدناه:
- استخراج قيم فريدة من متعدد - نطاق العمود إلى عمود
- سحب قيم فريدة من نطاق متعدد الأعمدة إلى صف
وظيفة فريدة من نوعها في Excel - تلميحات وملاحظات
فريدة جديدة وظيفة ومثل وظائف الصفيف الديناميكية الأخرى لها بعض الخصائص التي يجب أن تكون على دراية بها:
- إذا كانت المصفوفة التي تم إرجاعها بواسطة UNIQUE هي النتيجة النهائية (أي لم يتم تمريرها إلى دالة أخرى) ، يقوم Excel بشكل ديناميكي بإنشاء نطاق الحجم المناسب وملئه بالنتائج. يجب إدخال الصيغة فقط في خلية واحدة . من المهم أن يكون لديك عدد كافٍ من الخلايا الفارغة لأسفل و / أو على يمين الخلية حيث تدخل الصيغة ، وإلا سيحدث خطأ #SPILL.
- يتم تحديث النتائج تلقائيًا عندماتتغير بيانات المصدر. ومع ذلك ، لا يتم تضمين الإدخالات الجديدة التي تمت إضافتها خارج الصفيف المشار إليه في الصيغة إلا إذا قمت بتغيير مرجع الصفيف . إذا كنت تريد أن تستجيب المصفوفة لتغيير حجم النطاق المصدر تلقائيًا ، فقم بتحويل النطاق إلى جدول Excel واستخدم المراجع الهيكلية ، أو قم بإنشاء نطاق ديناميكي مسمى.
- المصفوفات الديناميكية بين ملفات Excel المختلفة تعمل فقط عندما يكون كلا المصنفين مفتوحين . إذا تم إغلاق المصنف المصدر ، سترجع الصيغة الفريدة المرتبطة #REF! خطأ.
- مثل دوال المصفوفة الديناميكية الأخرى ، يمكن استخدام UNIQUE فقط ضمن النطاق العادي ، وليس الجدول. عند وضعها ضمن جداول Excel ، فإنها ترجع الخطأ #SPILL! خطأ.
كيفية العثور على قيم فريدة في Excel - أمثلة الصيغة
توضح الأمثلة أدناه بعض الاستخدامات العملية للدالة UNIQUE في Excel. الفكرة الرئيسية هي استخراج القيم الفريدة أو إزالة التكرارات ، اعتمادًا على وجهة نظرك ، بأبسط طريقة ممكنة.
استخراج القيم الفريدة التي تحدث مرة واحدة فقط
للحصول على قائمة بالقيم التي تظهر في النطاق المحدد مرة واحدة بالضبط ، اضبط الوسيطة الثالثة لـ UNIQUE على TRUE.
على سبيل المثال ، لسحب الأسماء الموجودة في قائمة الفائزين مرة واحدة ، استخدم هذه الصيغة:
=UNIQUE(B2:B10,,TRUE)
حيث B2: B10 هو نطاق المصدر والوسيطة الثانية ( by_col ) هي FALSE أو محذوفة لأن بياناتنا منظمة فيالصفوف.
ابحث عن قيم مميزة تحدث أكثر من مرة
إذا كنت تسعى إلى هدف معاكس ، أي تتطلع إلى الحصول على قائمة بالقيم التي تظهر في نطاق معين أكثر من مرة ، ثم استخدم الدالة UNIQUE مع FILTER و COUNTIF:
UNIQUE (FILTER ( range ، COUNTIF ( range ، range ) & gt؛ 1))على سبيل المثال ، لاستخراج الأسماء المختلفة التي تحدث في B2: B10 أكثر من مرة ، يمكنك استخدام هذه الصيغة:
=UNIQUE(FILTER(B2:B10, COUNTIF(B2:B10, B2:B10)>1))
كيف تعمل هذه الصيغة:
في قلب الصيغة ، تقوم الدالة FILTER بتصفية الإدخالات المكررة بناءً على عدد التكرارات ، التي تُرجعها الدالة COUNTIF. في حالتنا ، نتيجة COUNTIF هي مجموعة الأعداد هذه:
{4;1;3;4;4;1;3;4;3}
تقوم عملية المقارنة (& gt ؛ 1) بتغيير المصفوفة أعلاه إلى قيم TRUE و FALSE ، حيث تمثل TRUE العناصر التي تظهر أكثر من مرة:
{TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE}
يتم تسليم هذه المصفوفة إلى FILTER باعتبارها الوسيطة تتضمن ، لإخبار الوظيفة بالقيم التي يجب تضمينها في المصفوفة الناتجة: 3>
{"Andrew";"David";"Andrew";"Andrew";"David";"Andrew";"David"}
كما يمكنك أن تلاحظ ، تبقى القيم المقابلة لـ TRUE فقط.
تنتقل المصفوفة أعلاه إلى array وسيطة UNIQUE ، وبعدها إزالة التكرارات ينتج عنها النتيجة النهائية:
{"Andrew";"David"}
نصيحة. بطريقة مماثلة ، يمكنك تصفية القيم الفريدة التي تحدث أكثر من مرتين (& GT ؛ 2) ، أكثر من ثلاث مرات (& GT ؛ 3) ، إلخ. لهذا ، ما عليك سوى تغييررقم في المقارنة المنطقية.
ابحث عن قيم فريدة في أعمدة متعددة (صفوف فريدة)
في الحالة التي تريد فيها مقارنة عمودين أو أكثر وإرجاع القيم الفريدة بينهما ، قم بتضمين كل الأعمدة المستهدفة في وسيطة المصفوفة .
على سبيل المثال ، لإرجاع الاسم الأول الفريد (العمود A) والاسم الأخير (العمود B) للفائزين ، نقوم بإدخال هذه الصيغة في E2:
=UNIQUE(A2:B10)
يؤدي الضغط على مفتاح Enter إلى النتائج التالية:
للحصول على صفوف فريدة ، أي إدخالات مع مجموعة فريدة من القيم في الأعمدة A و B و C ، هذه هي الصيغة المستخدمة:
=UNIQUE(A2:C10)
بسيطة بشكل مذهل ، أليس كذلك؟ :)
احصل على قائمة بالقيم الفريدة مرتبة حسب الترتيب الأبجدي
كيف يمكنك ترتيب أبجديًا في Excel عادةً؟ على اليمين ، باستخدام ميزة الفرز أو التصفية المضمنة. تكمن المشكلة في أنك بحاجة إلى إعادة الفرز في كل مرة تتغير فيها بيانات المصدر ، لأنه على عكس صيغ Excel التي تعيد الحساب تلقائيًا مع كل تغيير في ورقة العمل ، يجب إعادة تطبيق الميزات يدويًا.
مع تقديم وظائف الصفيف الديناميكي لقد ولت هذه المشكلة! ما عليك القيام به هو ببساطة التواء دالة SORT حول صيغة فريدة عادية ، مثل هذا:
SORT (UNIQUE (array))على سبيل المثال ، لاستخراج قيم فريدة في الأعمدة A إلى C وترتيب النتائج من من الألف إلى الياء ، استخدم هذه الصيغة:
=SORT(UNIQUE(A2:C10))
مقارنة بالمثال أعلاه ،الإخراج أسهل بكثير في الإدراك والعمل معه. على سبيل المثال ، يمكننا أن نرى بوضوح أن أندرو وديفيد كانا فائزين في رياضتين مختلفتين.
نصيحة. في هذا المثال ، قمنا بفرز القيم في العمود الأول من A إلى Z. هذه هي القيم الافتراضية لوظيفة SORT ، لذلك تم حذف الوسيطات الاختيارية sort_index و sort_order . إذا كنت تريد فرز النتائج حسب عمود آخر أو بترتيب مختلف (من Z إلى A أو من الأعلى إلى الأصغر) ، فقم بتعيين الوسيطتين الثانية والثالثة كما هو موضح في البرنامج التعليمي لوظيفة SORT.
ابحث عن قيم فريدة في عدة أعمدة وسلسلة في خلية واحدة
عند البحث في أعمدة متعددة ، بشكل افتراضي ، تقوم وظيفة Excel UNIQUE بإخراج كل قيمة في خلية منفصلة. ربما ، ستجد أنه من الأنسب الحصول على النتائج في خلية واحدة؟
لتحقيق ذلك ، بدلاً من الإشارة إلى النطاق بأكمله ، استخدم علامة العطف (& amp ؛) لتسلسل الأعمدة ووضع المطلوب محدد بين.
كمثال ، نحن نجمع الأسماء الأولى في A2: A10 والأسماء الأخيرة في B2: B10 ، ونفصل القيم بحرف مسافة (""):
=UNIQUE(A2:A10&" "&B2:B10)
نتيجة لذلك ، لدينا قائمة بالأسماء الكاملة في عمود واحد:
احصل على قائمة بالقيم الفريدة بناءً على المعايير
لاستخراج القيم الفريدة بشرط ، استخدم وظائف Excel UNIQUE و FILTER معًا:
- عامل التصفيةتقصر الدالة البيانات على القيم التي تلبي الشرط فقط.
- تزيل الدالة UNIQUE التكرارات من القائمة التي تمت تصفيتها.
إليك الإصدار العام من صيغة القيم الفريدة التي تمت تصفيتها:
UNIQUE (FILTER (array، criteria_range = معيار ))في هذا المثال ، دعنا نحصل على قائمة بالفائزين في رياضة معينة. بالنسبة للمبتدئين ، نقوم بإدخال الرياضة موضع الاهتمام في بعض الخلايا ، على سبيل المثال F1. وبعد ذلك ، استخدم الصيغة أدناه للحصول على الأسماء الفريدة:
=UNIQUE(FILTER(A2:B10, C2:C10=F1))
حيث A2: B10 هو نطاق للبحث عن قيم فريدة و C2: C10 هو النطاق للتحقق من المعايير .
تصفية القيم الفريدة بناءً على معايير متعددة
لتصفية القيم الفريدة بشرطين أو أكثر ، استخدم التعبيرات كما هو موضح أدناه لإنشاء المعايير المطلوبة لوظيفة FILTER:
UNIQUE (FILTER (array، ( criteria_range1 = Standards1 ) * ( criteria_range2 = criteria2 )) )نتيجة الصيغة هي قائمة من الإدخالات الفريدة التي تكون جميع الشروط المحددة لها TRUE. فيما يتعلق ببرنامج Excel ، يسمى هذا منطق AND.
لرؤية الصيغة قيد التنفيذ ، دعنا نحصل على قائمة بالفائزين الفريدين للرياضة في G1 (المعايير 1) وتحت السن في G2 (المعايير 2 ).
مع نطاق المصدر في A2: B10 ، والرياضة في C2: C10 (معيار_نطاق 1) والأعمار في D2: D10 (معيار_نطاق 2) ، تأخذ الصيغة هذا الشكل:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
وإرجاع ملفالنتائج التي نبحث عنها:
كيف تعمل هذه الصيغة:
إليك شرح عالي المستوى لمنطق الصيغة:
في تضمين وسيطة دالة FILTER ، تقوم بتوفير اثنين أو أكثر من أزواج النطاق / المعايير. تكون نتيجة كل تعبير منطقي عبارة عن صفيف من قيم TRUE و FALSE. يؤدي ضرب المصفوفات إلى إجبار القيم المنطقية على أرقام وينتج مصفوفة من 1 و 0. نظرًا لأن الضرب في الصفر يعطي دائمًا صفرًا ، فإن الإدخالات التي تفي بجميع الشروط فقط لها 1 في المصفوفة النهائية. تقوم وظيفة FILTER بتصفية العناصر المقابلة لـ 0 وتسلم النتائج إلى UNIQUE.
لمزيد من المعلومات ، يرجى الاطلاع على عامل التصفية بمعايير متعددة باستخدام منطق AND.
تصفية القيم الفريدة باستخدام أو متعددة المعايير
للحصول على قائمة بالقيم الفريدة بناءً على معايير OR متعددة ، أي عندما يكون هذا المعيار OR هو TRUE ، أضف التعبيرات المنطقية بدلاً من مضاعفتها:
UNIQUE (FILTER (array، (<1)> نطاق_المعايير 1 = معيار 1 ) + ( نطاق_المعايير 2 = معيار 2 )))على سبيل المثال ، لإظهار الفائزين في أيٍّ من كرة القدم أو الهوكي ، يمكنك استخدام هذه الصيغة:
=UNIQUE(FILTER(A2:B10, (C2:C10="Soccer") + (C2:C10="Hockey")))
إذا لزم الأمر ، يمكنك بالطبع إدخال المعايير في خلايا منفصلة والرجوع إلى تلك الخلايا مثل الموضح أدناه:
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) + (C2:C10=G2)))
كيف تعمل هذه الصيغة:
تمامًا كما هو الحال عند اختبار معايير AND متعددة ، كنت مكان