تقنية

تختفي الصيغ في جداول بيانات Google عند إضافة صفوف جديدة


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

// Item cost is $99 per unit. Delivery cost is $19.
=IF(ISNUMBER(C2), SUM(C2*99, IF(D2="Yes", 19, 0)), )

قام مالك ورقة Google بإدخال الصيغة عبر جميع الصفوف في الملف Total Amount العمود بحيث يتم حساب القيمة تلقائيًا عند إرسال استجابة نموذج جديدة.

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

كيفية منع الصيغ من الحذف

هناك العديد من الحلول لهذه المشكلة.

استخدم صيغة صفيف

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

=ARRAYFORMULA(IF(ROW(C:C)=1,
   "Total Amount",
   IF(ISNUMBER(C:C), C:C*99 + IF(D:D="Yes",19,0),)
  ))

وفيما يلي تفصيل بسيط للصيغة:

  • IF(ROW(C:C)=1, "Total Amount", ... – إذا كان رقم الصف الحالي هو 1، أضف عنوان العمود.
  • IF(ISNUMBER(C:C), ... – احسب المبلغ فقط في حالة وجود قيمة رقمية في العمود C.
  • C:C*99 + IF(D:D="Yes",19,0),) – اضرب 99 دولارًا في كمية العنصر وأضف 19 دولارًا إذا تم تعيين العمود D على نعم.

استخدم MAP مع وظيفة LAMBDA

يمكنك استخدام وظيفة MAP الجديدة في جداول بيانات Google التي تأخذ مصفوفة من القيم كمدخلات وترجع مصفوفة جديدة تم تشكيلها من خلال تطبيق دالة Lambda على كل قيمة في المصفوفة.

وظيفة لامدا

=MAP(C:C,D:D,
  LAMBDA(Qty, Delivery,
    IF(ROW(Qty)=1,"Total Amount",
    IF(ISNUMBER(Qty), Qty*99 + IF(Delivery="Yes", 19,),))
  ))

استخدم دالة الاستعلام

إذا كانت صيغ الصفيف تبدو معقدة، فإليك طريقة بديلة.

قم بإنشاء ورقة جديدة في جدول بيانات Google الخاص بك واستخدم QUERY تعمل مع عبارة تشبه SQL لاستيراد البيانات المطلوبة من ورقة النموذج إلى الورقة الحالية.

=QUERY('Form Responses 1'!A:D,"SELECT A,B,C,D",TRUE)

نحن نقوم فقط باستيراد بيانات الورقة التي تم إدخالها في استجابة النموذج وستتم جميع الحسابات في هذه الورقة، وليس الورقة الرئيسية.

الصق الصيغة البسيطة لحساب المبلغ في الخلية E2 واسحب علامة التصالب لأسفل لملء الصيغة تلقائيًا عبر جميع الصفوف.

=IF(ISNUMBER(C2), SUM(C2*99,IF(D2="Yes",19,0)),)

وظيفة الاستعلام لجداول بيانات Google

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



Source link


اكتشاف المزيد من مرابع التكنولوجيا

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى

اكتشاف المزيد من مرابع التكنولوجيا

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading