Skip to main content

كيفية تبديل الخلايا في عمود واحد بناءً على القيم الفريدة في عمود آخر؟

Author: Xiaoyang Last Modified: 2025-05-30

لنفترض أن لديك نطاقًا من البيانات يحتوي على عمودين، والآن تريد تبديل الخلايا في عمود واحد إلى صفوف أفقية بناءً على القيم الفريدة في العمود الآخر للحصول على النتيجة التالية. هل لديك أي أفكار جيدة لحل هذه المشكلة في Excel؟

A screenshot showing the desired result after transposing cells based on unique values

تبديل الخلايا في عمود واحد بناءً على القيم الفريدة باستخدام الصيغ

تبديل الخلايا في عمود واحد بناءً على القيم الفريدة باستخدام كود VBA

تبديل الخلايا في عمود واحد بناءً على القيم الفريدة باستخدام Kutools لـ Excel


تبديل الخلايا في عمود واحد بناءً على القيم الفريدة باستخدام الصيغ

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

1. أدخل هذه الصيغة المصفوفة: =INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) في خلية فارغة، D2 على سبيل المثال، واضغط معًا على مفاتيح Shift + Ctrl + Enter للحصول على النتيجة الصحيحة، انظر إلى لقطة الشاشة:

A screenshot showing the formula to extract unique values for transposing data

ملاحظة: في الصيغة أعلاه، A2:A16 هو العمود الذي تريد سرد القيم الفريدة منه، وD1 هي الخلية فوق خلية هذه الصيغة.

2. ثم اسحب مقبض التعبئة لأسفل إلى الخلايا لاستخراج جميع القيم الفريدة، انظر إلى لقطة الشاشة:

A screenshot showing the unique values extracted using a formula

3. وبعد ذلك استمر بإدخال هذه الصيغة في الخلية E2: =IFERROR(INDEX($B$2:$B$16, MATCH(0, COUNTIF($D2:D2,$B$2:$B$16)+IF($A$2:$A$16<>$D2, 1, 0), 0)), 0)، وتذكر أن تضغط على مفاتيح Shift + Ctrl + Enter للحصول على النتيجة، انظر إلى لقطة الشاشة:

A screenshot showing the formula to transpose cells in Excel based on unique values

ملاحظة: في الصيغة أعلاه: B2:B16 هو بيانات العمود الذي تريد تبديله، A2:A16 هو العمود الذي تريد تبديل القيم بناءً عليه، وD2 تحتوي على القيمة الفريدة التي استخرجتها في الخطوة 1.

4. ثم اسحب مقبض التعبئة إلى يمين الخلايا التي تريد سرد البيانات المبدلة فيها حتى يتم عرض 0، انظر إلى لقطة الشاشة:

A screenshot showing the transposed data in Excel using formulas

5. وبعد ذلك استمر بسحب مقبض التعبئة لأسفل إلى نطاق الخلايا للحصول على البيانات المبدلة كما هو موضح في لقطة الشاشة التالية:

A screenshot showing the final transposed data in Excel based on unique values


تبديل الخلايا في عمود واحد بناءً على القيم الفريدة باستخدام كود VBA

قد تكون الصيغ معقدة بالنسبة لك لفهمها، هنا، يمكنك تشغيل كود VBA التالي للحصول على النتيجة المرجوة التي تحتاجها.

1. اضغط معًا على مفاتيح ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.

2. انقر فوق إدراج > وحدة، والصق الكود التالي في نافذة الوحدة.

كود VBA: تبديل الخلايا في عمود واحد بناءً على القيم الفريدة في عمود آخر:

