تحسب نتيجة التعبير المحدد
يدعم المقيم المدمج العمليات الحسابية، ومراجع الخلايا والنطاقات، والنطاقات ذات الأسماء المحددة، ومجموعات الدالات التالية:
دالات النصوص (
TRIM،
PROPER،
CLEAN،
CHAR،
CODE،
T،
EXACT،
REPT،
FIND،
SEARCH،
SUBSTITUTE،
REPLACE)؛
دالات التاريخ (
EDATE،
EOMONTH،
DATEDIF،
YEARFRAC،
DAYS،
WEEKNUM،
ISOWEEKNUM)؛
دالات أيام العمل (
WORKDAY،
NETWORKDAYS)؛
الدالات الهندسية/تحويل الأساس (
DEC2BIN،
DEC2HEX،
DEC2OCT،
BIN2DEC،
BIN2HEX،
BIN2OCT،
OCT2DEC،
OCT2BIN،
OCT2HEX،
HEX2DEC،
HEX2BIN،
HEX2OCT،
BASE،
DECIMAL،
ARABIC)؛
دالات البت (
BITAND،
BITOR،
BITXOR،
BITLSHIFT،
BITRSHIFT)؛
الدالات الإحصائية (
VAR،
VARP،
STDEV،
STDEVP،
MODE،
VARA،
VARPA،
STDEVA،
STDEVPA)؛
الدالات التجميعية (
PRODUCT،
SUMSQ)؛
دالات الرياضيات (
GCD،
LCM،
MROUND،
QUOTIENT،
MULTINOMIAL)
لا يزال من الممكن حل دالات أوراق العمل المخصصة أو غير المدعومة من خلال
OnUserFunction / OnUserFunctionEx
بناء الجملة
function Calculate(Expression: WideString):Variant;
| Expression |
سلسلة نصية (WideString). سلسلة تحدد تعبيرا يجب حسابه |
مثال
يحسب هذا المثال التعبير البسيط
Val := Workbook.Calculate('100/2*3');
يحسب هذا المثال تعبيرا نصيا
Val := Workbook.Calculate('SUBSTITUTE("a-b-c";"-";"+")');
يحدد هذا المثال أصغر قيمة في النطاق A1:F10 في ورقة العمل النشطة
يمكن لـ TXLSWorkbook وTXLSXWorkbook مقارنة نتائج الصيغ المخزنة بالنتائج المحسوبة حديثاً دون استبدال ذاكرة التخزين المؤقت
function CalculateAndVerify: Integer; overload;
function CalculateAndVerify(out Mismatches: TArray<TXLSVerifyMismatch>): Integer; overload;
القيمة المعادة هي عدد حالات عدم التطابق. يحتوي كل سجل على SheetIndex وSheetName وRow وCol (القائمين على 1) وExpected وActual وFormula. تُتخطى الصيغ المتغيرة وخلايا جداول البيانات والصيغ بلا نتيجة مخزنة والصيغ التي يتعذر حسابها
MismatchCount := Workbook.CalculateAndVerify(Mismatches);
for I := 0 to MismatchCount - 1 do
Log(Mismatches[I].SheetName, Mismatches[I].Row,
Mismatches[I].Col, Mismatches[I].Expected, Mismatches[I].Actual);