جدول المحتويات
يوضح البرنامج التعليمي طرقًا مختلفة لتبديل الصفوف إلى الأعمدة في Excel: الصيغ ورمز VBA وأداة خاصة.
يعد نقل البيانات في Excel مهمة مألوفة للعديد من المستخدمين. غالبًا ما تقوم ببناء جدول معقد فقط لإدراك أنه من المنطقي تمامًا تدويره من أجل تحليل أفضل أو عرض البيانات في الرسوم البيانية بشكل أفضل.
في هذه المقالة ، ستجد عدة طرق لتحويل الصفوف إلى أعمدة (أو أعمدة إلى صفوف) ، أيهما تسميها ، إنها نفس الشيء :) تعمل هذه الحلول في جميع إصدارات Excel 2010 من خلال Excel 365 ، وتغطي العديد من السيناريوهات المحتملة ، وتشرح معظم الأخطاء النموذجية.
تحويل الصفوف إلى أعمدة في Excel باستخدام لصق خاص
افترض أن لديك مجموعة بيانات مشابهة لما تراه في الجزء العلوي من الرسومات أدناه. يتم تنظيم أسماء البلدان في أعمدة ، ولكن قائمة البلدان طويلة جدًا ، لذلك من الأفضل تغيير الأعمدة إلى صفوف لكي يتلاءم الجدول مع الشاشة:
لتبديل الصفوف إلى أعمدة ، قم بتنفيذ الخطوات التالية:
- حدد البيانات الأصلية. لتحديد الجدول بأكمله بسرعة ، أي جميع الخلايا التي تحتوي على بيانات في جدول بيانات ، اضغط على Ctrl + Home ثم Ctrl + Shift + End.
- انسخ الخلايا المحددة إما عن طريق النقر بزر الماوس الأيمن على التحديد واختيار انسخ من قائمة السياق أو بالضغط على Ctrl + C.
- حدد الخلية الأولى من النطاق الوجهة.
تأكد من تحديد خليةجرب هذا وأكثر من 70 أداة احترافية أخرى لبرنامج Excel ، أدعوك لتنزيل نسخة تجريبية من Ultimate Suite. شكرًا على القراءة وآمل أن أراك على مدونتنا الأسبوع المقبل!
يقع خارج النطاق الذي يحتوي على بياناتك الأصلية ، بحيث لا تتداخل مناطق النسخ ومناطق اللصق. على سبيل المثال ، إذا كان لديك حاليًا 4 أعمدة و 10 صفوف ، فسيحتوي الجدول المحول على 10 أعمدة و 4 صفوف. - انقر بزر الماوس الأيمن فوق الخلية الوجهة واختر لصق خاص من قائمة السياق ، ثم حدد تبديل .
لمزيد من المعلومات ، يرجى الاطلاع على كيفية استخدام لصق خاص في Excel.
ملاحظة. إذا كانت بيانات المصدر الخاصة بك تحتوي على صيغ ، فتأكد من استخدام المراجع النسبية والمطلقة بشكل صحيح بناءً على ما إذا كان ينبغي تعديلها أو بقائها مؤمنة على خلايا معينة.
كما رأيت للتو ، تتيح لك ميزة "لصق خاص" إجراء تحويلات من صف إلى عمود (أو من عمود إلى صف) حرفياً في بضع ثوانٍ. تنسخ هذه الطريقة أيضًا تنسيق بياناتك الأصلية ، مما يضيف وسيطة أخرى لصالحها.
ومع ذلك ، فإن هذا الأسلوب له عيبان يمنعان من أن يطلق عليه الحل الأمثل للتبديل البيانات في Excel:
- ليست مناسبة تمامًا لتدوير جداول Excel كاملة الوظائف. إذا قمت بنسخ الجدول بأكمله ثم قمت بفتح مربع الحوار لصق خاص ، فستجد الخيار تبديل معطلاً. في هذه الحالة ، تحتاج إما إلى نسخ الجدول بدون رؤوس الأعمدة أو تحويله إلى نطاق أولاً.
- لصق خاص & gt؛ تبديل لا يربط الجديد الطاولةمع البيانات الأصلية ، لذلك فهي مناسبة تمامًا للتحويلات لمرة واحدة فقط. كلما تغيرت بيانات المصدر ، ستحتاج إلى تكرار العملية وتدوير الجدول من جديد. لا أحد يريد أن يضيع وقته في تبديل نفس الصفوف والأعمدة مرارًا وتكرارًا ، أليس كذلك؟
كيفية تبديل جدول وربطه بالبيانات الأصلية
دعنا انظر كيف يمكنك تبديل الصفوف إلى الأعمدة باستخدام تقنية لصق خاص المألوفة ، ولكن قم بتوصيل الجدول الناتج بمجموعة البيانات الأصلية. أفضل شيء في هذا الأسلوب هو أنه كلما قمت بتغيير البيانات في الجدول المصدر ، سيعكس الجدول المعكوس التغييرات ويتم تحديثها وفقًا لذلك.
- انسخ الصفوف التي تريد تحويلها إلى أعمدة (أو أعمدة) لتغييرها إلى صفوف).
- حدد خلية فارغة في نفس ورقة العمل أو ورقة عمل أخرى.
- افتح مربع الحوار لصق خاص ، كما هو موضح في المثال السابق وانقر الصق الرابط في الزاوية اليسرى السفلية:
ستحصل على نتيجة مشابهة لهذه:
سيؤدي هذا إلى تحويل جدولك إلى شيء مخيف بعض الشيء ، كما ترى في لقطة الشاشة أدناه ، لكن لا داعي للذعر ،فقط خطوتان أخريان ، وستحقق النتيجة المرجوة.
هذا حل طويل بعض الشيء ولكنه أنيق ، أليس كذلك؟ العيب الوحيد في هذا الأسلوب هو أن التنسيق الأصلي يضيع في العملية وستحتاج إلى استعادته يدويًا (سأوضح لك طريقة سريعة للقيام بذلك بشكل أكبر في هذا البرنامج التعليمي).
كيف للتبديل في Excel باستخدام الصيغ
هناك طريقة أسرع لتبديل الأعمدة ديناميكيًا إلى صفوف في Excel باستخدام صيغة TRANSPOSE أو INDEX / ADDRESS. مثل المثال السابق ، تحافظ هذه الصيغ أيضًا على الاتصالات بالبيانات الأصلية ولكنها تعمل بشكل مختلف قليلاً.
تغيير الصفوف إلى أعمدة في Excel باستخدام وظيفة TRANSPOSE
كما يوحي اسمها ، وظيفة TRANSPOSE مصمم خصيصًا لنقل البيانات في Excel:
= TRANSPOSE (array)في هذا المثال ، سنقوم بتحويل جدول آخر يسرد الولايات الأمريكية حسب عدد السكان:
- احسب عدد الصفوف والأعمدة في الجدول الأصلي وحدد نفس عدد الخلايا الفارغة ، ولكن في الاتجاه الآخر.
على سبيل المثال ، يحتوي جدول العينة على 7 أعمدة و 6 صفوف ، بما في ذلكالعناوين. نظرًا لأن وظيفة TRANSPOSE ستغير الأعمدة إلى صفوف ، فإننا نختار نطاقًا من 6 أعمدة و 7 صفوف.
- مع تحديد الخلايا الفارغة ، اكتب هذه الصيغة:
=TRANSPOSE(A1:G6)
- نظرًا لأن صيغتنا تحتاج إلى أن يتم تطبيقها على خلايا متعددة ، اضغط على Ctrl + Shift + Enter لجعلها صيغة صفيف.
Voilà ، الأعمدة هي تغيرت إلى صفوف ، تمامًا كما أردنا:
مزايا وظيفة TRANSPOSE:
الفائدة الرئيسية لاستخدام وظيفة TRANSPOSE هي أن الجدول الذي تم تدويره يحتفظ بالاتصال بالجدول المصدر وكلما قمت بتغيير بيانات المصدر ، سيتغير الجدول المنقولة وفقًا لذلك.
نقاط ضعف وظيفة TRANSPOSE:
- تنسيق الجدول الأصلي غير محفوظ في الجدول المحول ، كما ترى في لقطة الشاشة أعلاه.
- إذا كانت هناك أي خلايا فارغة في الجدول الأصلي ، فستحتوي الخلايا المنقولة على 0 بدلاً من ذلك. لإصلاح ذلك ، استخدم TRANSPOSE مع وظيفة IF كما هو موضح في هذا المثال: كيفية التحويل بدون أصفار.
- لا يمكنك تحرير أي خلايا في الجدول الذي تم تدويره لأنه يعتمد إلى حد كبير على البيانات المصدر. إذا حاولت تغيير بعض قيم الخلية ، فسوف ينتهي بك الأمر مع الخطأ "لا يمكنك تغيير جزء من المصفوفة".
اختتام ، مهما كانت وظيفة TRANSPOSE جيدة وسهلة الاستخدام ، فهو بالتأكيد يفتقر إلى المرونة وبالتالي قد لا يكون الأفضلطريقة للذهاب في العديد من المواقف.
لمزيد من المعلومات ، يرجى الاطلاع على وظيفة Excel TRANSPOSE مع أمثلة.
تحويل صف إلى عمود بوظائف INDIRECT و ADDRESS
في هذا المثال ، سيستخدم مزيجًا من وظيفتين ، وهو أمر صعب بعض الشيء. لذلك ، دعنا ندير جدولًا أصغر حتى نتمكن من التركيز بشكل أفضل على الصيغة.
لنفترض أن لديك بيانات في 4 أعمدة (أ - د) و 5 صفوف (1-5):
لتبديل الأعمدة إلى الصفوف ، قم بما يلي:
- أدخل الصيغة أدناه في أقصى خلية يسارًا من نطاق الوجهة ، قل A7 ، واضغط على مفتاح Enter :
=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))
- انسخ الصيغة لليمين ولأسفل إلى العديد من الصفوف والأعمدة حسب الحاجة عن طريق سحب التقاطع الأسود الصغير في الركن الأيمن السفلي من الخلايا المحددة:
هذا كل شيء! في الجدول الذي تم إنشاؤه حديثًا ، يتم تبديل جميع الأعمدة إلى صفوف.
إذا بدأت بياناتك في صف آخر بخلاف 1 والعمود بخلاف A ، فسيتعين عليك استخدام صيغة أكثر تعقيدًا:
=INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1)))
حيث A1 هي الخلية العلوية اليسرى من الجدول المصدر. أيضًا ، يُرجى مراعاة استخدام مراجع الخلايا المطلقة والنسبية.
ومع ذلك ، تبدو الخلايا المنقولة بسيطة جدًا ومملة ، مقارنة بالبيانات الأصلية:
لكن لا تخيب ، فهذه المشكلة يمكن حلها بسهولة. لاستعادة التنسيق الأصلي ، إليك ما تفعله:
- انسخ الأصلالجدول.
- حدد الجدول الناتج.
- انقر بزر الماوس الأيمن فوق الجدول الناتج واختر خيارات اللصق & gt؛ تنسيق .
المزايا : توفر هذه الصيغة طريقة أكثر مرونة لتحويل الصفوف إلى أعمدة في Excel. يسمح بإجراء أي تغييرات في الجدول المنقولة لأنك تستخدم صيغة عادية ، وليس صيغة صفيف.
أوجه القصور : يمكنني رؤية واحدة فقط - يتم فقد تنسيق البيانات الترتيبية. على الرغم من ذلك ، يمكنك استعادته بسرعة ، كما هو موضح أعلاه.
كيف تعمل هذه الصيغة
الآن بعد أن عرفت كيفية استخدام تركيبة INDIRECT / ADDRESS ، قد ترغب في الحصول على نظرة ثاقبة لما تعمل الصيغة بالفعل.
كما يوحي اسمها ، يتم استخدام الدالة غير المباشرة للإشارة إلى خلية بشكل غير مباشر. لكن القوة الحقيقية لـ INDIRECT هي أنه يمكنه تحويل أي سلسلة إلى مرجع ، بما في ذلك السلسلة التي تنشئها باستخدام وظائف أخرى وقيم الخلايا الأخرى. وهذا بالضبط ما سنفعله. إذا كنت تتابع ذلك ، فستفهم كل الباقي بسهولة:)
كما تتذكر ، استخدمنا 3 وظائف أخرى في الصيغة - ADDRESS و COLUMN و ROW.
تحصل الدالة ADDRESS على عنوان الخلية من خلال أرقام الصفوف والأعمدة التي تحددها ، على التوالي. يرجى تذكر الترتيب: الأول - الصف ، الثاني - العمود.
في صيغتنا ، نقوم بتوفير الإحداثيات بترتيب عكسي ، وهذاهو في الواقع ما يفعله الحيلة! بمعنى آخر ، هذا الجزء من الصيغة ADDRESS (COLUMN (A1)، ROW (A1)) يبدل الصفوف إلى أعمدة ، أي يأخذ رقم عمود ويغيره إلى رقم صف ، ثم يأخذ رقم صف ويحوله إلى عمود number.
أخيرًا ، تقوم الوظيفة غير المباشرة بإخراج البيانات التي تم تدويرها. لا شيء مروع على الإطلاق ، أليس كذلك؟
تبديل البيانات في Excel باستخدام ماكرو VBA
لأتمتة تحويل الصفوف إلى أعمدة في Excel ، يمكنك استخدام الماكرو التالي:
Sub TransposeColumnsRows () Dim SourceRange كـ نطاق Dim DestRange كمجموعة نطاق SourceRange = Application.InputBox (موجه: = "الرجاء تحديد النطاق المراد تغيير موضعه" ، العنوان: = "تحويل الصفوف إلى الأعمدة" ، النوع: = 8) تعيين DestRange = Application.InputBox (الموجه: = "حدد الخلية اليسرى العلوية لنطاق الوجهة" ، العنوان: = "نقل الصفوف إلى الأعمدة" ، النوع: = 8) SourceRange.Copy DestRange. حدد Selection.PasteSpecial Paste: = xlPasteAll، Operation: = xlNone، SkipBlanks: = False، Transpose: = True Application.CutCopyMode = False End Subلإضافة ماكرو إلى ورقة العمل الخاصة بك ، يرجى اتباع الإرشادات الموضحة في كيفية الإدراج وتشغيل التعليمات البرمجية لـ VBA في Excel.
ملاحظة. التحويل باستخدام VBA ، له قيود على 65536 عنصرًا. في حالة تجاوز المصفوفة الخاصة بك هذا الحد ، سيتم التخلص من البيانات الإضافية بصمت.
كيفية استخدام الماكرو لتحويل صف إلى عمود
مع إدراج الماكرو في المصنف الخاص بك ، قم بتنفيذ ما يليالخطوات لتدوير الجدول الخاص بك:
- افتح ورقة العمل الهدف ، واضغط على Alt + F8 ، وحدد TransposeColumnsRows الماكرو ، وانقر فوق تشغيل .
استمتع بالنتيجة :)
تبديل الأعمدة والصفوف باستخدام أداة التحويل
إذا كنت بحاجة إلى إجراء تحويلات من صف إلى عمود بشكل منتظم ، فقد تبحث بالفعل عن طريقة أسرع وأبسط. لحسن الحظ ، لدي مثل هذه الطريقة في برنامج Excel الخاص بي ، وكذلك يفعل المستخدمون الآخرون في Ultimate Suite :)
دعني أوضح لك كيفية تبديل الصفوف والأعمدة في Excel حرفيًا ببضع نقرات:
- حدد أي خلية مفردة داخل الجدول ، انتقل إلى علامة التبويب Ablebits & gt ؛ مجموعة التحويل ، وانقر فوق الزر تبديل .
إذا كنت ترغب في لصق القيم فقط أو إنشاء ارتباطات إلى بيانات المصدر لفرض تحديث الجدول الذي تم تدويره تلقائيًا مع كل تغيير تجريه على الجدول الأصلي ، فحدد الخيار المقابل.
تم! يتم نقل الجدول ، ويتم الاحتفاظ بالتنسيق ، ولا حاجة إلى مزيد من التلاعب:
إذا كنت مهتمًا