انتقل إلى المحتوى الرئيسي

كيفية تحويل جدول نمط المصفوفة إلى ثلاثة أعمدة في إكسيل؟

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

تحويل جدول نمط المصفوفة إلى قائمة باستخدام PivotTable

تحويل جدول نمط المصفوفة إلى قائمة برمز VBA

تحويل جدول نمط المصفوفة إلى قائمة مع كوتولس ل إكسيل

doc تحويل المصفوفة إلى القائمة 1


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

1. قم بتنشيط ورقة العمل التي تريد استخدامها ، ثم اضغط باستمرار ALT + D، ثم اضغط P في لوحة المفاتيح ، في المنبثقة معالج PivotTable و PivotChart الحوار، حدد نطاقات التوحيد المتعددة تحت أين هي البيانات التي تريد تحليلها ، ثم اختر جدول محوري تحت ما نوع التقرير الذي تريد إنشاءه القسم ، انظر لقطة الشاشة:

doc تحويل المصفوفة إلى القائمة 2

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

doc تحويل المصفوفة إلى القائمة 3

3. استمر في النقر التالى زر ، في الخطوة 2 ب من 3 معالج، انقر فوق doc تحويل المصفوفة إلى القائمة 5 لتحديد نطاق البيانات الذي تريد تحويله ، ثم انقر فوق أضف زر لإضافة نطاق البيانات إلى كل النطاقات مربع القائمة ، انظر لقطة الشاشة:

doc تحويل المصفوفة إلى القائمة 4

4. وانقر التالى زر ، في خطوة 3 من 3 المعالج ، حدد موقعًا للجدول المحوري كما تريد.

doc تحويل المصفوفة إلى القائمة 6

5. ثم اضغط نهاية زر ، تم إنشاء جدول محوري مرة واحدة ، انظر الصورة:

doc تحويل المصفوفة إلى القائمة 7

6. في الجدول المحوري ، انقر نقرًا مزدوجًا فوق خلية متقاطعة من الإجمالي الكلي ، وفي هذه الحالة ، سوف أقوم بالنقر نقرًا مزدوجًا فوق الخلية F22 ، وسيتم إنشاء جدول من ثلاثة أعمدة كما هو موضح في لقطة الشاشة التالية:

doc تحويل المصفوفة إلى القائمة 8

7. وأخيرًا ، يمكنك تحويل تنسيق الجدول إلى النطاق العادي عن طريق تحديد الجدول ثم الاختيار طاولة > تحويل إلى المدى من قائمة السياق ، انظر لقطة الشاشة:

doc تحويل المصفوفة إلى القائمة 9


إذا لم تعجبك الطريقة الأولى ، فيمكن أن يساعدك رمز VBA التالي أيضًا.

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

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

كود فبا: تحويل جدول نمط المصفوفة إلى قائمة

Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
    For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
        outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
        outRng.Cells(k, 2) = xWs.Cells(xRow, j)
        outRng.Cells(k, 3) = xWs.Cells(i, j)
        k = k + 1
    Next j
Next i
End Sub

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

doc تحويل المصفوفة إلى القائمة 10

4. ثم انقر فوق OK الزر ، في مربع المطالبة التالي ، حدد تسميات الصفوف ، انظر الصورة:

doc تحويل المصفوفة إلى القائمة 11

5. استمر في النقر OK، ثم حدد نطاق البيانات باستثناء عناوين الأعمدة والصفوف في مربع المطالبة ، انظر لقطة الشاشة:

doc تحويل المصفوفة إلى القائمة 12

6. ثم انقر فوق OK، في مربع الحوار هذا ، الرجاء تحديد خلية تريد تحديد موقع النتيجة فيها. انظر لقطة الشاشة:

doc تحويل المصفوفة إلى القائمة 13

7. أخيرًا ، انقر فوق OK، وسوف تحصل على جدول من ثلاثة أعمدة مرة واحدة.


كلتا الطريقتين المذكورتين أعلاه مزعجة إلى حد ما ، هنا ، سأقدم لك طريقة سهلة - كوتولس ل إكسيل، بما لديها أبعاد الجدول المنقولة ميزة ، يمكنك بسرعة التحويل بين مصفوفة من الخلايا وجدول قائمة.

كوتولس ل إكسيل : مع أكثر من 300 وظيفة إضافية مفيدة في Excel ، يمكنك تجربتها مجانًا دون قيود في أيام 30

بعد تثبيت كوتولس ل إكسيليرجى اتباع الخطوات التالية:

1. انقر كوتولس > الفترة (من ... إلى) > أبعاد الجدول المنقولة، انظر لقطة الشاشة:

2. في أبعاد الجدول المنقولة صندوق المحادثة:

(1.) اختر عبر الجدول للقائمة الخيار تحت نوع التحويل.

(2.) ثم انقر فوق doc تحويل المصفوفة إلى القائمة 5 زر تحت نطاق المصدر لتحديد نطاق البيانات الذي تريد تحويله.

(3.) ثم انقر فوق doc تحويل المصفوفة إلى القائمة 5 زر تحت نطاق النتائج لتحديد خلية حيث تريد وضع النتيجة.

doc تحويل المصفوفة إلى القائمة 15

3. ثم انقر فوق OK ، وستحصل على النتيجة التالية والتي تتضمن تنسيق الخلية الأصلي:

doc تحويل المصفوفة إلى القائمة 16

مع هذه الأداة ، أنت أيضًا تحويل جدول القائمة المسطحة إلى طاولة عرضية ثنائية الأبعاد.

لمعرفة المزيد حول ميزة أبعاد جدول التحويل هذه.

قم بتنزيل Kutools for Excel والإصدار التجريبي المجاني الآن!


كوتولس ل إكسيل: مع أكثر من 300 وظيفة إضافية مفيدة في Excel ، يمكنك تجربتها مجانًا دون قيود خلال 30 يومًا. تنزيل وتجربة مجانية الآن!

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

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

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

الوصف


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

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks for the tips. It's greatly saved my time and manual efforts.
This comment was minimized by the moderator on the site
Anybody know how to do this in a mac?
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
For the VBA Code, one seems to really need this:xColumns = cRng.Column
xRow = rRng.Row
This comment was minimized by the moderator on the site
do you have a code with a tweak where the leftmost column of a selection is column labels and the topmost row of a selection is row labels?

Thanks in advance,
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
Thanks a Ton, really appreciate the way you have explained. very useful
This comment was minimized by the moderator on the site
Thanks alot for this useful tool
This comment was minimized by the moderator on the site
Thanks, this was exactly what I was looking for. Awesome:)
This comment was minimized by the moderator on the site
what if i have 4 or more column?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations