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

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

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

تكديس عدة أعمدة في واحد باستخدام الصيغة

تكديس عدة أعمدة في واحد باستخدام VBA

رص أعمدة متعددة في واحد باستخدام نطاق التحويل فكرة جيدة 3


تكديس عدة أعمدة في واحد باستخدام الصيغة

1. حدد النطاق الذي تريد تكديسه ، وانتقل إلى اسم صندوق لمنح هذا النطاق اسمًا ، ثم اضغط على أدخل مفتاح. انظر لقطة الشاشة:
doc مكدس الأعمدة إلى واحد 2

2. ثم حدد خلية فارغة تريد وضع النتائج ، أدخل هذه الصيغة =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1)، صحافة ENTEr واسحب مقبض التعبئة لأسفل حتى يظهر خطأ. انظر لقطة الشاشة:
doc مكدس الأعمدة إلى واحد 3

في الصيغة ، MyData هو اسم النطاق الذي حددته في الخطوة 1.

تكديس عدة أعمدة في واحد باستخدام VBA

إليك رمز VBA الذي يمكن أن يساعدك أيضًا.

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

2. انقر إدراج > وحدة، الصق الكود أدناه إلى وحدة.

فبا: تكديس الأعمدة في واحد

Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
    Rng.Copy
    Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

doc مكدس الأعمدة إلى واحد 4

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

4. انقر OK. الآن تم تكديس الأعمدة في عمود واحد.
doc مكدس الأعمدة إلى واحد 6


رص أعمدة متعددة في واحد باستخدام نطاق التحويل

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

كوتولس ل إكسيل, مع أكثر من 300 وظائف يدوية ، تجعل مهامك أكثر سهولة. 

بعد تركيب مجاني Kutools for Excel ، يرجى القيام بما يلي:

1. حدد بيانات الأعمدة التي تستخدمها ، ثم انقر فوق كوتولس > الفترة (من ... إلى) > نطاق التحويل. انظر لقطة الشاشة:
doc مكدس الأعمدة إلى واحد 8

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

3. انقر OK. الآن تم تكديس الأعمدة في عمود واحد.
doc مكدس الأعمدة إلى واحد 1


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

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

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

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

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (25)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أنت تكدس عدة صفوف في عمود واحد ، وليس عدة أعمدة ... ليس ما كنت أبحث عنه.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لتكديس الأعمدة AP الموجودة في كتل من 6 صفوف ، ضع هذه الصيغ في الخلية R1 وقم بتعبئتها

=OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا يعمل بشكل ممتاز ، شكرا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا لنشر هذا الحل! في حالة احتياج أي شخص لمساحة بعد / في نهاية كل كتلة ، ما عليك سوى إضافة عدد إضافي إلى الصفوف ، لذا انتقل إلى المثال أعلاه ، بدلاً من $ A $ 6 ، اكتب $ A $ 7. يقوم بإدخال صفر "0" إلى الصف ولكن يمكنك بسهولة "استخدام التحديد للبحث" في Sublime لتحريرها. إذا كنت تعرف الحل الذي لا يضيف صفر ، يرجى نشر !؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لإخراج خلية فارغة بدلاً من 0 ، قم بعمل دالة IF> 0 ، TRUE -> إخراج محتوى الخلية الأصلي ، FALSE -> output ""

=if(OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)>0,OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1),"")
تم تصغير هذا التعليق بواسطة المشرف على الموقع
دانغ ، الآن لا يعمل! حاولت في علامة تبويب جديدة ولكنها عادت الآن إلى تكديس محتويات العمود في واحد بدلاً من محتوى الصف الأصلي.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
إلغاء ذلك الأخير ، فوّت الخطوة المقتطعة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أعلم أنك أجبت على هذا السؤال منذ وقت طويل جدًا ، ولكن هل يمكنك من فضلك توضيح ما يفعله كل جزء من هذه الوظيفة بالضبط؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ربما يمكن أن يساعدك هذا البرنامج التعليمي. https: // www.extendoffice.com / documents / excel / 3327-excel-convert-multiple-rows-to-columns.html
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا مجرد clickbait لتتمكن من تنزيل برنامج مدفوع
تم تصغير هذا التعليق بواسطة المشرف على الموقع
سيكون التنزيل الأول مجانيًا للاستخدام في غضون 60 يومًا ، وبعد ذلك ، يمكنك أن تقرر الدفع مقابل الاستخدام أم لا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هل هناك أي تحويل البيانات أعلاه إلى النموذج التالي ؟؟
1
A
ليلي
2
B
جودي
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا لترك رسالتك ، هذا البرنامج التعليمي https://www.extendoffice.com/documents/excel/5401-excel-stack-columns-into-one-column.html
يتحدث عن كيفية حل هذه المشكلة ، يمكنك الذهاب لعرض.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لدي بيانات تنتهي في نفس الصف ولكن أعمدة متعددة أريد أن يتم تكديسها فيها في تسلسل حيث ستنتقل بيانات العمود B ضمن بيانات العمود حيث تنتهي البيانات لبيانات العمود A والعمود C لتذهب ضمن بيانات العمود A حيث تنتهي البيانات من العمود B وهكذا. بهذه الطريقة سأحصل على بيانات من عدة أعمدة لتلائم عمودًا واحدًا. كيف أقوم بذلك؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هل هناك طريقة لجعل الصيغة تتجاهل أي خلايا فارغة قد تحتويها بياناتك؟


=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1),


