وظيفة Excel TOROW لتحويل النطاق أو الصفيف إلى صف

  • شارك هذا
Michael Brown

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

قدم Microsoft Excel 365 عدة وظائف جديدة لإجراء معالجات مختلفة باستخدام المصفوفات. مع TOROW ، يمكنك إجراء تحويلات من نطاق إلى صف في أي وقت من الأوقات. فيما يلي قائمة بالمهام التي يمكن لهذه الوظيفة الجديدة إنجازها:

    وظيفة Excel TOROW

    تُستخدم وظيفة TOROW في Excel لتحويل صفيف أو نطاق من الخلايا إلى صف واحد.

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

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

    حيث:

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

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

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

    Scan_by_column (اختياري) - يحدد كيفية مسح المصفوفة:

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

    تلميحات:

    • لتحويل مصفوفة في عمود واحد ، استخدم وظيفة TOCOL.
    • لإجراء التحويل العكسي من الصف إلى المصفوفة ، استخدم إما دالة WRAPCOLS للالتفاف في أعمدة أو دالة WRAPROWS للالتفافالصفيف إلى صفوف.
    • لتحويل الصفوف إلى أعمدة ، استخدم وظيفة TRANSPOSE.

    توفر TOROW

    TOROW هي وظيفة جديدة ، وهي مدعومة فقط في Excel لـ Microsoft 365 (لنظامي التشغيل Windows و Mac) و Excel للويب.

    صيغة TOROW الأساسية في Excel

    لإجراء تحويل بسيط من نطاق إلى صف ، استخدم صيغة TOROW في شكله الأساسي. لهذا ، تحتاج إلى تحديد الوسيطة الأولى فقط ( المصفوفة ).

    على سبيل المثال ، لتحويل مصفوفة ثنائية الأبعاد تتكون من 3 أعمدة و 3 صفوف إلى صف واحد ، الصيغة هي:

    =TOROW(A3:C6)

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

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

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

    {"Apple","Banana","Cherry";1,2,3;4,5,6;7,8,9}

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

    0> بشكل افتراضي ، تحتفظ الدالة TOROW بجميع القيم من المصفوفة المصدر ، بما في ذلك الخلايا الفارغة وأخطاء. في الإخراج ، تظهر القيم الصفرية في مكان الخلايا الفارغة ، الأمر الذي قد يكون مربكًا تمامًا.

    إلى استبعاد الفراغات ، اضبط الوسيطة تجاهل على 1:

    =TOROW(A3:C5, 1)

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

    =TOROW(A3:C5, 2)

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

    =TOROW(A3:C5, 3)

    توضح الصورة أدناه جميع السيناريوهات الثلاثة أثناء العمل:

    قراءة المصفوفة أفقيًا أو رأسيًا

    مع السلوك الافتراضي ، تعالج وظيفة TOROW الصفيف أفقيًا من اليسار إلى اليمين. لمسح القيم حسب العمود من أعلى إلى أسفل ، يمكنك تعيين الوسيطة الثالثة ( scan_by_column ) على TRUE أو 1.

    على سبيل المثال ، لقراءة النطاق المصدر حسب الصف ، الصيغة في E3 هي:

    =TOROW(A3:C5)

    لمسح النطاق حسب العمود ، تكون الصيغة في E8 هي:

    =TOROW(A3:C5, ,TRUE)

    في كلتا الحالتين ، تكون المصفوفات الناتجة بنفس الحجم ، لكن القيم مرتبة بترتيب مختلف.

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

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

    اعتمادًا على منطق عملك ، ستؤدي إحدى الصيغ التالية المهمة.

    تكديس المصفوفات أفقيًا وتحويلها بواسطة صف

    مع الأولالنطاق في A3: C4 والنطاق الثاني في A8: C9 ، ستقوم الصيغة أدناه بتكديس النطاقين أفقيًا في صفيف واحد ، ثم تحويله إلى صف يقرأ القيم من اليسار إلى اليمين. النتيجة في E3 في الصورة أدناه.

    =TOROW(HSTACK(A3:C4, A8:C9))

    تكديس المصفوفات أفقيًا وتحويلها بالعمود

    لقراءة المصفوفة المكدسة عموديًا من أعلى إلى أسفل ، قمت بتعيين الوسيطة الثالثة لـ TOROW إلى TRUE كما هو موضح في E5 في الصورة أدناه:

    =TOROW(HSTACK(A3:C4, A8:C9), ,TRUE)

    تكديس المصفوفات عموديًا وتحويلها حسب الصف

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

    =TOROW(VSTACK(A3:C4, A8:C9))

    تكديس المصفوفات عموديًا وتحويلها حسب العمود

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

    =TOROW(VSTACK(A3:C4, A8:C9), ,TRUE)

    لفهم المنطق بشكل أفضل ، لاحظ الترتيب المختلف للقيم في المصفوفات الناتجة:

    استخراج القيم الفريدة من نطاق إلى صف

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

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

    =UNIQUE(TOROW(A2:C7), TRUE)

    نظرًا لأن TOROW تُرجع صفيفًا أفقيًا أحادي البعد ، قمنا بتعيين الوسيطة الثانية ( by_col ) من UNIQUE إلى TRUE لمقارنة الأعمدة مقابل كل

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

    =SORT(UNIQUE(TOROW(A2:C7), TRUE), , ,TRUE )

    كما هو الحال مع UNIQUE ، by_col تم أيضًا تعيين الوسيطة للقيمة SORT على TRUE.

    بديل TOROW لبرنامج Excel 365 - 2010

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

    لمسح النطاق أفقيًا ، الصيغة العامة هي:

    INDEX ( range ، QUOTIENT (COLUMN (A1) -1 ، COLUMNS ( range )) + 1، MOD (COLUMN (A1) -1، COLUMNS ( range )) + 1)

    لمسح النطاق رأسيًا ، تكون الصيغة العامة هي :

    INDEX ( range ، MOD (COLUMN (A1) -1، COLUMNS ( range )) + 1، QUOTIENT (COLUMN (A1) -1، COLUMNS (<15)> النطاق )) + 1)

    بالنسبة لمجموعة البيانات النموذجية الخاصة بنا في A3: C5 ، تأخذ الصيغ هذا الشكل:

    لمسح النطاق حسب الصف:

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

    هذه الصيغة هي بديل لدالة TOROW مع تعيين الوسيطة الثالثة على FALSE أو تم حذفها:

    =TOROW(A3:C5)

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

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

    هذه الصيغة تكافئ وظيفة TOROW مع تعيين الوسيطة الثالثة علىTRUE:

    =TOROW(A3:C5, ,TRUE)

    الرجاء ملاحظة أنه بخلاف وظيفة الصفيف الديناميكي TOROW ، يجب إدخال هذه الصيغ التقليدية في كل خلية تريد ظهور النتائج فيها. في حالتنا ، تذهب الصيغة الأولى (بالصف) إلى E3 ويتم نسخها عبر M3. الصيغة الثانية (حسب العمود) تهبط في E8 ويتم سحبها عبر M8.

    لنسخ الصيغ بشكل صحيح ، نقوم بإغلاق النطاق باستخدام المراجع المطلقة ($ A $ 3: $ C $ 5). النطاق المسمى سيفي بالغرض.

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

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

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

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

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

    في قلب الصيغة ، نستخدم دالة INDEX للحصول على قيمة خلية بناءً على موضعها النسبي في النطاق.

    يتم حساب رقم الصف بهذه الصيغة:

    QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1

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

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

    بالنسبة إلى البسط ، نستخدم COLUMN (A1) -1 ، التي تُرجع المسلسل رقم من 0 في الخلية الأولى حيث يتم إدخال الصيغة إلى n (إجمالي عدد القيم في النطاقناقص 1) في الخلية الأخيرة حيث تم إدخال الصيغة. في هذا المثال ، لدينا 0 في E2 و 8 في M3.

    بالنسبة للمقام ، نستخدم الأعمدة ($ A $ 3: $ C $ 5)). يُرجع هذا رقمًا ثابتًا يساوي عدد الأعمدة في النطاق الخاص بك (3 في حالتنا).

    نتيجة لذلك ، ترجع الدالة QUOTIENT 0 في أول 3 خلايا (E3: G3) ، والتي قمنا بها أضف 1 ، لذا فإن رقم الصف هو 1.

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

    لحساب رقم العمود ، يمكنك إنشاء تسلسل رقمي مناسب باستخدام وظيفة MOD:

    MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1

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

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

    في E3 ، MOD (COLUMN (A1) -1 ، COLUMNS ($ A $ 3: $ C $ 5)) +

    يصبح

    MOD (1-1، 3) +1)

    وإرجاع 1.

    In F3، MOD (COLUMN (B1) -1، COLUMNS ($ A $ 3: $ C $ 5)) +

    يصبح

    MOD (2-1، 3) +1)

    وإرجاع 2.

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

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

    في F3 ، ترجع الدالة INDEX ($ A $ 3: $ C $ 5، 1، 2) قيمة من الصف الأول والعمود الثاني ، أي من الخلية B3.

    وهكذا دواليك.

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

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

    إذا نتج عن وظيفة TOROW خطأ ، فهي على الأرجح أن يكون أحد هذه الأسباب:

    #NAME؟ خطأ

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

    خطأ #NUM

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

    خطأ #SPILL

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

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

    تدرب على المصنف للتنزيل

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

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