كيفية تبديل الخلايا في عمود واحد بناءً على قيم فريدة في عمود آخر؟
لنفترض أن لديك نطاقًا من البيانات يحتوي على عمودين ، الآن ، تريد نقل الخلايا في عمود واحد إلى صفوف أفقية بناءً على قيم فريدة في عمود آخر للحصول على النتيجة التالية. هل لديك أي أفكار جيدة لحل هذه المشكلة في Excel؟
تبديل الخلايا في عمود واحد استنادًا إلى قيم فريدة باستخدام الصيغ
تبديل الخلايا في عمود واحد استنادًا إلى القيم الفريدة برمز VBA
تبديل الخلايا في عمود واحد بناءً على قيم فريدة باستخدام Kutools for Excel
تبديل الخلايا في عمود واحد استنادًا إلى قيم فريدة باستخدام الصيغ
باستخدام صيغ الصفيف التالية ، يمكنك استخراج القيم الفريدة ونقل البيانات المقابلة لها إلى صفوف أفقية ، يرجى القيام بما يلي:
1. أدخل صيغة الصفيف هذه: = INDEX ($ A $ 2: $ A $ 16 ، MATCH (0 ، COUNTIF ($ D $ 1: $ D1 ، $ A $ 2: $ A $ 16) ، 0)) في خلية فارغة ، D2 ، على سبيل المثال ، واضغط على Shift + Ctrl + Enter مفاتيح معًا للحصول على النتيجة الصحيحة ، انظر لقطة الشاشة:
ملاحظة: في الصيغة أعلاه ، A2: A16 هو العمود الذي تريد سرد القيم الفريدة منه ، و D1 هي الخلية الموجودة أعلى خلية الصيغة هذه.
2. ثم اسحب مقبض التعبئة لأسفل إلى الخلايا لاستخراج جميع القيم الفريدة ، انظر الصورة:
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 مفاتيح للحصول على النتيجة ، انظر الصورة:
ملاحظة: في الصيغة أعلاه: B2: B16 هي بيانات العمود التي تريد نقلها ، A2: A16 هو العمود الذي تريد تبديل القيم بناءً عليه ، و D2 يحتوي على القيمة الفريدة التي قمت باستخراجها في الخطوة 1.
4. ثم اسحب مقبض التعبئة إلى يمين الخلايا التي تريد إدراج البيانات المنقولة حتى تعرض 0 ، انظر لقطة الشاشة:
5. ثم استمر في سحب مقبض التعبئة لأسفل إلى نطاق الخلايا للحصول على البيانات المنقولة كما هو موضح في لقطة الشاشة التالية:
تبديل الخلايا في عمود واحد استنادًا إلى القيم الفريدة برمز VBA
قد تكون الصيغ معقدة لكي تفهمها ، هنا ، يمكنك تشغيل رمز VBA التالي للحصول على النتيجة المرجوة التي تحتاجها.
1. اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.
2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة او شباك.
رمز فبا: تبديل الخلايا في عمود واحد استنادًا إلى قيم فريدة في عمود آخر:
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 مفتاح لتشغيل هذا الرمز ، وسيظهر مربع موجه لتذكيرك بتحديد نطاق البيانات الذي تريد استخدامه ، انظر لقطة الشاشة:
4. ثم انقر فوق OK ، سيظهر مربع موجه آخر لتذكيرك بتحديد خلية لوضع النتيجة ، انظر لقطة الشاشة:
6. انقر OK ، وتم تبديل البيانات الموجودة في العمود B بناءً على القيم الفريدة في العمود A ، انظر الصورة:
تبديل الخلايا في عمود واحد بناءً على قيم فريدة باستخدام Kutools for Excel
إذا كان لديك كوتولس ل إكسيل، والجمع بين الجمع بين الصفوف المتقدمة و تقسيم الخلايا الأدوات المساعدة ، يمكنك إنهاء هذه المهمة بسرعة دون أي صيغ أو تعليمات برمجية.
كوتولس ل إكسيل : مع أكثر من 300 وظيفة إضافية مفيدة في Excel ، يمكنك تجربتها مجانًا دون قيود في أيام 30. |
بعد تثبيت كوتولس ل إكسيليرجى القيام بما يلي:
1. حدد نطاق البيانات الذي تريد استخدامه. (إذا كنت تريد الاحتفاظ بالبيانات الأصلية ، فيرجى نسخ البيانات ولصقها في موقع آخر أولاً.)
2. ثم اضغط كوتولس > دمج وتقسيم > الجمع بين الصفوف المتقدمة، انظر لقطة الشاشة:
3. في ضم الصفوف على أساس العمود مربع الحوار ، يرجى القيام بالعمليات التالية:
(1.) انقر فوق اسم العمود الذي تريد تبديل البيانات بناءً عليه ، ثم حدد المفتاح الأساسي;
(2.) انقر فوق عمود آخر تريد تبديل موضعه ، وانقر فوق دمج ثم اختر فاصلًا واحدًا لفصل البيانات المدمجة ، مثل مسافة ، فاصلة ، فاصلة منقوطة.
4. ثم اضغط Ok ، تم دمج البيانات الموجودة في العمود B معًا في خلية واحدة استنادًا إلى العمود A ، انظر الصورة:
5. ثم حدد الخلايا المدمجة ، وانقر فوق كوتولس > دمج وتقسيم > تقسيم الخلايا، انظر لقطة الشاشة:
6. في تقسيم الخلايا مربع الحوار، حدد انقسام إلى أعمدة تحت النوع الخيار ، ثم اختر الفاصل الذي يفصل بين بياناتك المدمجة ، انظر الصورة:
7. ثم اضغط Ok ، وحدد خلية لوضع نتيجة الانقسام في مربع الحوار المنبثق ، انظر لقطة الشاشة:
8. انقر OK، وستحصل على النتيجة التي تريدها. انظر لقطة الشاشة:
قم بتنزيل Kutools for Excel والإصدار التجريبي المجاني الآن!
عرض توضيحي: تبديل الخلايا في عمود واحد استنادًا إلى قيم فريدة باستخدام Kutools for Excel
أفضل أدوات إنتاجية المكتب
Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪
- إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
- سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
- دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
- حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
- نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
- استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
- سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
- اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
- أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير
- تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
- فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
- يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
















































