Обчислює результат вказаного виразу
Обчислювач аркуша використовує спільний з робочою книгою механізм формул та підтримує ті самі групи функцій:
текстові функції (
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. Рядок, що задає вираз, який слід обчислити |
Приклад
Цей приклад обчислює суму значень у діапазоні A1:A20
Val := Workbook.Sheets[1].Calculate('SUM(A1:A20)');
Цей приклад обчислює текстовий вираз у контексті аркуша
Val := Workbook.Sheets[1].Calculate('REPLACE("abcde";2;3;"XY")');
Цей приклад визначає найменше значення в діапазоні A1:F10 на першому аркуші