Note: The other languages of the website are Google-translated. Back to English

كيف تسرد جميع المجموعات الممكنة من عمود واحد في إكسيل؟

إذا كنت ترغب في إرجاع جميع المجموعات الممكنة من بيانات عمود واحد للحصول على النتيجة كما هو موضح أدناه ، هل لديك أي طرق سريعة للتعامل مع هذه المهمة في Excel؟

قائمة بجميع التركيبات الممكنة من عمود واحد مع الصيغ

سرد كافة التركيبات الممكنة من عمود واحد مع التعليمات البرمجية لـ VBA


قائمة بجميع التركيبات الممكنة من عمود واحد مع الصيغ

يمكن أن تساعدك صيغ الصفيف التالية في تحقيق هذه المهمة ، يرجى القيام بذلك خطوة بخطوة:

1. أولاً ، يجب عليك إنشاء خليتين معادلة مساعدتين. في الخلية C1 ، الرجاء إدخال الصيغة أدناه ، واضغط كترل + شيفت + إنتر مفاتيح للحصول على النتيجة:

=MAX(LEN(A2:A6))
ملاحظة: في هذه الصيغة ، A2: A6 هي قائمة الخلايا التي تريد إدراج مجموعاتها.

2. في الخلية C2 ، أدخل الصيغة التالية ، واضغط على كترل + شيفت + إنتر مفاتيح معًا للحصول على النتيجة الثانية ، انظر لقطة الشاشة:

=CONCAT(A2:A6&REPT(" ",C2-LEN(A2:A6)))
ملاحظة: في هذه الصيغة ، A2: A6 هي قائمة الخلايا التي تريد إدراج مجموعاتها ، C2 هي الخلية التي تحتوي على الصيغة التي أنشأتها في الخطوة 1.

3. ثم انسخ والصق الصيغة التالية في الخلية D2 ، واضغط على كترل + شيفت + إنتر مفاتيح معًا للحصول على النتيجة الأولى ، انظر لقطة الشاشة:

=IF(ROW()>2^(COUNTA(A$2:A$6)),"",TEXTJOIN(" + ",TRUE,IF(MID(TEXT(DEC2BIN(ROW()-1),REPT("0",COUNTA($A$2:$A$6))),ROW(INDIRECT("1:"&COUNTA($A$2:$A$6))),1)+0,TRIM(MID($C$3,(ROW(INDIRECT("1:"&COUNTA($A$2:$A$6)))-1)*$C$2+1,$C$2)),"")))
ملاحظة: في هذه الصيغة ، A2: A6 هي قائمة الخلايا التي تريد إدراج مجموعاتها ، C2 هي الخلية التي تحتوي على الصيغة التي أنشأتها في الخطوة 1 ، C3 هي الخلية التي تحتوي على الصيغة التي قمت بإنشائها في الخطوة 2 ، ملف + الحرف هو الفاصل لفصل المجموعات ، يمكنك تغييرها حسب حاجتك.

4. ثم حدد خلية الصيغة هذه ، واسحب مقبض التعبئة لأسفل حتى تظهر خلايا فارغة. الآن ، يمكنك رؤية جميع مجموعات بيانات العمود المحددة معروضة كما هو موضح أدناه العرض التوضيحي:

ملاحظة: هذه الصيغة متاحة فقط في Office 2019 و 365 والإصدار الأحدث.

سرد كافة التركيبات الممكنة من عمود واحد مع التعليمات البرمجية لـ VBA

الصيغ المذكورة أعلاه متاحة فقط لإصدارات Excel الأحدث ، إذا كان لديك إصدارات سابقة من Excel ، فإن رمز VBA التالي يمكن أن يقدم لك خدمة.

1. صحافة Alt + F11 مفاتيح في نفس الوقت لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. ثم اضغط إدراج > وحدة، انسخ والصق رمز فبا أدناه في النافذة.

كود فبا: سرد كل المجموعات الممكنة من عمود واحد

Sub ConnectArr()
'Updateby ExtendOffice
Dim xDValue As Variant
Dim xOutRg As Range
Dim xDictionary As Object
Dim xF As Long
Dim xChar As String
xDValue = Range("A2:A6").Value 'the data range
Set xOutRg = Range("C1") 'output range
xChar = "," 'separator
For xF = 1 To UBound(xDValue)
    Set xDictionary = CreateObject("Scripting.Dictionary")
    xDictionary(0) = "Sets of " & xF
    Call ConnectValue(xDValue, xDictionary, 0, xF, 0, "", xChar)
    xOutRg.Offset(0, xF - 1).Resize(xDictionary.Count).Value = WorksheetFunction.Transpose(xDictionary.Items)
    Set xDictionary = Nothing
Next
End Sub
Sub ConnectValue(ByRef pDValue, ByRef pDictionary, ByRef pLevel, ByVal pMaxLevel, ByVal pIndex, ByVal pValue, ByVal pChar)
Dim xF As Long
If pLevel = pMaxLevel Then
    pDictionary(pDictionary.Count + 1) = pValue
    Exit Sub
End If
For xF = pIndex + 1 To UBound(pDValue)
    If pValue = "" Then
        Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pDValue(xF, 1), pChar)
    Else
        Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pValue & pChar & pDValue(xF, 1), pChar)
    End If
Next
End Sub
ملاحظة: في الكود أعلاه:
  • A2: A6: هي قائمة البيانات التي تريد استخدامها ؛
  • C1: هي خلية الإخراج ؛
  • ,: المحدد لفصل المجموعات.

3. ثم اضغط على F5 مفتاح لتنفيذ هذا الرمز. يتم سرد جميع المجموعات من العمود الفردي كما هو موضح أدناه لقطة الشاشة:


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2019 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (0)
لا يوجد تقييم. كن أول من يقيم!
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة