指定した式の結果を計算します
組み込み評価エンジンは、算術演算、セルおよび範囲参照、定義名の範囲、カスタム関数コールバックをサポートします
TRIM,
PROPER,
CLEAN,
CHAR,
CODE,
T,
EXACT,
REPT,
FIND,
SEARCH,
SUBSTITUTE,
REPLACE);
date functions (
EDATE,
EOMONTH,
DATEDIF,
YEARFRAC,
DAYS,
WEEKNUM,
ISOWEEKNUM);
workday functions (
WORKDAY,
NETWORKDAYS も受け付けます
セル参照、範囲、参照先セルに保存された数式、シート間参照、数式で定義された入れ子の名前、セルごとのエラーを含む broadcast 配列、多変量回帰と予測の配列、およびサポートされるテキスト、日付、workday、エンジニアリング/基数変換、ビット演算、統計、集計、数学の各関数は、共有の HotXLS 数式エンジンで評価されます
詳細は
DEC2BIN,
DEC2HEX,
DEC2OCT,
BIN2DEC,
BIN2HEX,
BIN2OCT,
OCT2DEC,
OCT2BIN,
OCT2HEX,
HEX2DEC,
HEX2BIN,
HEX2OCT,
BASE,
DECIMAL,
ARABIC);
bitwise functions (
BITAND,
BITOR,
BITXOR,
BITLSHIFT,
BITRSHIFT);
statistical functions (
VAR,
VARP,
STDEV,
STDEVP,
MODE,
VARA,
VARPA,
STDEVA,
STDEVPA);
aggregate functions (
PRODUCT,
SUMSQ);
math functions (
GCD,
LCM,
MROUND,
QUOTIENT,
MULTINOMIAL でカスタム関数や未サポートの関数を処理します
OnUserFunction / OnUserFunctionEx構文
functionCalculate(Expression: WideString):Variant;
| Expression | 計算する必要がある式を指定する文字列を示す WideString |
使用例
Val := Workbook.Calculate('100/2*3');
この使用例は、テキスト式を計算します
Val := Workbook.Calculate('SUBSTITUTE("a-b-c";"-";"+")');
この使用例は、アクティブなワークシートの A1:F10 の最小値を求めます
TXLSWorkbook and TXLSXWorkbook は、保存されたキャッシュを置き換えることなく、保存済みの数式結果と再評価した結果を比較できます
function CalculateAndVerify: Integer; overload;
function CalculateAndVerify(out Mismatches: TArray<TXLSVerifyMismatch>): Integer; overload;
戻り値は不一致の件数です。各レコードには SheetIndex, SheetName, one-based Row and Col, Expected, Actual, and 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);