كيفية دمج القيم الفريدة في Excel؟
دمج القيم الفريدة في Excel هو مهمة شائعة يمكن تحقيقها من خلال طرق مختلفة. سيستعرض هذا المقال تقنيات مختلفة لدمج القيم الفريدة في عمود وسرد القيم الفريدة أثناء دمج القيم المقابلة لها.
سرد القيم الفريدة ودمج القيم المقابلة لها
دمج القيم الفريدة فقط من عمود
في تحليل البيانات، هناك حالات تحتاج فيها إلى دمج القيم الفريدة من عمود في Excel داخل خلية واحدة. يمكن تحقيق هذه المهمة باستخدام الصيغ أو VBA أو Kutools، حسب التفضيل ومعقدية مجموعة البيانات. أدناه، سنستكشف أساليب محسنة للتعامل مع هذا بفعالية.
الطريقة 1: باستخدام دالتي TEXTJOIN و UNIQUE
إذا كنت تستخدم Excel 365 أو Excel 2021، فإن الدالتين الجديدتين TEXTJOIN و UNIQUE توفران طريقة بسيطة وفعالة لدمج القيم الفريدة من عمود.
استخدم الصيغة التالية في الخلية التي تريد أن يكون فيها الناتج المدمج:
=TEXTJOIN(", ", TRUE, UNIQUE(A2:A18))
- UNIQUE(A2:A18) يستخرج القيم الفريدة فقط من النطاق.
- TEXTJOIN(", ", TRUE, ...) يدمج هذه القيم الفريدة، مفصولة بفاصلة ومسافة. وسيتم تجاهل الخلايا الفارغة بسبب الوسيطة TRUE.
الطريقة 2: باستخدام Kutools AI Aide
للحصول على حل أسرع وأكثر أتمتة، يقدم Kutools for Excel أداة مبتكرة - "Kutools AI Aide". ما عليك سوى وصف مهمتك، وسيقوم الذكاء الاصطناعي بإنشاء النتائج المطلوبة فورًا دون أي إعداد يدوي. وهذا يلغي الحاجة إلى صيغ معقدة أو إعدادات تستغرق وقتًا طويلًا، مما يوفر نتائج دقيقة في ثوانٍ.
بعد تثبيت Kutools For Excel، يرجى النقر فوق "Kutools" > "AI Aide" لفتح لوحة "Kutools AI Aide".
- حدد الخلايا التي تريد دمج القيم الفريدة منها فقط؛
- اكتب الطلب في مربع الدردشة: مثل:
دمج القيم الفريدة بفاصلة من النطاق المحدد ووضع الناتج المدمج في الخلية C2 - ثم اضغط على زر Enter أو انقر فوق الزر "إرسال". ستقوم Kutools AI بتحليل السؤال، وبعد الانتهاء، يرجى النقر فوق زر "تنفيذ" للحصول على النتيجة.
الطريقة 3: باستخدام دالة معرفة من قبل المستخدم
بالنسبة للمستخدمين المتقدمين الذين يحتاجون إلى مزيد من المرونة أو يريدون أتمتة العملية، يمكن إنشاء دالة VBA مخصصة (UDF) لدمج القيم الفريدة. هذه الطريقة مثالية للمستخدمين المريحين مع البرمجة أو أولئك الذين يحتاجون إلى حل قابل لإعادة الاستخدام.
1. اضغط باستمرار على مفتاحي "ALT + F11" لفتح نافذة "Microsoft Visual Basic for Applications".
2. انقر فوق "إدراج" > "وحدة"، والصق الكود التالي في نافذة الوحدة.
كود 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. ثم عد إلى ورقة العمل الخاصة بك، وأدخل هذه الصيغة: =ConcatUniq (A2:A18,",") في خلية فارغة حيث تريد إخراج الناتج المدمج، واضغط على مفتاح Enter للحصول على الناتج المدمج الفريد، انظر إلى لقطة الشاشة:
سرد القيم الفريدة ودمج القيم المقابلة لها
في Excel، سرد القيم الفريدة ودمج القيم المقابلة لها هو مهمة شائعة، خاصة عند التعامل مع مجموعات بيانات تتطلب التلخيص أو التوحيد. يوفر هذا القسم دليلًا شاملًا لتحقيق ذلك بفعالية.
الطريقة 1: باستخدام دالتي TEXTJOIN و UNIQUE
تجعل الدوال الحديثة في Excel مثل UNIQUE و FILTER و TEXTJOIN من السهل سرد القيم الفريدة ودمج القيم المقابلة لها دون الحاجة إلى صيغ معقدة.
1. استخدم دالة UNIQUE لسرد جميع القيم الفريدة من العمود A:
=UNIQUE(A2:A17)
2. طبق دالتي TEXTJOIN و FILTER لدمج القيم المقابلة للقيمة الفريدة، اسحب الصيغة لأسفل لملء الخلايا الأخرى، انظر إلى لقطة الشاشة:
=TEXTJOIN(", ", TRUE, FILTER($B$2:$B$17, $A$2:$A$17 =D2))
- UNIQUE(A2:A17) يستخرج القيم المميزة من العمود A.
- FILTER(B2:B17, A2:A17 = D2) يسترجع القيم المقابلة لكل قيمة فريدة.
- TEXTJOIN(", ", TRUE, ...) يدمج القيم المُرشحة باستخدام فاصل (مثل الفاصلة والمسافة).
الطريقة 2: باستخدام Kutools for Excel
إذا كان لديك Kutools for Excel، فإن ميزة "Advanced Combine Rows" القوية تتيح لك بسهولة سرد القيم الفريدة ودمج القيم المقابلة لها - بسرعة وسهولة، دون الحاجة إلى أي برمجة أو صيغ معقدة. ما عليك سوى تحديد بياناتك، تكوين الإعدادات، ودع Kutools يتولى الباقي، مما يوفر نتائج احترافية في ثوانٍ.
1. انسخ والصق البيانات الأصلية إلى خلية أخرى لعمل نسخة احتياطية من البيانات. حدد نطاق البيانات، ثم انقر فوق "Kutools" > "Merge & Split" > "Advanced Combine Rows"، انظر إلى لقطة الشاشة:
2. في مربع الحوار "Advanced Combine Rows"، قم بتكوين الإعدادات:
- انقر فوق اسم العمود الذي تريد دمج التكرارات بناءً عليه، ثم حدد "المفتاح الأساسي" من قائمة الخيارات المنسدلة في عمود "الحساب"؛
- ثم حدد اسم العمود الذي تريد دمج القيم فيه، واختر فاصلًا لفصل القيم من قائمة الخيارات المنسدلة في عمود "الحساب"؛
- أخيرًا، انقر فوق زر موافق.
النتيجة:
يقوم Kutools بأتمتة عملية استخراج القيم الفريدة ودمج القيم المقابلة لها باستخدام الفاصل المحدد.
الطريقة 3: باستخدام كود VBA
بينما يمكن للدوال المضمنة في Excel مثل UNIQUE و TEXTJOIN التعامل مع هذا إلى حد ما، فقد تكون غير كافية عند التعامل مع سيناريوهات معقدة أو إصدارات قديمة من Excel. سواء كنت مبتدئًا أو مستخدمًا متقدمًا، ستقودك هذه التعليمات عبر الخطوات لسرد القيم الفريدة ودمج القيم المقابلة لها باستخدام كود VBA.
1. اضغط باستمرار على مفتاحي "ALT + F11" لفتح نافذة "Microsoft Visual Basic for Applications".
2. انقر فوق "إدراج" > "وحدة"، والصق الكود التالي في نافذة الوحدة.
كود 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. انقر فوق موافق، سيظهر مربع تنبيه آخر لتذكيرك بتحديد الخلايا لوضع النتيجة:
5. انقر فوق موافق، تم استخراج القيم الفريدة وتم دمج القيم المقابلة لها في عمود آخر. انظر إلى لقطة الشاشة:
في الختام، يمكن تحقيق دمج القيم الفريدة في Excel بفعالية من خلال عدة طرق تتناسب مع مستويات مختلفة من الخبرة والاحتياجات. عن طريق اختيار الطريقة التي تناسب احتياجاتك بشكل أفضل، يمكنك تبسيط معالجة البيانات وتعزيز كفاءة إدارة القيم الفريدة في Excel. إذا كنت مهتمًا باستكشاف المزيد من نصائح وحيل Excel، يوفر موقعنا آلاف الدروس التعليمية.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!