أنا أستخدم ورقة مساعدة لإنشاء قائمة متجاورة لقائمة منسدلة للتحقق من صحة البيانات. شكرا لك مقدما.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عذرًا ، لست جيدًا في الصيغة ، ربما يمكنك محاولة استخدام الأداة المساعدة Kutools for Excel لتحديد الخلايا غير الفارغة لتحديد الخلايا غير الفارغة أولاً ، ونسخها ولصقها في موقع آخر ، ثم استخدم الطرق المذكورة أعلاه.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، أتطلع إلى المضي قدمًا في هذا الأمر. لقد استخدمت Stack Multiple Columns Into One With VBA، code وهذا يعمل. لقد استخدمت الجداول كمصدر مع هذا الرمز وأحصل على القائمة. هل هناك طريقة لأتمتة تشغيل الماكرو؟ لذلك عندما أقوم بإضافة إدخال جديد إلى الجدول ، يتم تشغيل الماكرو تلقائيًا ويحافظ على القائمة الناتجة محدثة؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، كريس بلاكبيرن ، آسف لأنني لا أستطيع العثور على رمز يمكن تشغيله تلقائيًا لتحديث النتيجة ، ربما يستطيع شخص آخر ذلك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحاول القيام بذلك على جدول كبير جدًا (مئات الأعمدة والصفوف المرتبطة جميعها بالصيغ. سيستمر تحميل Excel الخاص بي ثم ينتقل في النهاية إلى عدم الاستجابة. هل هناك طريقة لتجاوز هذا؟ شكرًا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا توم ، ما الطريقة التي تطبقها لا تعمل؟ الطريقة الثالثة ، أداة نطاق التحويل يجب أن تعمل.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أنا أستخدم طريقة Stack Multiple Columns Into One With Formula وقد عملت بشكل مثالي ، لكنني أريدها أن تحافظ على التنسيق ، أي أن بعض الأعمدة كانت غامقة و 1 كانت روابط تشعبية. هل هناك شيء يمكن إضافته إلى الصيغة لتحقيق ذلك؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، سوزان ميلارد ، يمكن أن تلبي صيغتها احتياجاتك ، يمكنك استخدام أداة VBA أو أداة Transpose Range - كلاهما يمكن أن يرضيك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا جزيلاً لك ، لقد نجح خيار الصيغة جيدًا .. لقد وفرت الكثير من وقتي.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا لك على الصيغة و VBA ، لكن لا أحد يفعل ما يقوله عنوان المنشور. كنت أتوقع منهم تكديس الأعمدة ، لكن بدلاً من ذلك قاموا بنقل كل صف إلى عمود وتكديس تلك ... لا يزال مفيدًا جدًا في بعض الحالات ، ولكن هل يعرف أي شخص كيفية تعديل الصيغة و / أو VBA لتكديس الأعمدة بالفعل؟ أفترض أنه يمكنني تبديل نطاق الإدخال بالكامل ثم استخدام هذه ...
تم تصغير هذا التعليق بواسطة المشرف على الموقع
بالنسبة لأولئك الذين يتطلعون إلى تكديس الأعمدة في صف واحد ولكن ليس في صف واحد ، فأنت بحاجة إلى الحصول على صورة واضحة لما تريد فعله حقًا. لنفترض أن لديك بعض المصفوفات 3x3 ، فأنت تريد أن تحصل وظيفة index () على إدخالات في شكل (صف ، عمود) لـ (1,1،2,1) ، (3,1،1,2) ، (2,2،3,2) ، ثم (1،2) ، (3،1) ، (2،3) وهكذا. ما يجب القيام به هو أن يشير الفهرس () إلى عمود واحد يحتوي على جميع أرقام الصفوف (1 ؛ 2 ؛ 3 ؛ 1 ؛ 1 ؛ 1 ؛ 2 ؛ 2 ؛ 2) وعمود واحد يحتوي على جميع أرقام الأعمدة (3 ؛ 3) ؛ 3؛ 1؛ 2؛ 3؛ 1؛ 2؛ 3). للحصول على (1؛ 2؛ 3؛ 1؛ 1,3؛ 0,1,2,0,1,2؛ XNUMX؛ XNUMX؛ XNUMX) ، أسلوب البرمجة الشائع هو استخدام XNUMX + mod (some_counter) -XNUMX،XNUMX) حيث تعطي الدالة mod () القيم المتبقية XNUMX،XNUMX،XNUMX،XNUMX،XNUMX،XNUMX ، ...
للحصول على (1 ؛ 1 ؛ 1 ؛ 2 ؛ 2 ؛ 2 ؛ 3 ؛ 3 ؛ 3) ، يستخدم المرء 1 + int ((some_counter-1) / 3) حيث يعطي 1 + 0 ، 1 + 0 ، 1 + 0 ، 1 + 1 ، 1 + 1 ، 1 + 1 ، 1 + 2 ، 1 + 2 ، 1 + 2
لذلك ، للحصول على مصفوفة 3 × 3 مكدسة في واحد ، يمكنك استخدام الصيغة (اضغط على Ctrl + Shft + Enter): = الفهرس ($ A $ 1: $ C $ 3 ، 1 + mod (row (A1) -1,3،1) ، 1 + int ((row (A1) -3) / 1))) حيث يعمل الصف (AXNUMX) كمقياس بينما تملأ الصيغة لأسفل
إذا وضعتها في الاتجاه المعاكس (من صف إلى أعمدة ، ومن أعمدة إلى صف) ، فستحصل على صفوف مكدسة في عمود واحد = INDEX ($ A $ 1: $ C $ 3 ، 1 + INT ((ROW (A1) -1) / 3)، 1 + MOD (ROW (A1) -1,3،XNUMX)) وهو أساسًا ما تفعله الصيغة في هذه المقالة

باختصار ، فإن الصيغة المستخدمة لتكديس الأعمدة في مصفوفة في عمود واحد ستكون: = index (your_array_cells، 1 + mod (row (A1) -1، number_of_rows_of_your_array) ، 1 + int ((صف (A1) -1 ) / number_of_columns_of_your_array)))
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL