شرح دالة ARRAYFORMULA في Google Sheets لتطبيق معادلة على عمود كامل
تعلم كيفية استخدام دالة ARRAYFORMULA في Google Sheets لتطبيق معادلة واحدة على عمود كامل، وتجاوز الصفوف الفارغة، ودمجها مع IF وVLOOKUP بسهولة.
بقلم Ayoub Farid · · 2 دقائق قراءة
في العادة، تقوم بكتابة صيغة في الصف 2 ثم تلجأ إلى سحب المعادلة للأسفل لتطبيقها على باقي الخلايا. تتيح لك دالة ARRAYFORMULA كتابة معادلة واحدة في الصف 2 لحساب كل صف تلقائياً، بما في ذلك الصفوف التي تُضاف لاحقاً، مثل البيانات الواردة عبر نماذج Google Form.
بنية الدالة (Syntax)
=ARRAYFORMULA(array_formula)
اختصار لوحة المفاتيح: اكتب معادلتك ثم اضغط على Ctrl+Shift+Enter، وسيقوم Google Sheets بإحاطتها تلقائياً بدالة ARRAYFORMULA.
مثال: حساب الإيرادات لكل صف
بدلاً من كتابة =B2*C2 ثم سحب المعادلة للأسفل:
=ARRAYFORMULA(B2:B*C2:C)
استخدام نطاق مفتوح النهاية (B2:B) يضمن تغطية كل الصفوف في جدول بيانات العمل.
تجاوز الصفوف الفارغة
المعادلة السابقة ستملأ كل خلية فارغة بالرقم 0. لتجنب ذلك، أضف دالة الشرط IF:
=ARRAYFORMULA(IF(B2:B="","",B2:B*C2:C))
وضع عنوان العمود في نفس المعادلة
يمكنك وضع الصيغة مباشرة في الصف 1 للاحتفاظ بعنوان العمود والنتائج معاً في مكان واحد:
={"Revenue";ARRAYFORMULA(IF(B2:B="","",B2:B*C2:C))}
استخدامها مع دالة VLOOKUP
=ARRAYFORMULA(IF(A2:A="","",IFERROR(VLOOKUP(A2:A,Prices!$A$2:$C$500,3,FALSE),"Not found")))
راجع دليلنا حول دالة VLOOKUP في Google Sheets.
الدوال التي لا تعمل بداخلها
الدوال التي ترجع قيمة تجميعية واحدة فقط مثل (SUM وAVERAGE وAND وOR) لا تحسب النتائج لكل صف على حدة داخل المصفوفة. لتطبيق شرط منطقي مكافئ لـ AND لكل صف، اضرب الشروط ببعضها: (B2:B>0)*(C2:C="Paid").
الأخطاء الشائعة
- خطأ #REF! "Array result was not expanded": توجد بيانات مدخلة مسبقاً في الخلايا التي تحاول المصفوفة ملأها أدناه. احذف محتويات تلك الخلايا لحل المشكلة.
- بطء جدول البيانات: استخدام النطاقات المفتوحة في الجداول الكبيرة جداً قد يبطئ الأداء؛ حدد نطاق العمل بدقة مثل (
B2:B5000).
المقابل في برنامج Excel
يدعم برنامج Excel الحديث تدفق مصفوفات البيانات تلقائياً؛ حيث تعمل صيغة مثل =B2:B500*C2:C500 مباشرة دون الحاجة إلى دالة إضافية تُحيط بها.
الأسئلة الشائعة
ماذا تفعل دالة ARRAYFORMULA؟
تطبق صيغة حسابية أو منطقية واحدة على نطاق كامل دفعة واحدة، مما يعطي نتيجة لكل صف تلقائياً.
كيف أمنع ARRAYFORMULA من إظهار أصفار في الصفوف الفارغة؟
قم بإحاطة العملية الحسابية بشرط IF: مثل IF(range="","",...).
لماذا تظهر دالة ARRAYFORMULA خطأ #REF!؟
يحدث هذا عندما لا تكون الخلايا الواقعة ضمن نطاق النتائج فارغة، حيث تعيق كتابة المصفوفة.
هل تتوفر دالة ARRAYFORMULA في برنامج Excel؟
لا، ولكن النسخ الحديثة مثل Excel 365 تدعم المصفوفات الديناميكية تلقائياً وتؤدي نفس الوظيفة بدونها.