'ANCHORARRAY(' . substr((string) $matches[0], 0, -1) . ')', $functionString ); return self::addXlwsPrefix(self::addXlfnPrefix($functionString)); } /** * Prefix function name in string with _xlfn. where required. * Leading character, expected to be equals sign, is stripped. */ public static function addFunctionPrefixStripEquals(string $functionString): string { $functionString = Preg::replace( [ '/\b(CEILING|FLOOR)[.]ODS\s*[(]/', '/\b(CEILING|FLOOR)[.]XCL\s*[(]/', ], [ '$1.MATH(', '$1(', ], $functionString ); return self::addFunctionPrefix(substr($functionString, 1)); } }