أداة بناء صيغ Excel: حوّل حساباً موصوفاً بلغة بسيطة إلى صيغة عاملة

لماذا تهم هذه المطالبة
Hand-built spreadsheet formulas for board and finance decks fail quietly far more often than people expect. A SUM that drops a text-formatted cell, an AVERAGE that includes a header row, or a blank cell silently treated as zero can shift a reported KPI enough to trigger a strategic conversation based on a wrong number. Once a bad figure has been presented to finance or the board, correcting it afterward costs far more in credibility than the two minutes it takes to get the formula right and understand exactly why it works before you present it.
فيم نستخدمها
You're a sales operations analyst at a mid-size SaaS company, working in a Google Sheets pipeline tracker with roughly 3,000 rows. Finance needs the weighted average discount percentage across all deals marked "Closed Won" in Q3, weighted by deal value, and a few rows have a blank discount field because a rep forgot to fill it in. The number is due in the quarterly business review deck in two hours, and you need a formula that handles the blanks correctly instead of silently including them as zero and skewing the average down.
المطالبة
Act as a senior data analyst who has spent years cleaning up broken finance and sales spreadsheets and knows exactly how formulas silently fail. Context: I need a formula for the following calculation, described in plain English: [DESCRIBE THE CALCULATION YOU NEED, e.g. "weighted average discount percentage for all deals marked Closed Won, weighted by deal value"] Tool: [SPECIFY Excel (and version, e.g. Excel 365) OR Google Sheets] Relevant data: [DESCRIBE YOUR COLUMNS/RANGES OR PASTE A SAMPLE ROW, e.g. "Column G = deal stage, Column H = close date, Column I = discount %, Column J = deal value, data starts row 2, ends row 3000"] Edge cases to handle: [LIST ANYTHING THAT COULD BREAK A NAIVE FORMULA, e.g. "some rows in the discount column are blank," "some deal values are stored as text," "I only want deals closed within a specific date range"] Task: 1. Write the working formula, ready to copy and paste directly into the cell. 2. Break down what each part of the formula does, in plain English, step by step. 3. Flag anything in my data description that is likely to break this formula (mismatched data types, absolute vs. relative references, off-by-one range errors). 4. If the tool I specified has a simpler function available in a recent version that could replace an older-style formula, mention it as an alternative. 5. If there's a meaningful syntax difference between Excel and Google Sheets for this formula, note it even if I only asked about one. Constraints: Avoid volatile functions (OFFSET, INDIRECT, NOW, TODAY) unless the calculation specifically requires them. The formula must be copy-paste-ready with no placeholder text left inside it — resolve every range and condition using the data description I gave you. Assume I am an intermediate spreadsheet user: I understand basic functions like SUM and IF but don't regularly write nested array formulas. Output Format: - The Formula (in a code block, copy-paste ready) - Step-by-Step Breakdown (numbered, plain English) - What Could Break It (bulleted) - Excel vs. Google Sheets Note (only if relevant) - Simpler Alternative (only if one exists)
النتيجة
The Formula (Google Sheets, weighted average discount for Closed Won deals in Q3, ignoring blank discount rows):
=SUMPRODUCT((G2:G3000="Closed Won")*(H2:H3000>=DATE(2026,7,1))*(H2:H3000<=DATE(2026,9,30))*(I2:I3000<>"")*I2:I3000*J2:J3000)/SUMPRODUCT((G2:G3000="Closed Won")*(H2:H3000>=DATE(2026,7,1))*(H2:H3000<=DATE(2026,9,30))*(I2:I3000<>"")*J2:J3000)
Step-by-Step Breakdown
- The formula is built from two SUMPRODUCT calls: the top one calculates the sum of (discount × deal value) for qualifying rows, and the bottom one calculates the sum of deal value alone for the same rows. Dividing the first by the second gives a value-weighted average rather than a simple average.
- Each condition inside the parentheses — (G2:G3000="Closed Won"), the date range check, and (I2:I3000<>"") — evaluates to TRUE (1) or FALSE (0) for every row. Multiplying these conditions together means a row only contributes to the total if ALL conditions are true simultaneously.
- The (I2:I3000<>"") condition is what solves your blank-discount problem: any row where the discount cell is empty evaluates to FALSE, zeroing out that row's contribution entirely instead of treating a blank as a 0% discount, which would have dragged your average down incorrectly.
- The date range conditions (H2:H3000>=DATE(2026,7,1)) and (H2:H3000<=DATE(2026,9,30)) restrict the calculation to close dates within Q3 2026 specifically.
What Could Break It
- If the discount column (I) is formatted as text instead of a number (common when values are pasted from another system with a % sign as text), SUMPRODUCT will treat those cells as zero rather than throwing an error — check for left-aligned numbers in that column, which usually signals text formatting.
- If deal value (Column J) contains any blank or text cells within qualifying rows, the multiplication will silently zero out that row's contribution to both sums, which is usually fine but worth confirming isn't hiding missing data.
- The range G2:G3000 assumes your data never exceeds row 3000 — if new deals get added below that row, this formula will silently exclude them. Consider converting your range to a Table (Ctrl+T in Excel, or an equivalent structured range in Sheets) so the formula auto-expands.
Excel vs. Google Sheets Note: This exact formula works identically in Excel 365 and Google Sheets — SUMPRODUCT syntax is consistent across both. In older Excel versions (pre-2007), you may need to enter it as an array formula with Ctrl+Shift+Enter, but modern Excel and Sheets both evaluate it as a normal formula.
Simpler Alternative: If you only needed a straight sum-based condition without the weighting, SUMIFS would be simpler and faster to read — but because this calculation requires weighting by deal value, SUMPRODUCT is the correct tool here rather than a simplification.
معظم الأشخاص الذين يحتاجون إلى صيغة جدول بيانات لا يريدون فعلياً تعلم صياغة الجداول — يريدون الرقم الصحيح في الخلية، وشرحاً يمكنهم الوثوق به، وثقة بأنها لن تتعطل بصمت في المرة القادمة التي يضيف فيها أحدهم صفاً. صُمم هذا البرومبت لتحقيق ذلك بالضبط، وبنيته مصممة عمداً حول النقاط التي تفشل فيها طلبات الصيغ عادة.
لماذا هذا البرومبت منظم بهذه الطريقة
يهم تأطير الدور — محلل بيانات أول قضى سنوات في إصلاح جداول بيانات مالية ومبيعات معطلة — لأنه يوجه النموذج نحو كتابة صيغة دفاعية بدلاً من أقصر إجابة صحيحة تقنياً. النموذج الذي يُطلب منه ببساطة اكتب لي صيغة لـ X سيعيد غالباً شيئاً يعمل على بيانات نظيفة ويتعطل بمجرد ظهور خلية فارغة أو رقم بتنسيق نصي. تأطير النموذج كشخص قام شخصياً بتصحيح تلك الأعطال يجعله يشير إليها استباقياً بدلاً من انتظار أن يُسأل.
يفصل قسم السياق صراحة وصف الحساب، والأداة (Excel أو Sheets)، وتخطيط البيانات، والحالات الحدية إلى أربع مدخلات متميزة بدلاً من فقرة واحدة. هذا مهم لأن طلبات الصيغ تفشل غالباً عندما يكون أحد هذه العناصر مفقوداً — يصف شخص ما الحساب بوضوح لكنه ينسى ذكر حالة حدية لخلية فارغة، ويحصل على صيغة صحيحة نظرياً لكنها خاطئة على بياناته الفعلية.
تنتهي قائمة المهام الخماسية عمداً بطلب بديل أبسط وملاحظة صياغة عبر الأدوات. غالباً لا يعرف المحللون أن دالة يستخدمونها قد استُبدلت بشيء أنظف في إصدار حديث، أو أن الصيغة التي هم على وشك لصقها في Google Sheets تستخدم صياغة حصرية لـ Excel. طلب كليهما مسبقاً يلتقط هذا قبل أن يتحول إلى خطأ نسخ ولصق يُكتشف في منتصف عرض تقديمي.
كيفية تكييفه
بالنسبة لحساب أبسط بكثير — جمع مباشر أو COUNTIF بدون تعقيد الترجيح أو معالجة الفراغات — سيعيد النموذج بشكل صحيح دالة قصيرة بدلاً من افتعال تعقيد غير ضروري باستخدام SUMPRODUCT أو صيغ المصفوفات. البنية تتكيف صعوداً ونزولاً على حد سواء.
بالنسبة للحسابات المتكررة التي ينفذها فريقك في كل دورة تقارير، يستحق الأمر حفظ الصيغة النهائية مع شرحها خطوة بخطوة في مكان يمكن لفريقك بأكمله الرجوع إليه — هذا يحول برومبتاً لمرة واحدة إلى معرفة مؤسسية تبقى حتى عندما ينتقل المحلل الأصلي إلى مشروع آخر.