وظيفة Excel TOCOL لتحويل النطاق إلى عمود واحد

  • شارك هذا
Michael Brown

طريقة سهلة لتحويل صفيف أو نطاق إلى عمود باستخدام وظيفة TOCOL.

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

    وظيفة Excel TOCOL

    تقوم وظيفة TOCOL في Excel بتحويل صفيف أو نطاق من الخلايا إلى واحد عمود.

    تأخذ الوظيفة ثلاث وسيطات ، ولكن الأولى فقط مطلوبة.

    TOCOL (صفيف ، [تجاهل] ، [scan_by_column])

    أين:

    صفيف (مطلوب) - مصفوفة أو نطاق للتحويل إلى عمود.

    تجاهل (اختياري) - يحدد ما إذا كان يجب تجاهل الفراغات و / والأخطاء. يمكن أن تكون إحدى هذه القيم:

    • 0 أو محذوفة (افتراضي) - احتفظ بجميع القيم
    • 1 - تجاهل الفراغات
    • 2 - تجاهل الأخطاء
    • 3 - تجاهل الفراغات والأخطاء

    Scan_by_column (اختياري) - يحدد ما إذا كان سيتم مسح المصفوفة أفقيًا أو رأسيًا:

    • FALSE أو إغفاله (افتراضيًا) - امسح المصفوفة بصف من اليسار إلى اليمين.
    • TRUE - امسح المصفوفة بالعمود من أعلى إلى أسفل.

    تلميحات:

    • لتحويل مصفوفة إلى صف واحد ، استخدم TOROW
    • للقيام بالتحويل المعاكس من عمود إلى مصفوفة ، استخدم إما دالة WRAPCOLS للالتفاف حسب العمود أو دالة WRAPROWS للالتفاف حسب الصف.
    • لنقل مصفوفة من أفقي إلى عموديًا أو العكس ، أي تغيير الصفوف إلى أعمدة ، استخدم وظيفة TRANSPOSE.

    توفر TOCOL

    TOCOL هي وظيفة جديدة مدعومة في Excel for Microsoft 365 (لنظام التشغيل Windows و Mac) و Excel للويب.

    صيغة TOCOL الأساسية لتحويل النطاق إلى عمود

    تتطلب صيغة TOCOL في أبسط أشكالها وسيطة واحدة فقط - صفيف . على سبيل المثال ، لوضع مصفوفة ثنائية الأبعاد تتكون من 3 أعمدة و 4 صفوف في عمود واحد ، تكون الصيغة:

    =TOCOL(A2:C5)

    يتم إدخال الصيغة في خلية واحدة فقط (E2 في هذا المثال) وينسكب في الخلايا أدناه تلقائيًا. فيما يتعلق ببرنامج Excel ، فإن النتيجة تسمى نطاق الانسكاب.

    كيف تعمل هذه الصيغة:

    من الناحية الفنية ، يتم تحويل النطاق A2: C5 أولاً إلى مصفوفة ثنائية الأبعاد. يرجى ملاحظة الصفوف المفصولة بفاصلة منقوطة والأعمدة المحددة بفواصل:

    {"Apple","Banana","Cherry";1,0,3;4,#N/A,6;7,8,9}

    تقوم دالة TOCOL بمسح المصفوفة من اليسار إلى اليمين وتحويلها إلى صفيف عمودي أحادي البعد:

    {"Apple";"Banana";"Cherry";1;0;3;4;#N/A;6;7;8;9}

    يتم وضع النتيجة في الخلية E2 ، والتي تتدفق منها إلى الخلايا أدناه.

    كيفية استخدام دالة TOCOL في Excel - أمثلة الصيغة

    لاكتساب المزيد من الفهم لـإمكانيات وظيفة TOCOL والمهام التي يمكن أن تغطيها ، دعنا نلقي نظرة على بعض أمثلة الصيغ.

    تحويل المصفوفة إلى عمود مع تجاهل الفراغات والأخطاء

    كما لاحظت في المثال السابق ، تحافظ صيغة TOCOL الافتراضية على جميع القيم من المصفوفة المصدر ، بما في ذلك الخلايا الفارغة والأخطاء.

    في الصفيف الناتج ، يتم تمثيل الخلايا الفارغة بأصفار ، الأمر الذي قد يكون محيرًا للغاية ، خاصة إذا كانت المصفوفة الأصلية بها 0 قيم. الحل هو تخطي الفراغات . لهذا ، يمكنك تعيين الوسيطة الثانية على 1:

    =TOCOL(A2:C5, 1)

    لتجاهل الأخطاء ، اضبط الوسيطة الثانية على 2:

    =TOCOL(A2:C5, 2)

    لاستبعاد كل من ، الفراغات والأخطاء ، استخدم 3 للوسيطة تجاهل :

    =TOCOL(A2:C5, 3)

    مسح صفيف أفقيًا أو رأسيًا

    باستخدام الوسيطة الافتراضية scan_by_column (FALSE أو محذوفة) ، تقوم وظيفة TOCOL بمسح الصفيف أفقيًا بصف. لمعالجة القيم حسب العمود ، قم بتعيين هذه الوسيطة على TRUE أو 1. على سبيل المثال:

    =TOCOL(A2:C5, ,TRUE)

    لاحظ أنه في كلتا الحالتين ، تكون المصفوفات التي تم إرجاعها من نفس الحجم ، ولكن يتم ترتيب القيم بترتيب مختلف.

    ادمج نطاقات متعددة في عمود واحد

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

    بافتراض أن النطاق الأول هو A2: C4 والنطاق الثاني هو A8: C9 ، تأخذ الصيغة هذا الشكل:

    =TOCOL(VSTACK(A2:C4, A8:C9))

    توضح هذه الصيغة السلوك الافتراضي - تقرأ المصفوفات المدمجة أفقيًا من اليسار إلى اليمين كما هو موضح في العمود E في الصورة أدناه.

    لقراءة القيم رأسيًا من أعلى إلى أسفل ، يمكنك تعيين الوسيطة الثالثة لـ TOCOL إلى TRUE:

    =TOCOL(VSTACK(A2:C4, A8:C9), ,TRUE)

    يُرجى الانتباه إلى أنه في هذه الحالة ، تُرجع الصيغة قيمًا من العمود A لكلا المصفوفتين ، ثم من العمود B ، وهكذا. والسبب هو أن TOCOL تفحص صفيفًا مكدسًا واحدًا ، وليس النطاقات الفردية الأصلية.

    إذا كان منطق عملك يتطلب تكديس النطاقات الأصلية أفقيًا وليس رأسيًا ، فاستخدم وظيفة HSTACK بدلاً من VSTACK.

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

    =TOCOL(HSTACK(A2:C4, A8:C10))

    لإضافة كل مصفوفة لاحقة إلى يمين المصفوفة السابقة ومسح المصفوفات المدمجة عموديًا ، تكون الصيغة:

    =TOCOL(HSTACK(A2:C4, A8:C10), ,TRUE)

    استخراج قيم فريدة من نطاق متعدد الأعمدة

    يمكن أن تجد وظيفة Excel UNIQUE بسهولة العناصر الفريدة في عمود أو صف واحد بالإضافة إلى إرجاع صفوف فريدة ، ولكنها لا تستطيع استخراج قيم فريدة من صفيف متعدد الأعمدة. الحل هو استخدامه مع وظيفة TOCOL.

    على سبيل المثال ، لاستخراج جميع القيم المختلفة (المميزة) من النطاقA2: C7 ، الصيغة هي:

    =UNIQUE(TOCOL(A2:C7))

    بالإضافة إلى ذلك ، يمكنك التفاف الصيغة أعلاه في وظيفة SORT لترتيب المصفوفة التي تم إرجاعها بترتيب أبجدي:

    =SORT(UNIQUE(TOCOL(A2:C7)))

    كيفية تحويل النطاق إلى عمود في Excel 365 - 2010

    في إصدارات Excel التي لا يتم فيها دعم وظيفة TOCOL ، توجد طريقتان بديلتان لتحويل نطاق من الخلايا إلى عمود. هذه الحلول صعبة للغاية ، لكنها تعمل على أي حال.

    لقراءة النطاق حسب الصف:

    INDEX ( النطاق ، QUOTIENT (ROW (A1) -1 ، الأعمدة ( ) range )) + 1، MOD (ROW (A1) -1، COLUMNS ( range )) + 1)

    لقراءة النطاق حسب العمود:

    INDEX ( النطاق ، MOD (ROW (A1) -1 ، ROWS ( النطاق )) + 1 ، QUOTIENT (ROW (A1) -1 ، ROWS ( النطاق )) + 1 )

    بالنسبة لمجموعة البيانات النموذجية الخاصة بنا ، تكون الصيغ كما يلي:

    لمسح النطاق أفقيًا من اليسار إلى اليمين :

    =INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)

    هذه الصيغة مكافئة لوظيفة TOCOL مع تعيين الوسيطة الثالثة على FALSE أو تم حذفها:

    =TOCOL(A2:C5)

    لمسح النطاق عموديًا من أعلى إلى أسفل :

    =INDEX($A$2:$C$5, MOD(ROW(A1)-1, ROWS($A$2:$C$5))+1, QUOTIENT(ROW(A1)-1, ROWS($A$2:$C$5))+1)

    هذه الصيغة قابلة للمقارنة مع دالة TOCOL مع تعيين الوسيطة الثالثة على TRUE:

    =TOCOL(A2:C5, ,TRUE)

    بخلاف TOCOL ، يجب إدخال الصيغ البديلة في كل الخلية حيث تريد ظهور النتائج. في حالتنا ، تنتقل الصيغ إلى الخلايا E2 (حسب الصف) و G2 (حسب العمود) ، ثم يتم نسخها إلى الصف 13.

    إذا تم نسخ الصيغ إلى صفوف أكثر مما هو مطلوب ،# REF! سيظهر الخطأ في الخلايا "الإضافية". لمنع حدوث ذلك ، يمكنك دمج الصيغ في دالة IFERROR على النحو التالي:

    =IFERROR(INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1), "")

    لاحظ أنه لكي يتم نسخ الصيغ بشكل صحيح ، نقوم بإغلاق النطاق باستخدام مراجع الخلايا المطلقة ($ 2 دولارات أسترالية: 5 دولارات كندية). بدلاً من ذلك ، يمكنك استخدام نطاق مسمى.

    كيف تعمل هذه الصيغ

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

    =INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)

    الفكرة هي استخدام دالة INDEX لإرجاع قيمة خلية معينة بناءً على أرقام الصفوف والأعمدة النسبية في النطاق.

    يتم حساب رقم الصف بواسطة هذه المجموعة :

    QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1

    إرجاع QUOTIENT جزء العدد الصحيح من القسمة.

    بالنسبة إلى البسط ، يمكنك استخدام ROW (A1) -1 ، والتي تُرجع الرقم التسلسلي من 0 في E2 (الخلية الأولى حيث تم إدخال الصيغة) إلى 11 في E13 (الخلية الأخيرة حيث تم إدخال الصيغة).

    المقام brough by COLUMNS ($ A $ 2: $ C $ 5)) ثابت ويساوي عدد الأعمدة في النطاق الخاص بك (3 في حالتنا).

    الآن ، إذا قمت بفحص نتيجة QUOTIENT للخلايا الثلاث الأولى (E2: E4) ، سترى أنه يساوي 0 (لأن الجزء الصحيح من القسمة هو صفر). تؤدي إضافة 1 إلى رقم الصف 1.

    للخلايا الثلاث التالية (E5: E5) ، تُرجع QUOTIENT 1 ، وتقدم العملية +1 رقم الصف 2. وهكذا.

    بمعنى آخر ، يُنشئ هذا الجزء من الصيغة تكرارًاتسلسل رقمي مثل 1،1،1،2،2،2،3،3،3،4،4،4 ... احسب رقم العمود ، يمكنك إنشاء تسلسل رقمي مناسب باستخدام وظيفة MOD:

    MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1

    نظرًا لوجود 3 أعمدة في نطاقنا (A2: C5) ، يجب أن يكون التسلسل 1،2،3،1،2،3 ، ...

    تُرجع الدالة MOD الباقي بعد القسمة.

    في E2 ، MOD (ROW (A1) -1 ، COLUMNS ($ A $ 2: $ C $ 5)) + 1)

    يصبح

    MOD (1-1، 3) +1)

    وإرجاع 1.

    في E3، MOD (ROW (A2) -1، COLUMNS ($ A $ 2: $ C $ 5)) + 1)

    يصبح

    MOD (2-1، 3) +1)

    وإرجاع 2.

    مع إنشاء أرقام الصفوف والأعمدة ، لا يواجه INDEX أية مشكلات في جلب القيمة المطلوبة.

    في E2 ، INDEX ($ A $ 2 : $ C $ 5، 1، 1) تُرجع القيمة من الصف الأول والعمود الأول من النطاق المُشار إليه ، أي من الخلية A2.

    في E3 ، INDEX ($ A $ 2: $ C $ 5، 1 ، 2) القيمة من الصف الأول والعمود الثاني ، أي من الخلية B2.

    وما إلى ذلك.

    الصيغة الثانية التي تفحص النطاق بواسطة c olumn ، يعمل بطريقة مماثلة. الفرق هو أنه يستخدم MOD للحصول على رقم الصف و QUOTIENT للحصول على رقم العمود.

    وظيفة TOCOL لا تعمل

    إذا ألقت دالة TOCOL خطأ ، فمن المرجح لتكون أحد هذه الأسباب:

    TOCOL غير مدعوم في Excel

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

    المصفوفة كبيرة جدًا

    يشير الخطأ #NUM إلى أن الصفيف لا يمكن احتوائه في عمود. الحالة النموذجية هي عندما تشير إلى أعمدة أو صفوف بأكملها.

    لا توجد خلايا فارغة كافية

    عند حدوث خطأ #SPILL ، تحقق من العمود حيث تم إدخال الصيغة يحتوي على خلايا فارغة كافية ليتم ملؤها بالنتائج. إذا كانت الخلايا فارغة بصريًا ، فتأكد من عدم وجود مسافات وأحرف أخرى غير قابلة للطباعة فيها. لمزيد من المعلومات ، راجع كيفية إصلاح الخطأ #SPILL في Excel.

    هذه هي الطريقة التي يمكنك بها استخدام دالة TOCOL في Excel 365 والحلول البديلة في الإصدارات السابقة لتحويل صفيف ثنائي الأبعاد إلى عمود واحد. أشكرك على القراءة وآمل أن أراك على مدونتنا الأسبوع المقبل!

    تدريبات المصنف

    وظيفة Excel TOCOL - أمثلة على الصيغ (ملف .xlsx)

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