Документация 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