تختفي الصيغ في جداول بيانات 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)),)
هذا هو الأسلوب الموصى به إذا كنت ترغب في الحفاظ على تنسيق الصف والتنسيق الشرطي عند ظهور استجابات استطلاع جديدة.
اكتشاف المزيد من مرابع التكنولوجيا
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.