지정된 식의 결과를 계산합니다
내장 평가기는 산술, 셀 및 범위 참조, 정의된 이름 범위와 다음 함수 그룹을 지원합니다:
텍스트 함수(
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, 1 기반 Row와 Col, 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);