git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7857 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-11-10 22:00:09 +00:00
parent fbe7c7e5f1
commit 85fe20453e
2 changed files with 21 additions and 1 deletions

View File

@ -2165,7 +2165,6 @@ begin
Result := StringResult(resStr); Result := StringResult(resStr);
end; end;
procedure fpsCOLUMN(var Result: TsExpressionResult; procedure fpsCOLUMN(var Result: TsExpressionResult;
const Args: TsExprParameterArray); const Args: TsExprParameterArray);
{ COLUMN( [reference] ) { COLUMN( [reference] )
@ -2202,6 +2201,24 @@ begin
Result.ResultType := rtHyperlink; Result.ResultType := rtHyperlink;
end; end;
procedure fpsINDIRECT(var Result: TsExpressionResult;
const Args: TsExprParameterArray);
{ INDIRECT(string_reference, [ref_style])
returns the reference to a cell based on its string representation
"string_reference": textual representation of a cell reference.
"ref_style": TRUE (default) ndicates that string_reference will be interpreted
as an A1-style reference. FALSE indicates that string_reference will be
interpreted as an R1C1-style reference.
NOTE: ref_style and mixing of A1 and R1C1 notation is not supported. }
begin
Result := ErrorResult(errArgError);
if Length(Args) = 0 then
exit;
Result := Args[0];
end;
procedure fpsMATCH(var Result: TsExpressionResult; procedure fpsMATCH(var Result: TsExpressionResult;
const Args: TsExprParameterArray); const Args: TsExprParameterArray);
{ MATCH( value, array, [match_type] { MATCH( value, array, [match_type]
@ -2469,6 +2486,7 @@ begin
AddFunction(cat, 'ADDRESS', 'S', 'IIibs',INT_EXCEL_SHEET_FUNC_ADDRESS, @fpsADDRESS); AddFunction(cat, 'ADDRESS', 'S', 'IIibs',INT_EXCEL_SHEET_FUNC_ADDRESS, @fpsADDRESS);
AddFunction(cat, 'COLUMN', 'I', 'r', INT_EXCEL_SHEET_FUNC_COLUMN, @fpsCOLUMN); AddFunction(cat, 'COLUMN', 'I', 'r', INT_EXCEL_SHEET_FUNC_COLUMN, @fpsCOLUMN);
AddFunction(cat, 'HYPERLINK', 'S', 'Ss', INT_EXCEL_SHEET_FUNC_HYPERLINK, @fpsHYPERLINK); AddFunction(cat, 'HYPERLINK', 'S', 'Ss', INT_EXCEL_SHEET_FUNC_HYPERLINK, @fpsHYPERLINK);
AddFunction(cat, 'INDIRECT', 'C', 'Sb', INT_EXCEL_SHEET_FUNC_INDIRECT, @fpsINDIRECT);
AddFunction(cat, 'MATCH', 'I', 'SRi', INT_EXCEL_SHEET_FUNC_MATCH, @fpsMATCH); AddFunction(cat, 'MATCH', 'I', 'SRi', INT_EXCEL_SHEET_FUNC_MATCH, @fpsMATCH);
AddFunction(cat, 'ROW', 'I', 'r', INT_EXCEL_SHEET_FUNC_ROW, @fpsROW); AddFunction(cat, 'ROW', 'I', 'r', INT_EXCEL_SHEET_FUNC_ROW, @fpsROW);

View File

@ -209,6 +209,8 @@ const
INT_EXCEL_SHEET_FUNC_SYD = 143; INT_EXCEL_SHEET_FUNC_SYD = 143;
INT_EXCEL_SHEET_FUNC_DDB = 144; INT_EXCEL_SHEET_FUNC_DDB = 144;
INT_EXCEL_SHEET_FUNC_INDIRECT = 148;
INT_EXCEL_SHEET_FUNC_CLEAN = 162; INT_EXCEL_SHEET_FUNC_CLEAN = 162;
INT_EXCEL_SHEET_FUNC_MDETERM = 163; INT_EXCEL_SHEET_FUNC_MDETERM = 163;
INT_EXCEL_SHEET_FUNC_MINVERSE = 164; INT_EXCEL_SHEET_FUNC_MINVERSE = 164;