بحث
إكسيل: ما الفرق بين دالتي ROW و ROWS ومتى تستخدمهما؟
مايكروسوفت #إكسيل #Excel

إكسيل: ما الفرق بين دالتي ROW و ROWS ومتى تستخدمهما؟

تاريخ النشر: آخر تحديث: 49 مشاهدة 0 تعليق 3 دقائق قراءة
49 مشاهدة
0 إعجاب
0 تعليق
موثوق 95%

لا تدع حرف "S" الإضافي يخدعك؛ فدالتا ROW و ROWS تقومان بمهام مختلفة تماماً في برنامج إكسيل (Excel). إحداهما تخبرك بمكانك، بينما تخبرك الأخرى بمقدار المساحة المتوفرة لديك. إذا كنت تعاني من تعطل المعادلات عند حذف صف معين، فقد حان الوقت لإتقان الفرق بين هاتين الأداتين.

للوهلة الأولى، يبدو الفرق الوحيد هو حرف واحد، ولكن من الناحية العملية، التمييز بينهما بسيط جداً: الموقع مقابل البُعد.

  • دالة ROW: هي إحداثية. تخبرك بموقع الخلية بالضبط على شبكة جدول البيانات.
  • دالة ROWS: هي مقياس. تخبرك بمدى ارتفاع نطاق معين من الخلايا.

بناء الجملة البرمجية (Syntax)

قبل استعراض الأمثلة العملية، إليك كيفية بناء كل دالة:

تحتوي دالة ROW على وسيطة مرجعية اختيارية:

=ROW([reference])

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

أما دالة ROWS، فتتطلب وسيطة مصفوفة واحدة:

=ROWS(array)

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

دالة ROW: مثال واقعي

تُعد دالة ROW في إكسيل الخيار الأمثل عندما يكون عنوان البيانات أهم من البيانات نفسها. لنفترض أن لديك جدولاً منسقاً باسم T_Tasks، وتريد ترتيب المهام حسب الأولوية.

يمكنك استخدام دالة ROW لتطلب من إكسيل النظر إلى موقع الشبكة:

=ROW()-1

تنظر ROW إلى شبكة جدول البيانات بأكملها، وليس فقط جدولك. وبما أن الجدول يبدأ من الصف 2 وليس الصف 1، فإن طرح 1 يضبط العد، ليظهر أول مهامك بالأولوية رقم 1 بشكل صحيح.

دالة ROWS: القياس والحصر

بينما تنظر ROW إلى إحداثية واحدة، تنظر ROWS إلى الحاوية بأكملها. تخيل أنك تريد عرض العدد الإجمالي للمهام في جدول T_Tasks في خلية مستقلة.

لجعل هذه المعادلة قوية، استخدم ROWS مع مرجع هيكلي:

=ROWS(T_Tasks[Task])

هذه المعادلة تسأل الجدول ببساطة: "كم عدد الصفوف الموجودة في عمود المهام؟".

فخ الخلايا الفارغة في COUNTA

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

في المقابل، لا تهتم ROWS بمحتوى الخلية؛ هي تهتم فقط بوجود الصف داخل حدود الجدول، مما يجعل تقريرها أكثر دقة.

هل يمكن لـ ROWS القيام بعمل ROW؟

نعم، وبشكل أكثر موثوقية. الطريقة السابقة (=ROW()-1) لإنشاء قائمة أولويات تعتمد على الشبكة الثابتة. إذا قمت بتحريك الجدول للأسفل لإضافة عنوان، ستتعطل المعادلة وتتغير الأرقام.

لحل هذه المشكلة، يمكنك استخدام مرجع هيكلي متوسع مع ROWS لجعل العداد مستقلاً عن الشبكة:

=ROWS(T_Tasks[#Headers]:[@Task])-1

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

هل دالة ROW عديمة الفائدة؟

على الرغم من استقرار ROWS، تظل دالة ROW مثالية عندما تحتاج للتحدث إلى الشبكة نفسها، مثل:

  • الزيادات الرياضية: تُعد محركاً بسيطاً للمعادلات التي تحتاج للتغيير بناءً على موقعها في الشبكة.
  • المراجع غير المباشرة: يستخدم المحترفون ROW داخل دوال معقدة مثل INDIRECT أو ADDRESS لبناء مراجع خلايا ديناميكية.

في النهاية، الاختيار بينهما هو الفرق بين تحديد موقع ثابت على الخريطة (ROW) وبين استخدام المسطرة لقياس أبعاد بياناتك (ROWS).

الأسئلة الشائعة

دالة ROW تحدد موقع الخلية (الإحداثيات) على الشبكة، بينما دالة ROWS تقيس عدد الصفوف في نطاق معين (الأبعاد).

لأن ROWS تحسب الصفوف الموجودة ضمن النطاق بغض النظر عما إذا كانت فارغة أم لا، بينما تتجاهل COUNTA الخلايا الفارغة مما قد يؤدي لنتائج غير دقيقة.

تكون مفيدة جداً عند التعامل مع الشبكة نفسها، مثل إنشاء زيادات رياضية تعتمد على الموقع أو عند استخدام دوال متقدمة مثل INDIRECT.

التعليقات 0

سجل دخولك لإضافة تعليق

لا توجد تعليقات بعد. كن أول من يعلق!