صيغ ورقة العمل في الرسم البياني

حول صيغة ورقة العمل في الرسم البياني في العرض التقديمي

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

todo:image_alt_text

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

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

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

في Aspose.Slides يتم تمثيل ورقة العمل للرسم البياني باستخدام Chart.getChartData.getChartDataWorkbook لطريقة IChartDataWorkbook نوع. يمكن تعيين الصيغة وتغييرها باستخدام IChartDataCell.setFormula الطريقة. تدعم الوظيفة التالية للصيغ في Aspose.Slides:

  • الثوابت المنطقية
  • الثوابت العددية
  • الثوابت النصية
  • ثوابت الأخطاء
  • العوامل الحسابية
  • عوامل المقارنة
  • مراجع الخلايا بأسلوب A1
  • مراجع الخلايا بأسلوب R1C1
  • الدوال المعرفة مسبقًا

عادةً ما تخزن أوراق العمل آخر قيم للصيغ التي تم حسابها. إذا لم تتغير بيانات الرسم البياني بعد تحميل العرض التقديمي - فإن IChartDataCell.getValue تعيد تلك القيم أثناء القراءة. ولكن، إذا تم تغيير بيانات ورقة العمل، أثناء قراءة ChartDataCell.Value الخاصية تطلق CellUnsupportedDataException للصيغ غير المدعومة. يحدث ذلك لأنه عندما يتم تحليل الصيغ بنجاح، يتم تحديد اعتماديات الخلايا وصحة القيم الأخيرة. ولكن، إذا لم يتمكن من تحليل الصيغة، لا يمكن ضمان صحة قيمة الخلية.

إضافة صيغة ورقة العمل للرسم البياني إلى العرض التقديمي

أولاً، أضف رسمًا بيانيًا إلى الشريحة الأولى من عرض تقديمي جديد باستخدام IShapeCollection.getShapes.addChart. تتم إنشاء ورقة العمل للرسم البياني تلقائيًا ويمكن الوصول إليها باستخدام Chart.getChartData.getChartDataWorkbook الطريقة:

  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 150, 150, 500, 300);
    $workbook = $chart->getChartData()->getChartDataWorkbook();
    # ...
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

دعونا نكتب بعض القيم في الخلايا باستخدام  IChartDataCell.setValue الخاصية  من نوع Object، مما يعني أنه يمكنك تعيين أي قيمة للخاصية:

  $workbook->getCell(0, "F2")->setValue(-2.5);
  $workbook->getCell(0, "G3")->setValue(6.3);
  $workbook->getCell(0, "H4")->setValue(3);

الآن لكتابة صيغة إلى الخلية، يمكنك استخدام IChartDataCell.setFormula الطريقة:

ملاحظةIChartDataCell.setFormula تستخدم لتعيين مراجع الخلايا بأسلوب A1. 

لتعيين مرجع الخلية R1C1Formula، يمكنك استخدام IChartDataCell.setR1C1Formula الطريقة:

ثم إذا حاولت قراءة القيم من الخلايا B2 و C2، ستتم حسابها:

  $value1 = $cell1->getValue();// 7.8

  $value2 = $cell2->getValue();// 2.1


الثوابت المنطقية

يمكنك استخدام الثوابت المنطقية مثل FALSE و TRUE في صيغ الخلايا:

  $workbook->getCell(0, "A2")->setValue(false);
  $cell = $workbook->getCell(0, "B2");
  $cell->setFormula("A2 = TRUE");
  $value = $cell->getValue();// القيمة تحتوي على "false" المنطقية


الثوابت العددية

يمكن استخدام الأرقام في تدوينات عادية أو علمية لإنشاء صيغة ورقة العمل للرسم البياني:

  $workbook->getCell(0, "A2")->setFormula("1 + 0.5");
  $workbook->getCell(0, "B2")->setFormula(".3 * 1E-2");

الثوابت النصية

الثابت النصي (أو حرفي) هو قيمة محددة تُستخدم كما هي ولا تتغير. يمكن أن تكون الثوابت النصية: تواريخ، نصوص، أرقام، إلخ:

  $workbook->getCell(0, "A2")->setFormula("\"abc\"");
  $workbook->getCell(0, "B2")->setFormula("\"2/3/2020 12:00\"");

ثوابت الأخطاء

