كيفية دمج القيم الفريدة في Excel؟
عند العمل مع الجداول الإلكترونية، من الشائع مواجهة حالات تحتاج فيها إلى دمج (الدمج) فقط القيم الفريدة من عمود أو تجميع قوائم تلخص الإدخالات الفريدة مع سجلاتها المقابلة. التعامل مع التكرارات وتقديم المعلومات الموجزة لا ينظف بياناتك فحسب، بل يجعل التقارير أكثر وضوحًا ورؤية أعمق. في Excel، هناك عدة طرق عملية لتحقيق هذه الأهداف، بدءًا من استخدام الوظائف المدمجة إلى الاستفادة من الإضافات المتقدمة أو الكود المخصص. يقدم هذا الدليل استكشافًا تفصيليًا لطرق متعددة لدمج القيم الفريدة وسرد الإدخالات الفريدة مع بياناتها ذات الصلة. الحلول التي تم تناولها تناسب إصدارات Excel المختلفة وتفضيلات المستخدمين، مما يساعدك على اختيار أفضل نهج لسيناريوهاتك.
- باستخدام وظائف TEXTJOIN و UNIQUE
- باستخدام Kutools AI Aide
- باستخدام وظيفة معرفة المستخدم
- باستخدام صيغة Excel المتقدمة (حل بديل)
سرد القيم الفريدة ودمج القيم المقابلة
- باستخدام وظائف TEXTJOIN و UNIQUE
- باستخدام Kutools لـ Excel
- باستخدام كود VBA
- باستخدام جدول محوري Excel مع الصيغ (حل بديل)
دمج القيم الفريدة فقط من عمود
أثناء تحليل البيانات في Excel، إحدى المهام الشائعة هي دمج الإدخالات الفريدة فقط في عمود واحد في خلية واحدة. يمكن أن يكون هذا مفيدًا بشكل خاص لإنشاء تقارير موجزة، وتجنب القيم المكررة في قائمة، أو إعداد البيانات للمعالجة الإضافية. تعتمد اختيار الطريقة على إصدار Excel الخاص بك، حجم مجموعة البيانات، ومدى معرفتك بالصيغ أو الكود. تتناول الطرق التالية احتياجات مختلفة، وتبرز الاعتبارات لكل منها، وتقدم نصائح عملية لضمان التنفيذ الصحيح.
الطريقة الأولى: باستخدام وظائف TEXTJOIN و UNIQUE
بالنسبة لمستخدمي Excel365 وExcel2021، فإن إدخال وظائف TEXTJOIN وUNIQUE يجعل دمج القيم الفريدة من عمود أمرًا سهلًا ومرنًا.
هذا الحل هو الأفضل عندما تكون عمود بياناتك متصلًا وتريد توحيد جميع العناصر الفريدة بسرعة في خلية واحدة باستخدام فاصل مختار. يزيل التكرارات تلقائيًا، ويمكن مراجعته بسهولة، ويسمح لك بتغيير النطاق أو الفاصل حسب الحاجة. ومع ذلك، يجب ملاحظة أن هذا النهج متاح فقط في أحدث إصدارات Excel؛ لن تدعم الإصدارات القديمة وظيفة UNIQUE.
في الخلية التي تريد عرض النتيجة فيها، أدخل الصيغة التالية (بافتراض أن بياناتك في الخلايا A2:A18):
=TEXTJOIN(", ", TRUE, UNIQUE(A2:A18))
- تصفية UNIQUE(A2:A18) الإدخالات المكررة وتعيد فقط القيم الفريدة من النطاق A2:A18.
- تقوم TEXTJOIN(", ", TRUE, ...) بدمج (الجمع) هذه القيم الفريدة في خلية واحدة، مفصولة بفاصلة ومسافة. الحجة TRUE تضمن تجاهل أي خلايا فارغة في الدمج.
نصائح وإصلاح المشاكل:
- تأكد من أن إصدار Excel الخاص بك يدعم وظائف UNIQUE وTEXTJOIN. إذا رأيت خطأ #NAME?، قد تكون تستخدم إصدارًا قديمًا.
- يمكن تغيير الفاصل المستخدم في TEXTJOIN إلى أي شيء تفضله، مثل "; " أو "|".
- إذا أضفت أو أزلت بيانات في النطاق الأصلي، يتم تحديث الصيغة تلقائيًا.
- لتجنب المساحات الزائدة أو الفواصل غير المقصودة، تحقق من حجة الفاصل الخاصة بك في الصيغة.
الطريقة الثانية: باستخدام Kutools AI Aide
عندما تحتاج إلى طريقة أسرع وأكثر أتمتة لدمج القيم الفريدة - دون كتابة الصيغ - توفر أداة "AI Aide" من Kutools for Excel حلًا عمليًا يوفر الوقت لجميع مستويات المهارة. هذه الطريقة مفيدة بشكل خاص إذا لم تكن على دراية بصيغ Excel المتقدمة أو إذا كانت بياناتك تتغير بشكل متكرر، مما يتطلب مهام متكررة.
بعد تثبيت Kutools لـ Excel، قم بالوصول إلى هذه الميزة عن طريق النقر على "Kutools" > "AI Aide" لفتح لوحة "Kutools AI Aide".
- حدد الخلايا التي تحتوي على القيم التي تريد دمجها في خلية واحدة، مع التأكد من أن اختيارك يطابق بياناتك المقصودة.
- في مربع الدردشة، صف متطلباتك. على سبيل المثال، يمكنك كتابة:
دمج القيم الفريدة مع الفاصلة من النطاق المحدد ووضع نتيجة الدمج في الخلية C2 - اضغط على Enter أو انقر على "إرسال" الزر. تقوم الذكاء الاصطناعي بتحليل طلبك وبعد المعالجة، اضغط على "تنفيذ" لكي يقوم Kutools بإجراء العملية. ستُعاد النتيجة كما هو موضح.
ملاحظات ونصائح:
- تأكد من تشغيل أحدث إصدار من Kutools للوصول إلى جميع ميزات الذكاء الاصطناعي.
- كن محددًا في أمر النص الخاص بك لأفضل النتائج؛ ذكر الفاصل والخلية المستهدفة.
- Kutools AI فعّال بشكل خاص للنطاقات الكبيرة أو لسير العمل التي تحتاج إلى تكرار على مجموعات بيانات مختلفة.
الطريقة الثالثة: باستخدام وظيفة معرفة المستخدم
بالنسبة للمستخدمين الذين يحتاجون إلى مرونة متقدمة، أو مقاطع مخصصة، أو يريدون أداة قابلة لإعادة الاستخدام عبر العديد من المصنفات، فإن كتابة وظيفة معرفة المستخدم (UDF) في VBA هي طريقة فعالة لدمج القيم الفريدة تلقائيًا. يعمل هذا الحل VBA مع جميع إصدارات Excel ولا يقتصر على توافر الوظائف الجديدة.
- يجب تمكين ماكروهات في مصنفك.
- احفظ الملف كـ "macro-enabled" (.xlsm) في حالة استمرار استخدامك لهذا الكود VBA في المستقبل.
- يوصى بأخذ نسخ احتياطية منتظمة لمصنفك قبل تشغيل كود جديد.
1. اضغط باستمرار على ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. في نافذة VBA، انقر فوق Insert > Module، ثم قم بنسخ ولصق الكود التالي:
كود VBA: دمج القيم الفريدة في خلية واحدة:
Function ConcatUniq(xRg As Range, xChar As String) As String
'updateby Extendoffice
Dim xCell As Range
Dim xDic As Object
Set xDic = CreateObject("Scripting.Dictionary")
For Each xCell In xRg
xDic(xCell.Value) = Empty
Next
ConcatUniq = Join$(xDic.Keys, xChar)
Set xDic = Nothing
End Function
3. عد إلى ورقة عملك، وفي خلية فارغة (على سبيل المثال C2)، اكتب الصيغة التالية:
=ConcatUniq(A2:A18,",")اضغط Enter لتأكيد. ستعرض الخلية جميع القيم الفريدة من النطاق المحدد، مفصولة بفواصل.
- إذا كان نطاقك مختلفًا، قم بتعديل A2:A18 وفقًا لذلك.
- إذا كنت بحاجة إلى فاصل مختلف، استبدل "," في الصيغة بالرمز المفضل لديك (مثل ";" أو |).
- إذا واجهت خطأ #NAME?، تحقق من تمكين الماكروهات وأن اسم UDF يتطابق تمامًا.
نصيحة: لاستخدام هذه الوظيفة في مصنفات أخرى، انسخ كود VBA إلى وحداتها أيضًا.
الطريقة الرابعة: باستخدام صيغة Excel المتقدمة (حل بديل)
في البيئات حيث لا تكون وظيفة UNIQUE متاحة (على سبيل المثال، في Excel 2016 أو Excel 2019)، لا يزال بإمكانك دمج القيم الفريدة باستخدام تركيبة أكثر تعقيدًا من الوظائف الكلاسيكية IF، COUNTIF، وTEXTJOIN مع صيغ المصفوفة. يعمل هذا النهج ولكنه الأنسب لمجموعات البيانات الأصغر بسبب الحمل الحسابي.
1. في خلية مستهدفة (مثل C2)، أدخل الصيغة المصفوفة التالية (بعد الإدخال، اضغط Ctrl+Shift+Enter بدلاً من الضغط على Enter فقط):
=TEXTJOIN(", ", TRUE, IF(MATCH(A2:A18, A2:A18,0) = ROW(A2:A18) - MIN(ROW(A2:A18)) +1, A2:A18, ""))
2. إذا رأيت أقواسًا مجعدة {} حول الصيغة الخاصة بك، فقد تم إدخالها بشكل صحيح كصيغة مصفوفة. ستقوم الصيغة بإرجاع القيم الفريدة المدمجة من النطاق A2:A18، مفصولة بفواصل.
ملاحظة: يتطلب هذا الأسلوب ضبط النطاقات لتتناسب مع بياناتك. بالنسبة للمجالات الكبيرة جدًا، قد يزيد وقت الحساب. إذا لم تكن مرتاحًا لصيغ المصفوفة، ففكر في تجربة حلول VBA أو الإضافات الموضحة أعلاه.
سرد القيم الفريدة ودمج القيم المقابلة
غالبًا في تقارير البيانات، قد ترغب ليس فقط في استخراج القيم الفريدة من عمود واحد، ولكن أيضًا في تجميع أو دمج الإدخالات المقابلة لها من عمود آخر. على سبيل المثال، توحيد جميع المنتجات المباعة بواسطة كل مندوب مبيعات، أو تجميع جميع الإدخالات المرتبطة بنفس المعرف. اختيار الطريقة المناسبة يعتمد على تعقيد بياناتك وما إذا كانت الأولوية هي للأتمتة، سهولة الاستخدام، أو التوافق.
الطريقة الأولى: باستخدام وظائف TEXTJOIN وUNIQUE
عند استخدام Excel 365 أو Excel 2021، يمكنك دمج وظائف UNIQUE وFILTER مع TEXTJOIN لنهج قوي يعتمد بالكامل على الصيغ. تعمل هذه الطريقة بشكل جيد لتلخيص البيانات حيث قد ترتبط قيمة واحدة بعدة سجلات وتريد قائمة مفصولة بفاصل لتلك السجلات ذات الصلة.
1. في عمود فارغ، أدخل الصيغة التالية لسرد جميع القيم الفريدة من العمود A:
=UNIQUE(A2:A17)
2. الآن، لدمج القيم المقابلة من العمود B لكل إدخال فريد، في العمود المجاور لقيمة فريدة (مثل E2 إذا بدأت القيم الفريدة عند D2)، أدخل هذه الصيغة واسحبها لأسفل حسب الحاجة:
=TEXTJOIN(", ", TRUE, FILTER($B$2:$B$17, $A$2:$A$17 =D2))
- تقوم UNIQUE(A2:A17) بإنشاء مصفوفة من العناصر الفريدة من العمود A.
- تقوم FILTER(B2:B17, A2:A17 = D2) بإنشاء مصفوفة تحتوي على جميع القيم المقابلة من العمود B لكل قيمة فريدة في D2.
- تقوم TEXTJOIN(", ", TRUE, ...) بربط هذه القيم المقابلة، مفصولة بفواصل.
- إذا كنت بحاجة إلى فاصل مختلف، غيّر ", " في TEXTJOIN وفقًا لذلك.
- لتجنب الأخطاء، تأكد من أن النطاقات في صيغك ذات الطول نفسه، وأن FILTER لا يعيد أخطاء بسبب عدم وجود تطابقات.
- يقوم هذا الأسلوب بتحديث النتائج تلقائيًا عند تغيير بياناتك، مما يجعله مناسبًا للجداول الملخصة الديناميكية.
الطريقة الثانية: باستخدام Kutools لـ Excel
يتميز Kutools لـ Excel بأداة "Advanced Combine Rows" المصممة خصيصًا لتجميع البيانات حسب القيم الفريدة ودمج القيم المقابلة باستخدام الفاصل الذي تختاره. هذا مناسب للمستخدمين الذين يرغبون في حل رسومي وليسوا مرتاحين لكتابة الصيغ أو الكود. إنه ذو قيمة خاصة عند التعامل مع مجموعات بيانات كبيرة أو عندما تكون إعادة التجميع المتكررة مطلوبة، مثل في التقارير الدورية أو صيانة البيانات المستمرة.
قبل إجراء التغييرات، من الجيد نسخ بياناتك الأصلية إلى مكان آخر كإجراء احتياطي. ثم اتبع الخطوات التالية:
- حدد نطاق البيانات الذي ترغب في تنظيمه.
- انتقل إلى "Kutools" > "Merge & Split" > "Advanced Combine Rows"، كما هو موضح أدناه:
- في مربع الحوار الذي يفتح:
- حدد العمود الذي يحتوي على التكرارات ليتم دمجه، وقم بتعيينه كـ "Primary Key" في العمود "Operation".
- اختر العمود الذي ترغب في تجميعه (القيم لدمجها)؛ حدد الفاصل المفضل لديك في القائمة المنسدلة أسفل "Operation".
- انقر OK لتنفيذ.
النتيجة:
سيقوم Kutools بإعادة تنظيم بياناتك، واستخراج الإدخالات الفريدة ودمج جميع القيم المرتبطة بناءً على إعداداتك.
- إذا ارتكبت خطأ، استخدم ميزة التراجع في Excel (Ctrl+Z) للتراجع.
- يعمل هذا الأسلوب على مجموعات البيانات التي قد تحتوي على مئات أو آلاف السجلات، ويدعم مجموعة متنوعة من الفواصل.
الطريقة الثالثة: باستخدام كود VBA
يوفر استخدام نص VBA تحكمًا كاملًا في كيفية استخراج البيانات وملخصها. هذا الأسلوب متوافق مع جميع إصدارات Excel، ومناسب بشكل خاص لسير العمل المخصصة، الأتمتة، أو عندما تكون الوظائف مثل UNIQUE أو FILTER غير متاحة. إذا كانت بنية بياناتك تتغير بشكل متكرر، يمكن تكييف هذا الحل VBA بسهولة.
لاستخدام الكود أدناه، اتبع الخطوات التالية ببساطة:
1. اضغط على ALT + F11 لفتح محرر VBA.
2. انتقل إلى Insert > Module، ثم ألصق الكود التالي في نافذة الوحدة المفتوحة:
كود VBA: سرد القيم الفريدة ودمج البيانات المقابلة
Sub test()
'updateby Extendoffice
Dim xRg As Range
Dim xArr As Variant
Dim xCell As Range
Dim xTxt As String
Dim I As Long
Dim xDic As Object
Dim xOutputRg As Range
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the data range", "Kutools for Excel", xTxt, , , , , 8)
Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
If xRg Is Nothing Then Exit Sub
If xRg.Areas.Count > 1 Then
MsgBox "Does not support multiple selections", , "Kutools for Excel"
Exit Sub
End If
If xRg.Columns.Count <> 2 Then
MsgBox "There must be only two columns in the selected range", , "Kutools for Excel"
Exit Sub
End If
Set xOutputRg = Application.InputBox("Please select the output cell", "Kutools for Excel", Type:=8)
If xOutputRg Is Nothing Then Exit Sub
xArr = xRg
Set xDic = CreateObject("Scripting.Dictionary")
xDic.CompareMode = 1
For I = 1 To UBound(xArr)
If Not xDic.Exists(xArr(I, 1)) Then
xDic.Item(xArr(I, 1)) = xDic.Count + 1
xArr(xDic.Count, 1) = xArr(I, 1)
xArr(xDic.Count, 2) = xArr(I, 2)
Else
xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
End If
Next
xOutputRg.Resize(xDic.Count, 2).Value = xArr
End Sub
3. اضغط F5 لتشغيل البرنامج النصي. سيظهر مربع منبثق يطلب منك تحديد نطاق البيانات. تأكد من تحديد عمودين فقط: الأول للقيم الفريدة، والثاني للقيم المقابلة.
4. انقر OK، وحدد الخلية الأولى حيث يجب أن تبدأ جدول النتائج.
5. بعد النقر على OK، سيقوم الكود بإنشاء جدول يحتوي فقط على القيم الفريدة وبياناتهم المدمجة المرتبطة.
- إذا واجهت خطأ يتعلق بعدد الأعمدة، تحقق من أن اختيارك يشمل عمودين فقط.
- إذا كنت بحاجة إلى تغيير الفاصل من فاصلة إلى رمز آخر، قم بتعديل الكود في السطر
xArr(xDic.Item(xArr(I,1)),2) = xArr(xDic.Item(xArr(I,1)),2) & "," & xArr(I,2)
حسب الحاجة. - قم دائمًا بعمل نسخة احتياطية لملفك قبل تشغيل نصوص VBA جديدة.
باختصار، يوفر Excel مجموعة متنوعة من الأساليب لدمج القيم الفريدة ودمج البيانات ذات الصلة. الأساليب المعتمدة على الصيغ سريعة وديناميكية في Excel الحديث، بينما توفر حلول VBA وKutools توافقًا أوسع وسيطرة أكبر. اختر دائمًا الطريقة المناسبة لحجم بياناتك، إصدار Excel، وسير العمل المفضل لديك. تذكر اختبار على بيانات عينة أو عمل نسخة احتياطية لعملك، خاصة عند تجربة العمليات القائمة على البرامج النصية أو العمليات الدفعية. لمزيد من الإرشادات المتقدمة لـ 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 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد