Документація HotXLS

Метод Calculate

Обчислює результат вказаного виразу
Обчислювач аркуша використовує спільний з робочою книгою механізм формул та підтримує ті самі групи функцій: текстові функції (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 на першому аркуші

Val := Workbook.Sheets[1].Calculate('MIN(A1:F10)');

Дивіться також

Зворотний виклик OnUserFunction
Метод IXLSWorkbook.Calculate