في بعض الأحيان، من غير الممكن حساب النتيجة من خلال الصيغة. في هذه الحالة، يتم عرض رمز الخطأ في الخلية بدلاً من قيمتها. لكل نوع من أنواع الأخطاء رمز محدد:

  • #DIV/0! - تحاول الصيغة القسمة على صفر.
  • #GETTING_DATA - قد يُعرض على خلية، بينما قيمتها لا تزال تُحسب.
  • #N/A - المعلومات مفقودة أو غير متاحة. بعض الأسباب يمكن أن تكون: الخلايا المستخدمة في الصيغة فارغة، حرف مسافة إضافية، تهجئة خاطئة، إلخ.
  • #NAME? - لا يمكن العثور على خلية معينة أو كائنات صيغة أخرى باسمها. 
  • #NULL! - قد تظهر عندما يكون هناك خطأ في الصيغة، مثل: (،) أو استخدام حرف مسافة بدلاً من الفاصلة (:).
  • #NUM! - قد تكون الأرقام في الصيغة غير صالحة، طويلة جدًا أو صغيرة جدًا، إلخ.
  • #REF! - مرجع خلية غير صالح.
  • #VALUE! - نوع قيمة غير متوقع. على سبيل المثال، تم تعيين قيمة نصية على خلية عددية.
  $cell = $workbook->getCell(0, "A2");
  $cell->setFormula("2 / 0");
  $value = $cell->getValue();// القيمة تحتوي على سلسلة "#DIV/0!"


العوامل الحسابية

يمكنك استخدام جميع العوامل الحسابية في صيغ ورقة العمل للرسم البياني:

العامل  المعنى  مثال
+ (إشارة الجمع)  الجمع أو الجمع الأحادي 2 + 3
- (إشارة الطرح)  الطرح أو النفي  2 - 3
-3
* (نجمة) الضرب  2 * 3
/ (شرطة مائلة) القسمة  2 / 3
% (علامة النسبة)  النسبة  30%
^ (علامة الأس)** أس 2 ^ 3

ملاحظة: لتغيير ترتيب التقييم، يمكنك وضع الجزء من الصيغة الذي سيتم حسابه أولاً في أقواس.

عوامل المقارنة

يمكنك مقارنة قيم الخلايا باستخدام عوامل المقارنة. عندما تتم مقارنة قيمتين باستخدام هذه العوامل، تكون النتيجة قيمة منطقية إما TRUE أو FALSE:

العامل  المعنى  المعنى 
= (إشارة التساوي)  يساوي  A2 = 3
<> (علامة لا تساوي)  لا يساوي A2 <> 3
> (علامة أكبر من)  أكبر من A2 > 3
>= (علامة أكبر من أو يساوي) أكبر من أو يساوي A2 >= 3
< (علامة أقل من) أقل من A2 < 3
<= (علامة أقل من أو يساوي) أقل من أو يساوي A2 <= 3

مراجع الخلايا بأسلوب A1

مراجع الخلايا بأسلوب A1 تُستخدم لأوراق العمل، حيث يكون للعمود معرف حرف (مثل “A") وللصف معرف رقمي (مثل “1"). يمكن استخدام مراجع الخلايا بأسلوب A1 بالطريقة التالية:

مرجع الخلية مثال
مطلق  نسبي  مخلوط
خلية  $A$2  A2

A$2

$A2

صف  $2:$2  2:2  -
عمود  $A:$A  A:A  -
نطاق  $A$2:$C$4  A2:C4

$A$2:C4

A$2:$C4

إليك مثال على كيفية استخدام مرجع الخلية بأسلوب A1 في صيغة:

  $workbook->getCell(0, "A2")->setFormula("C3 + SUM(F2:H5)");

مراجع الخلايا بأسلوب R1C1

مراجع الخلايا بأسلوب R1C1 تُستخدم لأوراق العمل، حيث يحتوي كل من الصف والعمود على معرف رقمي. يمكن استخدام مراجع الخلايا بأسلوب R1C1 بالطريقة التالية:

مرجع الخلية مثال
مطلق  نسبي  مخلوط
خلية  R2C3 R[2]C[3] R2C[3]
R[2]C3
صف  R2 R[2] -
عمود  C3 C[3] -
نطاق  R2C3:R5C7 R[2]C[3]:R[5]C[7]  R2C3:R[5]C[7]
R[2]C3:R5C[7]

إليك مثال على كيفية استخدام مرجع الخلية بأسلوب R1C1 في صيغة:

  $workbook->getCell(0, "A2")->setR1C1Formula("R2C4 + SUM(R5C6:R7C9)");

الدوال المعرفة مسبقًا

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

  • ABS
  • AVERAGE
  • CEILING
  • CHOOSE
  • CONCAT
  • CONCATENATE
  • DATE (نظام التاريخ 1900)
  • DAYS
  • FIND
  • FINDB
  • IF
  • INDEX (شكل المرجع)
  • LOOKUP (شكل المتجه)
  • MATCH (شكل المتجه)
  • MAX
  • SUM
  • VLOOKUP