Sub transposeunique()
'updateby Extendoffice
    Dim xLRow As Long
    Dim i As Long
    Dim xCrit As String
    Dim xCol  As New Collection
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xTxt As String
    Dim xCount As Long
    Dim xVRg As Range
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("please select data range(only two columns):", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If (xRg.Columns.Count <> 2) Or _
       (xRg.Areas.Count > 1) Then
        MsgBox "the used range is only one area with two columns ", , "Kutools for Excel"
        Exit Sub
    End If
    Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    Set xOutRg = xOutRg.Range(1)
    xLRow = xRg.Rows.Count
    For i = 2 To xLRow
        xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i, 1).Value
    Next
    Application.ScreenUpdating = False
    For i = 1 To xCol.Count
        xCrit = xCol.Item(i)
        xOutRg.Offset(i, 0) = xCrit
        xRg.AutoFilter Field:=1, Criteria1:=xCrit
        Set xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)
        If xVRg.Count > xCount Then xCount = xVRg.Count
        xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible).Copy
        xOutRg.Offset(i, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        Application.CutCopyMode = False
    Next
    xOutRg = xRg.Cells(1, 1)
    xOutRg.Offset(0, 1).Resize(1, xCount) = xRg.Cells(1, 2)
    xRg.Rows(1).Copy
    xOutRg.Resize(1, xCount + 1).PasteSpecial Paste:=xlPasteFormats
    xRg.AutoFilter
    Application.ScreenUpdating = True
End Sub

3. ثم اضغط على مفتاح F5 لتشغيل هذا الكود، وسيظهر مربع تنبيه لتذكيرك باختيار نطاق البيانات الذي تريد استخدامه، انظر إلى لقطة الشاشة:

A screenshot of a prompt box for selecting a data range to transpose in Excel

4. وبعد ذلك انقر فوق زر موافق، سيظهر مربع تنبيه آخر لتذكيرك باختيار خلية لوضع النتيجة، انظر إلى لقطة الشاشة:

A screenshot of a prompt box for selecting an output cell for transposed data in Excel

6. انقر فوق زر موافق، وستتم عملية تبديل البيانات في العمود B بناءً على القيم الفريدة في العمود A، انظر إلى لقطة الشاشة:

A screenshot showing the transposed data in Excel after running VBA code


تبديل الخلايا في عمود واحد بناءً على القيم الفريدة باستخدام Kutools لـ Excel

إذا كان لديك Kutools لـ Excel، يمكن دمج أدوات دمج الصفوف المتقدمة وتقسيم الخلايا، يمكنك إنهاء هذه المهمة بسرعة دون أي صيغ أو أكواد.

Kutools لـ Excel يقدم أكثر من 300 ميزة متقدمة لتبسيط المهام المعقدة، مما يعزز الإبداع والكفاءة. بالتكامل مع قدرات الذكاء الاصطناعي، يقوم Kutools بأتمتة المهام بدقة، مما يجعل إدارة البيانات أمرًا سهلاً للغاية. معلومات تفصيلية عن Kutools لـ Excel... نسخة تجريبية مجانية...

بعد تثبيت Kutools لـ Excel، يرجى القيام بما يلي:

1. حدد نطاق البيانات الذي تريد استخدامه. (إذا كنت تريد الاحتفاظ بالبيانات الأصلية، يرجى نسخ البيانات ولصقها في موقع آخر أولاً.)

2. ثم انقر فوق Kutools > دمج وتقسيم > دمج الصفوف المتقدمة، انظر إلى لقطة الشاشة:

A screenshot of the Advanced Combine Rows option on the Kutools tab on the Ribbon

3. في مربع الحوار دمج الصفوف بناءً على العمود، يرجى القيام بالعمليات التالية:

(1.) انقر فوق اسم العمود الذي تريد تبديل البيانات بناءً عليه، واختر المفتاح الأساسي؛

(2.) انقر فوق عمود آخر الذي تريد تبديله، ثم انقر فوق دمج واختر فاصلًا لفصل البيانات المدمجة، مثل المسافة، الفاصلة، الفاصلة المنقوطة.

A screenshot of the Combine Rows Based on Column dialog box

4. ثم انقر فوق زر موافق، سيتم دمج البيانات في العمود B معًا في خلية واحدة بناءً على العمود A، انظر إلى لقطة الشاشة:

A screenshot showing the combined data in Kutools for Excel after merging rows based on unique values

5. وبعد ذلك حدد الخلايا المدمجة، وانقر فوق Kutools > دمج وتقسيم > تقسيم الخلايا، انظر إلى لقطة الشاشة:

A screenshot of the Split Cells option on the Kutools tab on the Ribbon

6. في مربع الحوار تقسيم الخلايا، حدد تقسيم إلى أعمدة أسفل خيار النوع، ثم اختر الفاصل الذي يفصل بياناتك المدمجة، انظر إلى لقطة الشاشة:

A screenshot of the Split Cells dialog box

7. ثم انقر فوق زر موافق، وحدد خلية لوضع نتيجة التقسيم في مربع الحوار المنبثق، انظر إلى لقطة الشاشة:

A screenshot of the dialog box for selecting the output cell

8. انقر فوق موافق، وستحصل على النتيجة التي تحتاجها. انظر إلى لقطة الشاشة:

A screenshot showing the final result of transposed data

تحميل وتجربة Kutools لـ Excel الآن مجانًا!


عرض توضيحي: تبديل الخلايا في عمود واحد بناءً على القيم الفريدة باستخدام Kutools لـ Excel

 
Kutools لـ Excel: أكثر من 300 أدوات عملية في متناول يدك! استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! قم بالتنزيل الآن!

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

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!