1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2/* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19 20#ifndef INCLUDED_FORMULA_INC_CORE_RESOURCE_HRC 21#define INCLUDED_FORMULA_INC_CORE_RESOURCE_HRC 22 23#include <formula/compiler.hxx> 24#include <utility> 25 26#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String) 27 28/** These English names are used to store/load ODFF as of ODF v1.2. */ 29// NAMES CAN ONLY BE CHANGED WHEN PROVIDING BACKWARD AND FORWARD COMPATIBILITY 30// such that at least two releases can already read the new name to be 31// introduced by a later release. 32// If there is a reason for another name for some function then add an 33// *additional* name to be recognized to sc/source/core/tool/compiler.cxx 34// ScCompiler::IsOpCode() in the if (mxSymbols->isODFF()) block. 35const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF[] = 36{ 37 { "IF" , SC_OPCODE_IF }, 38 { "IFERROR" , SC_OPCODE_IF_ERROR }, 39 { "IFNA" , SC_OPCODE_IF_NA }, 40 { "CHOOSE" , SC_OPCODE_CHOOSE }, 41 { "(" , SC_OPCODE_OPEN }, 42 { ")" , SC_OPCODE_CLOSE }, 43 // SC_OPCODE_TABLE_REF_... not supported in ODFF 44 { "{" , SC_OPCODE_ARRAY_OPEN }, 45 { "}" , SC_OPCODE_ARRAY_CLOSE }, 46 { "|" , SC_OPCODE_ARRAY_ROW_SEP }, 47 { ";" , SC_OPCODE_ARRAY_COL_SEP }, 48 { ";" , SC_OPCODE_SEP }, 49 { "%" , SC_OPCODE_PERCENT_SIGN }, 50 { "+" , SC_OPCODE_ADD }, 51 { "-" , SC_OPCODE_SUB }, 52 { "*" , SC_OPCODE_MUL }, 53 { "/" , SC_OPCODE_DIV }, 54 { "&" , SC_OPCODE_AMPERSAND }, 55 { "^" , SC_OPCODE_POW }, 56 { "=" , SC_OPCODE_EQUAL }, 57 { "<>" , SC_OPCODE_NOT_EQUAL }, 58 { "<" , SC_OPCODE_LESS }, 59 { ">" , SC_OPCODE_GREATER }, 60 { "<=" , SC_OPCODE_LESS_EQUAL }, 61 { ">=" , SC_OPCODE_GREATER_EQUAL }, 62 { "AND" , SC_OPCODE_AND }, 63 { "OR" , SC_OPCODE_OR }, 64 { "XOR" , SC_OPCODE_XOR }, 65 { "!" , SC_OPCODE_INTERSECT }, 66 { "~" , SC_OPCODE_UNION }, 67 { ":" , SC_OPCODE_RANGE }, 68 { "NOT" , SC_OPCODE_NOT }, 69 { "NEG" , SC_OPCODE_NEG }, 70 { "-" , SC_OPCODE_NEG_SUB }, 71 { "PI" , SC_OPCODE_PI }, 72 { "RAND" , SC_OPCODE_RANDOM }, 73 { "TRUE" , SC_OPCODE_TRUE }, 74 { "FALSE" , SC_OPCODE_FALSE }, 75 { "TODAY" , SC_OPCODE_GET_ACT_DATE }, 76 { "NOW" , SC_OPCODE_GET_ACT_TIME }, 77 { "NA" , SC_OPCODE_NO_VALUE }, 78 { "ORG.OPENOFFICE.CURRENT" , SC_OPCODE_CURRENT }, 79 { "DEGREES" , SC_OPCODE_DEG }, 80 { "RADIANS" , SC_OPCODE_RAD }, 81 { "SIN" , SC_OPCODE_SIN }, 82 { "COS" , SC_OPCODE_COS }, 83 { "TAN" , SC_OPCODE_TAN }, 84 { "COT" , SC_OPCODE_COT }, 85 { "ASIN" , SC_OPCODE_ARC_SIN }, 86 { "ACOS" , SC_OPCODE_ARC_COS }, 87 { "ATAN" , SC_OPCODE_ARC_TAN }, 88 { "ACOT" , SC_OPCODE_ARC_COT }, 89 { "SINH" , SC_OPCODE_SIN_HYP }, 90 { "COSH" , SC_OPCODE_COS_HYP }, 91 { "TANH" , SC_OPCODE_TAN_HYP }, 92 { "COTH" , SC_OPCODE_COT_HYP }, 93 { "ASINH" , SC_OPCODE_ARC_SIN_HYP }, 94 { "ACOSH" , SC_OPCODE_ARC_COS_HYP }, 95 { "ATANH" , SC_OPCODE_ARC_TAN_HYP }, 96 { "ACOTH" , SC_OPCODE_ARC_COT_HYP }, 97 { "CSC" , SC_OPCODE_COSECANT }, 98 { "SEC" , SC_OPCODE_SECANT }, 99 { "CSCH" , SC_OPCODE_COSECANT_HYP }, 100 { "SECH" , SC_OPCODE_SECANT_HYP }, 101 { "EXP" , SC_OPCODE_EXP }, 102 { "LN" , SC_OPCODE_LN }, 103 { "SQRT" , SC_OPCODE_SQRT }, 104 { "FACT" , SC_OPCODE_FACT }, 105 { "YEAR" , SC_OPCODE_GET_YEAR }, 106 { "MONTH" , SC_OPCODE_GET_MONTH }, 107 { "DAY" , SC_OPCODE_GET_DAY }, 108 { "HOUR" , SC_OPCODE_GET_HOUR }, 109 { "MINUTE" , SC_OPCODE_GET_MIN }, 110 { "SECOND" , SC_OPCODE_GET_SEC }, 111 { "SIGN" , SC_OPCODE_PLUS_MINUS }, 112 { "ABS" , SC_OPCODE_ABS }, 113 { "INT" , SC_OPCODE_INT }, 114 { "PHI" , SC_OPCODE_PHI }, 115 { "GAUSS" , SC_OPCODE_GAUSS }, 116 { "ISBLANK" , SC_OPCODE_IS_EMPTY }, 117 { "ISTEXT" , SC_OPCODE_IS_STRING }, 118 { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING }, 119 { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL }, 120 { "TYPE" , SC_OPCODE_TYPE }, 121 { "CELL" , SC_OPCODE_CELL }, 122 { "ISREF" , SC_OPCODE_IS_REF }, 123 { "ISNUMBER" , SC_OPCODE_IS_VALUE }, 124 { "ISFORMULA" , SC_OPCODE_IS_FORMULA }, 125 { "ISNA" , SC_OPCODE_IS_NV }, 126 { "ISERR" , SC_OPCODE_IS_ERR }, 127 { "ISERROR" , SC_OPCODE_IS_ERROR }, 128 { "ISEVEN" , SC_OPCODE_IS_EVEN }, 129 { "ISODD" , SC_OPCODE_IS_ODD }, 130 { "N" , SC_OPCODE_N }, 131 { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE }, 132 { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE }, 133 { "CODE" , SC_OPCODE_CODE }, 134 { "TRIM" , SC_OPCODE_TRIM }, 135 { "UPPER" , SC_OPCODE_UPPER }, 136 { "PROPER" , SC_OPCODE_PROPER }, 137 { "LOWER" , SC_OPCODE_LOWER }, 138 { "LEN" , SC_OPCODE_LEN }, 139 { "T" , SC_OPCODE_T }, 140 { "VALUE" , SC_OPCODE_VALUE }, 141 { "CLEAN" , SC_OPCODE_CLEAN }, 142 { "CHAR" , SC_OPCODE_CHAR }, 143 { "JIS" , SC_OPCODE_JIS }, 144 { "ASC" , SC_OPCODE_ASC }, 145 { "UNICODE" , SC_OPCODE_UNICODE }, 146 { "UNICHAR" , SC_OPCODE_UNICHAR }, 147 { "LOG10" , SC_OPCODE_LOG10 }, 148 { "EVEN" , SC_OPCODE_EVEN }, 149 { "ODD" , SC_OPCODE_ODD }, 150 { "LEGACY.NORMSDIST" , SC_OPCODE_STD_NORM_DIST }, 151 { "COM.MICROSOFT.NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS }, 152 { "FISHER" , SC_OPCODE_FISHER }, 153 { "FISHERINV" , SC_OPCODE_FISHER_INV }, 154 { "LEGACY.NORMSINV" , SC_OPCODE_S_NORM_INV }, 155 { "COM.MICROSOFT.NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS }, 156 { "GAMMALN" , SC_OPCODE_GAMMA_LN }, 157 { "COM.MICROSOFT.GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS }, 158 { "ORG.OPENOFFICE.ERRORTYPE" , SC_OPCODE_ERROR_TYPE }, 159 { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF }, 160 { "FORMULA" , SC_OPCODE_FORMULA }, 161 { "ATAN2" , SC_OPCODE_ARC_TAN_2 }, 162 { "COM.MICROSOFT.CEILING.MATH" , SC_OPCODE_CEIL_MATH }, 163 { "CEILING" , SC_OPCODE_CEIL }, 164 { "COM.MICROSOFT.CEILING" , SC_OPCODE_CEIL_MS }, 165 { "COM.MICROSOFT.CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE }, 166 { "COM.MICROSOFT.ISO.CEILING" , SC_OPCODE_CEIL_ISO }, 167 { "FLOOR" , SC_OPCODE_FLOOR }, 168 { "COM.MICROSOFT.FLOOR" , SC_OPCODE_FLOOR_MS }, 169 { "COM.MICROSOFT.FLOOR.MATH" , SC_OPCODE_FLOOR_MATH }, 170 { "COM.MICROSOFT.FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE }, 171 { "ROUND" , SC_OPCODE_ROUND }, 172 { "ROUNDUP" , SC_OPCODE_ROUND_UP }, 173 { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN }, 174 { "TRUNC" , SC_OPCODE_TRUNC }, 175 { "LOG" , SC_OPCODE_LOG }, 176 { "POWER" , SC_OPCODE_POWER }, 177 { "GCD" , SC_OPCODE_GCD }, 178 { "LCM" , SC_OPCODE_LCM }, 179 { "MOD" , SC_OPCODE_MOD }, 180 { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT }, 181 { "SUMSQ" , SC_OPCODE_SUM_SQ }, 182 { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 }, 183 { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 }, 184 { "SUMXMY2" , SC_OPCODE_SUM_XMY2 }, 185 { "DATE" , SC_OPCODE_GET_DATE }, 186 { "TIME" , SC_OPCODE_GET_TIME }, 187 { "DAYS" , SC_OPCODE_GET_DIFF_DATE }, 188 { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 }, 189 { "DATEDIF" , SC_OPCODE_GET_DATEDIF }, 190 { "MIN" , SC_OPCODE_MIN }, 191 { "MINA" , SC_OPCODE_MIN_A }, 192 { "MAX" , SC_OPCODE_MAX }, 193 { "MAXA" , SC_OPCODE_MAX_A }, 194 { "SUM" , SC_OPCODE_SUM }, 195 { "PRODUCT" , SC_OPCODE_PRODUCT }, 196 { "AVERAGE" , SC_OPCODE_AVERAGE }, 197 { "AVERAGEA" , SC_OPCODE_AVERAGE_A }, 198 { "COUNT" , SC_OPCODE_COUNT }, 199 { "COUNTA" , SC_OPCODE_COUNT_2 }, 200 { "NPV" , SC_OPCODE_NPV }, 201 { "IRR" , SC_OPCODE_IRR }, 202 { "MIRR" , SC_OPCODE_MIRR }, 203 { "ISPMT" , SC_OPCODE_ISPMT }, 204 { "VAR" , SC_OPCODE_VAR }, 205 { "VARA" , SC_OPCODE_VAR_A }, 206 { "VARP" , SC_OPCODE_VAR_P }, 207 { "VARPA" , SC_OPCODE_VAR_P_A }, 208 { "COM.MICROSOFT.VAR.P" , SC_OPCODE_VAR_P_MS }, 209 { "COM.MICROSOFT.VAR.S" , SC_OPCODE_VAR_S }, 210 { "STDEV" , SC_OPCODE_ST_DEV }, 211 { "STDEVA" , SC_OPCODE_ST_DEV_A }, 212 { "STDEVP" , SC_OPCODE_ST_DEV_P }, 213 { "STDEVPA" , SC_OPCODE_ST_DEV_P_A }, 214 { "COM.MICROSOFT.STDEV.P" , SC_OPCODE_ST_DEV_P_MS }, 215 { "COM.MICROSOFT.STDEV.S" , SC_OPCODE_ST_DEV_S }, 216 { "BINOM.DIST.RANGE" , SC_OPCODE_B }, 217 { "NORMDIST" , SC_OPCODE_NORM_DIST }, 218 { "COM.MICROSOFT.NORM.DIST" , SC_OPCODE_NORM_DIST_MS }, 219 { "EXPONDIST" , SC_OPCODE_EXP_DIST }, 220 { "COM.MICROSOFT.EXPON.DIST" , SC_OPCODE_EXP_DIST_MS }, 221 { "BINOMDIST" , SC_OPCODE_BINOM_DIST }, 222 { "COM.MICROSOFT.BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS }, 223 { "POISSON" , SC_OPCODE_POISSON_DIST }, 224 { "COM.MICROSOFT.POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS }, 225 { "COMBIN" , SC_OPCODE_COMBIN }, 226 { "COMBINA" , SC_OPCODE_COMBIN_A }, 227 { "PERMUT" , SC_OPCODE_PERMUT }, 228 { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A }, 229 { "PV" , SC_OPCODE_PV }, 230 { "SYD" , SC_OPCODE_SYD }, 231 { "DDB" , SC_OPCODE_DDB }, 232 { "DB" , SC_OPCODE_DB }, 233 { "VDB" , SC_OPCODE_VBD }, 234 { "PDURATION" , SC_OPCODE_PDURATION }, 235 { "SLN" , SC_OPCODE_SLN }, 236 { "PMT" , SC_OPCODE_PMT }, 237 { "COLUMNS" , SC_OPCODE_COLUMNS }, 238 { "ROWS" , SC_OPCODE_ROWS }, 239 { "SHEETS" , SC_OPCODE_SHEETS }, 240 { "COLUMN" , SC_OPCODE_COLUMN }, 241 { "ROW" , SC_OPCODE_ROW }, 242 { "SHEET" , SC_OPCODE_SHEET }, 243 { "RRI" , SC_OPCODE_RRI }, 244 { "FV" , SC_OPCODE_FV }, 245 { "NPER" , SC_OPCODE_NPER }, 246 { "RATE" , SC_OPCODE_RATE }, 247 { "IPMT" , SC_OPCODE_IPMT }, 248 { "PPMT" , SC_OPCODE_PPMT }, 249 { "CUMIPMT" , SC_OPCODE_CUM_IPMT }, 250 { "CUMPRINC" , SC_OPCODE_CUM_PRINC }, 251 { "EFFECT" , SC_OPCODE_EFFECT }, 252 { "NOMINAL" , SC_OPCODE_NOMINAL }, 253 { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL }, 254 { "DSUM" , SC_OPCODE_DB_SUM }, 255 { "DCOUNT" , SC_OPCODE_DB_COUNT }, 256 { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 }, 257 { "DAVERAGE" , SC_OPCODE_DB_AVERAGE }, 258 { "DGET" , SC_OPCODE_DB_GET }, 259 { "DMAX" , SC_OPCODE_DB_MAX }, 260 { "DMIN" , SC_OPCODE_DB_MIN }, 261 { "DPRODUCT" , SC_OPCODE_DB_PRODUCT }, 262 { "DSTDEV" , SC_OPCODE_DB_STD_DEV }, 263 { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P }, 264 { "DVAR" , SC_OPCODE_DB_VAR }, 265 { "DVARP" , SC_OPCODE_DB_VAR_P }, 266 { "INDIRECT" , SC_OPCODE_INDIRECT }, 267 { "ADDRESS" , SC_OPCODE_ADDRESS }, 268 { "MATCH" , SC_OPCODE_MATCH }, 269 { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS }, 270 { "COUNTIF" , SC_OPCODE_COUNT_IF }, 271 { "SUMIF" , SC_OPCODE_SUM_IF }, 272 { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF }, 273 { "SUMIFS" , SC_OPCODE_SUM_IFS }, 274 { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS }, 275 { "COUNTIFS" , SC_OPCODE_COUNT_IFS }, 276 { "LOOKUP" , SC_OPCODE_LOOKUP }, 277 { "VLOOKUP" , SC_OPCODE_V_LOOKUP }, 278 { "HLOOKUP" , SC_OPCODE_H_LOOKUP }, 279 { "ORG.OPENOFFICE.MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union) 280 { "OFFSET" , SC_OPCODE_OFFSET }, 281 { "INDEX" , SC_OPCODE_INDEX }, 282 { "AREAS" , SC_OPCODE_AREAS }, 283 { "DOLLAR" , SC_OPCODE_CURRENCY }, 284 { "REPLACE" , SC_OPCODE_REPLACE }, 285 { "FIXED" , SC_OPCODE_FIXED }, 286 { "FIND" , SC_OPCODE_FIND }, 287 { "EXACT" , SC_OPCODE_EXACT }, 288 { "LEFT" , SC_OPCODE_LEFT }, 289 { "RIGHT" , SC_OPCODE_RIGHT }, 290 { "SEARCH" , SC_OPCODE_SEARCH }, 291 { "MID" , SC_OPCODE_MID }, 292 { "LENB" , SC_OPCODE_LENB }, 293 { "RIGHTB" , SC_OPCODE_RIGHTB }, 294 { "LEFTB" , SC_OPCODE_LEFTB }, 295 { "REPLACEB" , SC_OPCODE_REPLACEB }, 296 { "FINDB" , SC_OPCODE_FINDB }, 297 { "SEARCHB" , SC_OPCODE_SEARCHB }, 298 { "MIDB" , SC_OPCODE_MIDB }, 299 { "TEXT" , SC_OPCODE_TEXT }, 300 { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE }, 301 { "REPT" , SC_OPCODE_REPT }, 302 { "CONCATENATE" , SC_OPCODE_CONCAT }, 303 { "COM.MICROSOFT.CONCAT" , SC_OPCODE_CONCAT_MS }, 304 { "COM.MICROSOFT.TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS }, 305 { "COM.MICROSOFT.IFS" , SC_OPCODE_IFS_MS }, 306 { "COM.MICROSOFT.SWITCH" , SC_OPCODE_SWITCH_MS }, 307 { "COM.MICROSOFT.MINIFS" , SC_OPCODE_MINIFS_MS }, 308 { "COM.MICROSOFT.MAXIFS" , SC_OPCODE_MAXIFS_MS }, 309 { "MVALUE" , SC_OPCODE_MAT_VALUE }, 310 { "MDETERM" , SC_OPCODE_MAT_DET }, 311 { "MINVERSE" , SC_OPCODE_MAT_INV }, 312 { "MMULT" , SC_OPCODE_MAT_MULT }, 313 { "TRANSPOSE" , SC_OPCODE_MAT_TRANS }, 314 { "MUNIT" , SC_OPCODE_MATRIX_UNIT }, 315 { "ORG.OPENOFFICE.GOALSEEK" , SC_OPCODE_BACK_SOLVER }, 316 { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST }, 317 { "COM.MICROSOFT.HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS }, 318 { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST }, 319 { "COM.MICROSOFT.LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS }, 320 { "LEGACY.TDIST" , SC_OPCODE_T_DIST }, 321 { "COM.MICROSOFT.T.DIST.2T" , SC_OPCODE_T_DIST_2T }, 322 { "COM.MICROSOFT.T.DIST" , SC_OPCODE_T_DIST_MS }, 323 { "COM.MICROSOFT.T.DIST.RT" , SC_OPCODE_T_DIST_RT }, 324 { "LEGACY.FDIST" , SC_OPCODE_F_DIST }, 325 { "FDIST" , SC_OPCODE_F_DIST_LT }, 326 { "COM.MICROSOFT.F.DIST.RT" , SC_OPCODE_F_DIST_RT }, 327 { "LEGACY.CHIDIST" , SC_OPCODE_CHI_DIST }, 328 { "COM.MICROSOFT.CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS }, 329 { "WEIBULL" , SC_OPCODE_WEIBULL }, 330 { "COM.MICROSOFT.WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS }, 331 { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT }, 332 { "COM.MICROSOFT.NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS }, 333 { "CRITBINOM" , SC_OPCODE_CRIT_BINOM }, 334 { "COM.MICROSOFT.BINOM.INV" , SC_OPCODE_BINOM_INV }, 335 { "KURT" , SC_OPCODE_KURT }, 336 { "HARMEAN" , SC_OPCODE_HAR_MEAN }, 337 { "GEOMEAN" , SC_OPCODE_GEO_MEAN }, 338 { "STANDARDIZE" , SC_OPCODE_STANDARD }, 339 { "AVEDEV" , SC_OPCODE_AVE_DEV }, 340 { "SKEW" , SC_OPCODE_SKEW }, 341 { "SKEWP" , SC_OPCODE_SKEWP }, 342 { "DEVSQ" , SC_OPCODE_DEV_SQ }, 343 { "MEDIAN" , SC_OPCODE_MEDIAN }, 344 { "MODE" , SC_OPCODE_MODAL_VALUE }, 345 { "COM.MICROSOFT.MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS }, 346 { "COM.MICROSOFT.MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI }, 347 { "ZTEST" , SC_OPCODE_Z_TEST }, 348 { "COM.MICROSOFT.Z.TEST" , SC_OPCODE_Z_TEST_MS }, 349 { "COM.MICROSOFT.AGGREGATE" , SC_OPCODE_AGGREGATE }, 350 { "TTEST" , SC_OPCODE_T_TEST }, 351 { "COM.MICROSOFT.T.TEST" , SC_OPCODE_T_TEST_MS }, 352 { "RANK" , SC_OPCODE_RANK }, 353 { "PERCENTILE" , SC_OPCODE_PERCENTILE }, 354 { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK }, 355 { "COM.MICROSOFT.PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC }, 356 { "COM.MICROSOFT.PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC }, 357 { "COM.MICROSOFT.QUARTILE.INC" , SC_OPCODE_QUARTILE_INC }, 358 { "COM.MICROSOFT.RANK.EQ" , SC_OPCODE_RANK_EQ }, 359 { "COM.MICROSOFT.PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC }, 360 { "COM.MICROSOFT.PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC }, 361 { "COM.MICROSOFT.QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC }, 362 { "COM.MICROSOFT.RANK.AVG" , SC_OPCODE_RANK_AVG }, 363 { "LARGE" , SC_OPCODE_LARGE }, 364 { "SMALL" , SC_OPCODE_SMALL }, 365 { "FREQUENCY" , SC_OPCODE_FREQUENCY }, 366 { "QUARTILE" , SC_OPCODE_QUARTILE }, 367 { "NORMINV" , SC_OPCODE_NORM_INV }, 368 { "COM.MICROSOFT.NORM.INV" , SC_OPCODE_NORM_INV_MS }, 369 { "CONFIDENCE" , SC_OPCODE_CONFIDENCE }, 370 { "COM.MICROSOFT.CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N }, 371 { "COM.MICROSOFT.CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T }, 372 { "FTEST" , SC_OPCODE_F_TEST }, 373 { "COM.MICROSOFT.F.TEST" , SC_OPCODE_F_TEST_MS }, 374 { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN }, 375 { "PROB" , SC_OPCODE_PROB }, 376 { "CORREL" , SC_OPCODE_CORREL }, 377 { "COVAR" , SC_OPCODE_COVAR }, 378 { "COM.MICROSOFT.COVARIANCE.P" , SC_OPCODE_COVARIANCE_P }, 379 { "COM.MICROSOFT.COVARIANCE.S" , SC_OPCODE_COVARIANCE_S }, 380 { "PEARSON" , SC_OPCODE_PEARSON }, 381 { "RSQ" , SC_OPCODE_RSQ }, 382 { "STEYX" , SC_OPCODE_STEYX }, 383 { "SLOPE" , SC_OPCODE_SLOPE }, 384 { "INTERCEPT" , SC_OPCODE_INTERCEPT }, 385 { "TREND" , SC_OPCODE_TREND }, 386 { "GROWTH" , SC_OPCODE_GROWTH }, 387 { "LINEST" , SC_OPCODE_LINEST }, 388 { "LOGEST" , SC_OPCODE_LOGEST }, 389 { "FORECAST" , SC_OPCODE_FORECAST }, 390 { "COM.MICROSOFT.FORECAST.ETS" , SC_OPCODE_FORECAST_ETS_ADD }, 391 { "COM.MICROSOFT.FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA }, 392 { "ORG.LIBREOFFICE.FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL }, 393 { "COM.MICROSOFT.FORECAST.ETS.CONFINT" , SC_OPCODE_FORECAST_ETS_PIA }, 394 { "ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM }, 395 { "COM.MICROSOFT.FORECAST.ETS.STAT" , SC_OPCODE_FORECAST_ETS_STA }, 396 { "ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM }, 397 { "COM.MICROSOFT.FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN }, 398 { "LEGACY.CHIINV" , SC_OPCODE_CHI_INV }, 399 { "COM.MICROSOFT.CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS }, 400 { "GAMMADIST" , SC_OPCODE_GAMMA_DIST }, 401 { "COM.MICROSOFT.GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS }, 402 { "GAMMAINV" , SC_OPCODE_GAMMA_INV }, 403 { "COM.MICROSOFT.GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS }, 404 { "TINV" , SC_OPCODE_T_INV }, 405 { "COM.MICROSOFT.T.INV.2T" , SC_OPCODE_T_INV_2T }, 406 { "COM.MICROSOFT.T.INV" , SC_OPCODE_T_INV_MS }, 407 { "LEGACY.FINV" , SC_OPCODE_F_INV }, 408 { "FINV" , SC_OPCODE_F_INV_LT }, 409 { "COM.MICROSOFT.F.INV.RT" , SC_OPCODE_F_INV_RT }, 410 { "LEGACY.CHITEST" , SC_OPCODE_CHI_TEST }, 411 { "COM.MICROSOFT.CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS }, 412 { "LOGINV" , SC_OPCODE_LOG_INV }, 413 { "COM.MICROSOFT.LOGNORM.INV" , SC_OPCODE_LOG_INV_MS }, 414 { "MULTIPLE.OPERATIONS" , SC_OPCODE_TABLE_OP }, 415 { "BETADIST" , SC_OPCODE_BETA_DIST }, 416 { "BETAINV" , SC_OPCODE_BETA_INV }, 417 { "COM.MICROSOFT.BETA.DIST" , SC_OPCODE_BETA_DIST_MS }, 418 { "COM.MICROSOFT.BETA.INV" , SC_OPCODE_BETA_INV_MS }, 419 { "WEEKNUM" , SC_OPCODE_WEEK }, 420 { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM }, 421 { "ORG.LIBREOFFICE.WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO }, 422 { "ORG.OPENOFFICE.EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY }, 423 { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK }, 424 { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS }, 425 { "COM.MICROSOFT.NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS }, 426 { "COM.MICROSOFT.WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS }, 427 { "#NAME!" , SC_OPCODE_NO_NAME }, 428 { "ORG.OPENOFFICE.STYLE" , SC_OPCODE_STYLE }, 429 { "DDE" , SC_OPCODE_DDE }, 430 { "BASE" , SC_OPCODE_BASE }, 431 { "DECIMAL" , SC_OPCODE_DECIMAL }, 432 { "ORG.OPENOFFICE.CONVERT" , SC_OPCODE_CONVERT_OOO }, 433 { "ROMAN" , SC_OPCODE_ROMAN }, 434 { "ARABIC" , SC_OPCODE_ARABIC }, 435 { "HYPERLINK" , SC_OPCODE_HYPERLINK }, 436 { "INFO" , SC_OPCODE_INFO }, 437 { "COM.MICROSOFT.BAHTTEXT" , SC_OPCODE_BAHTTEXT }, 438 { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA }, 439 { "EUROCONVERT" , SC_OPCODE_EUROCONVERT }, 440 { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE }, 441 { "GAMMA" , SC_OPCODE_GAMMA }, 442 { "CHISQDIST" , SC_OPCODE_CHISQ_DIST }, 443 { "COM.MICROSOFT.CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS }, 444 { "CHISQINV" , SC_OPCODE_CHISQ_INV }, 445 { "COM.MICROSOFT.CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS }, 446 { "BITAND" , SC_OPCODE_BITAND }, 447 { "BITOR" , SC_OPCODE_BITOR }, 448 { "BITXOR" , SC_OPCODE_BITXOR }, 449 { "BITRSHIFT" , SC_OPCODE_BITRSHIFT }, 450 { "BITLSHIFT" , SC_OPCODE_BITLSHIFT }, 451 /* BEGIN defined ERROR.TYPE() values. */ 452 { "#NULL!" , SC_OPCODE_ERROR_NULL }, 453 { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO }, 454 { "#VALUE!" , SC_OPCODE_ERROR_VALUE }, 455 { "#REF!" , SC_OPCODE_ERROR_REF }, 456 { "#NAME?" , SC_OPCODE_ERROR_NAME }, 457 { "#NUM!" , SC_OPCODE_ERROR_NUM }, 458 { "#N/A" , SC_OPCODE_ERROR_NA }, 459 /* END defined ERROR.TYPE() values. */ 460 { "COM.MICROSOFT.FILTERXML" , SC_OPCODE_FILTERXML }, 461 { "COM.MICROSOFT.WEBSERVICE" , SC_OPCODE_WEBSERVICE }, 462 { "ORG.LIBREOFFICE.COLOR" , SC_OPCODE_COLOR }, 463 { "COM.MICROSOFT.ERF.PRECISE" , SC_OPCODE_ERF_MS }, 464 { "COM.MICROSOFT.ERFC.PRECISE" , SC_OPCODE_ERFC_MS }, 465 { "COM.MICROSOFT.ENCODEURL" , SC_OPCODE_ENCODEURL }, 466 { "ORG.LIBREOFFICE.RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT }, 467 { "ORG.LIBREOFFICE.ROUNDSIG" , SC_OPCODE_ROUNDSIG }, 468 { "ORG.LIBREOFFICE.REGEX" , SC_OPCODE_REGEX }, 469 { "ORG.LIBREOFFICE.FOURIER", SC_OPCODE_FOURIER }, 470 { "ORG.LIBREOFFICE.RAND.NV" , SC_OPCODE_RANDOM_NV }, 471 { "ORG.LIBREOFFICE.RANDBETWEEN.NV" , SC_OPCODE_RANDBETWEEN_NV }, 472 { nullptr, -1 } 473}; 474 475/** These function names are used in the OOXML XLSX import/export. */ 476const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML[] = 477{ 478 { "IF" , SC_OPCODE_IF }, 479 { "IFERROR" , SC_OPCODE_IF_ERROR }, 480 { "_xlfn.IFNA" , SC_OPCODE_IF_NA }, 481 { "CHOOSE" , SC_OPCODE_CHOOSE }, 482 { "(" , SC_OPCODE_OPEN }, 483 { ")" , SC_OPCODE_CLOSE }, 484 { "[" , SC_OPCODE_TABLE_REF_OPEN }, 485 { "]" , SC_OPCODE_TABLE_REF_CLOSE }, 486 { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL }, 487 { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS }, 488 { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA }, 489 { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS }, 490 { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW }, 491 { "{" , SC_OPCODE_ARRAY_OPEN }, 492 { "}" , SC_OPCODE_ARRAY_CLOSE }, 493 { ";" , SC_OPCODE_ARRAY_ROW_SEP }, 494 { "," , SC_OPCODE_ARRAY_COL_SEP }, 495 { "," , SC_OPCODE_SEP }, 496 { "%" , SC_OPCODE_PERCENT_SIGN }, 497 { "+" , SC_OPCODE_ADD }, 498 { "-" , SC_OPCODE_SUB }, 499 { "*" , SC_OPCODE_MUL }, 500 { "/" , SC_OPCODE_DIV }, 501 { "&" , SC_OPCODE_AMPERSAND }, 502 { "^" , SC_OPCODE_POW }, 503 { "=" , SC_OPCODE_EQUAL }, 504 { "<>" , SC_OPCODE_NOT_EQUAL }, 505 { "<" , SC_OPCODE_LESS }, 506 { ">" , SC_OPCODE_GREATER }, 507 { "<=" , SC_OPCODE_LESS_EQUAL }, 508 { ">=" , SC_OPCODE_GREATER_EQUAL }, 509 { "AND" , SC_OPCODE_AND }, 510 { "OR" , SC_OPCODE_OR }, 511 { "_xlfn.XOR" , SC_OPCODE_XOR }, 512 { " " , SC_OPCODE_INTERSECT }, 513 { "~" , SC_OPCODE_UNION }, 514 { ":" , SC_OPCODE_RANGE }, 515 { "NOT" , SC_OPCODE_NOT }, 516 { "NEG" , SC_OPCODE_NEG }, 517 { "-" , SC_OPCODE_NEG_SUB }, 518 { "PI" , SC_OPCODE_PI }, 519 { "RAND" , SC_OPCODE_RANDOM }, 520 { "TRUE" , SC_OPCODE_TRUE }, 521 { "FALSE" , SC_OPCODE_FALSE }, 522 { "TODAY" , SC_OPCODE_GET_ACT_DATE }, 523 { "NOW" , SC_OPCODE_GET_ACT_TIME }, 524 { "NA" , SC_OPCODE_NO_VALUE }, 525 { "_xlfn.ORG.OPENOFFICE.CURRENT" , SC_OPCODE_CURRENT }, 526 { "DEGREES" , SC_OPCODE_DEG }, 527 { "RADIANS" , SC_OPCODE_RAD }, 528 { "SIN" , SC_OPCODE_SIN }, 529 { "COS" , SC_OPCODE_COS }, 530 { "TAN" , SC_OPCODE_TAN }, 531 { "_xlfn.COT" , SC_OPCODE_COT }, 532 { "ASIN" , SC_OPCODE_ARC_SIN }, 533 { "ACOS" , SC_OPCODE_ARC_COS }, 534 { "ATAN" , SC_OPCODE_ARC_TAN }, 535 { "_xlfn.ACOT" , SC_OPCODE_ARC_COT }, 536 { "SINH" , SC_OPCODE_SIN_HYP }, 537 { "COSH" , SC_OPCODE_COS_HYP }, 538 { "TANH" , SC_OPCODE_TAN_HYP }, 539 { "_xlfn.COTH" , SC_OPCODE_COT_HYP }, 540 { "ASINH" , SC_OPCODE_ARC_SIN_HYP }, 541 { "ACOSH" , SC_OPCODE_ARC_COS_HYP }, 542 { "ATANH" , SC_OPCODE_ARC_TAN_HYP }, 543 { "_xlfn.ACOTH" , SC_OPCODE_ARC_COT_HYP }, 544 { "_xlfn.CSC" , SC_OPCODE_COSECANT }, 545 { "_xlfn.SEC" , SC_OPCODE_SECANT }, 546 { "_xlfn.CSCH" , SC_OPCODE_COSECANT_HYP }, 547 { "_xlfn.SECH" , SC_OPCODE_SECANT_HYP }, 548 { "EXP" , SC_OPCODE_EXP }, 549 { "LN" , SC_OPCODE_LN }, 550 { "SQRT" , SC_OPCODE_SQRT }, 551 { "FACT" , SC_OPCODE_FACT }, 552 { "YEAR" , SC_OPCODE_GET_YEAR }, 553 { "MONTH" , SC_OPCODE_GET_MONTH }, 554 { "DAY" , SC_OPCODE_GET_DAY }, 555 { "HOUR" , SC_OPCODE_GET_HOUR }, 556 { "MINUTE" , SC_OPCODE_GET_MIN }, 557 { "SECOND" , SC_OPCODE_GET_SEC }, 558 { "SIGN" , SC_OPCODE_PLUS_MINUS }, 559 { "ABS" , SC_OPCODE_ABS }, 560 { "INT" , SC_OPCODE_INT }, 561 { "_xlfn.PHI" , SC_OPCODE_PHI }, 562 { "_xlfn.GAUSS" , SC_OPCODE_GAUSS }, 563 { "ISBLANK" , SC_OPCODE_IS_EMPTY }, 564 { "ISTEXT" , SC_OPCODE_IS_STRING }, 565 { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING }, 566 { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL }, 567 { "TYPE" , SC_OPCODE_TYPE }, 568 { "CELL" , SC_OPCODE_CELL }, 569 { "ISREF" , SC_OPCODE_IS_REF }, 570 { "ISNUMBER" , SC_OPCODE_IS_VALUE }, 571 { "_xlfn.ISFORMULA" , SC_OPCODE_IS_FORMULA }, 572 { "ISNA" , SC_OPCODE_IS_NV }, 573 { "ISERR" , SC_OPCODE_IS_ERR }, 574 { "ISERROR" , SC_OPCODE_IS_ERROR }, 575 { "ISEVEN" , SC_OPCODE_IS_EVEN }, 576 { "ISODD" , SC_OPCODE_IS_ODD }, 577 { "N" , SC_OPCODE_N }, 578 { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE }, 579 { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE }, 580 { "CODE" , SC_OPCODE_CODE }, 581 { "TRIM" , SC_OPCODE_TRIM }, 582 { "UPPER" , SC_OPCODE_UPPER }, 583 { "PROPER" , SC_OPCODE_PROPER }, 584 { "LOWER" , SC_OPCODE_LOWER }, 585 { "LEN" , SC_OPCODE_LEN }, 586 { "T" , SC_OPCODE_T }, 587 { "VALUE" , SC_OPCODE_VALUE }, 588 { "CLEAN" , SC_OPCODE_CLEAN }, 589 { "CHAR" , SC_OPCODE_CHAR }, 590 { "JIS" , SC_OPCODE_JIS }, 591 { "ASC" , SC_OPCODE_ASC }, 592 { "_xlfn.UNICODE" , SC_OPCODE_UNICODE }, 593 { "_xlfn.UNICHAR" , SC_OPCODE_UNICHAR }, 594 { "LOG10" , SC_OPCODE_LOG10 }, 595 { "EVEN" , SC_OPCODE_EVEN }, 596 { "ODD" , SC_OPCODE_ODD }, 597 { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST }, 598 { "_xlfn.NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS }, 599 { "FISHER" , SC_OPCODE_FISHER }, 600 { "FISHERINV" , SC_OPCODE_FISHER_INV }, 601 { "NORMSINV" , SC_OPCODE_S_NORM_INV }, 602 { "_xlfn.NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS }, 603 { "GAMMALN" , SC_OPCODE_GAMMA_LN }, 604 { "_xlfn.GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS }, 605 { "_xlfn.ORG.OPENOFFICE.ERRORTYPE" , SC_OPCODE_ERROR_TYPE }, 606 { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF }, 607 { "_xlfn.FORMULATEXT" , SC_OPCODE_FORMULA }, 608 { "ATAN2" , SC_OPCODE_ARC_TAN_2 }, 609 { "_xlfn.CEILING.MATH" , SC_OPCODE_CEIL_MATH }, 610 { "_xlfn.CEILING.MATH" , SC_OPCODE_CEIL }, 611 { "CEILING" , SC_OPCODE_CEIL_MS }, 612 { "_xlfn.CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE }, 613 { "ISO.CEILING" , SC_OPCODE_CEIL_ISO }, 614 { "FLOOR" , SC_OPCODE_FLOOR_MS }, 615 { "_xlfn.FLOOR.MATH" , SC_OPCODE_FLOOR_MATH }, 616 { "_xlfn.FLOOR.MATH" , SC_OPCODE_FLOOR }, 617 { "_xlfn.FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE }, 618 { "ROUND" , SC_OPCODE_ROUND }, 619 { "ROUNDUP" , SC_OPCODE_ROUND_UP }, 620 { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN }, 621 { "TRUNC" , SC_OPCODE_TRUNC }, 622 { "LOG" , SC_OPCODE_LOG }, 623 { "POWER" , SC_OPCODE_POWER }, 624 { "GCD" , SC_OPCODE_GCD }, 625 { "LCM" , SC_OPCODE_LCM }, 626 { "MOD" , SC_OPCODE_MOD }, 627 { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT }, 628 { "SUMSQ" , SC_OPCODE_SUM_SQ }, 629 { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 }, 630 { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 }, 631 { "SUMXMY2" , SC_OPCODE_SUM_XMY2 }, 632 { "DATE" , SC_OPCODE_GET_DATE }, 633 { "TIME" , SC_OPCODE_GET_TIME }, 634 { "_xlfn.DAYS" , SC_OPCODE_GET_DIFF_DATE }, 635 { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 }, 636 { "DATEDIF" , SC_OPCODE_GET_DATEDIF }, 637 { "MIN" , SC_OPCODE_MIN }, 638 { "MINA" , SC_OPCODE_MIN_A }, 639 { "MAX" , SC_OPCODE_MAX }, 640 { "MAXA" , SC_OPCODE_MAX_A }, 641 { "SUM" , SC_OPCODE_SUM }, 642 { "PRODUCT" , SC_OPCODE_PRODUCT }, 643 { "AVERAGE" , SC_OPCODE_AVERAGE }, 644 { "AVERAGEA" , SC_OPCODE_AVERAGE_A }, 645 { "COUNT" , SC_OPCODE_COUNT }, 646 { "COUNTA" , SC_OPCODE_COUNT_2 }, 647 { "NPV" , SC_OPCODE_NPV }, 648 { "IRR" , SC_OPCODE_IRR }, 649 { "MIRR" , SC_OPCODE_MIRR }, 650 { "ISPMT" , SC_OPCODE_ISPMT }, 651 { "VAR" , SC_OPCODE_VAR }, 652 { "VARA" , SC_OPCODE_VAR_A }, 653 { "VARP" , SC_OPCODE_VAR_P }, 654 { "VARPA" , SC_OPCODE_VAR_P_A }, 655 { "_xlfn.VAR.P" , SC_OPCODE_VAR_P_MS }, 656 { "_xlfn.VAR.S" , SC_OPCODE_VAR_S }, 657 { "STDEV" , SC_OPCODE_ST_DEV }, 658 { "STDEVA" , SC_OPCODE_ST_DEV_A }, 659 { "STDEVP" , SC_OPCODE_ST_DEV_P }, 660 { "STDEVPA" , SC_OPCODE_ST_DEV_P_A }, 661 { "_xlfn.STDEV.P" , SC_OPCODE_ST_DEV_P_MS }, 662 { "_xlfn.STDEV.S" , SC_OPCODE_ST_DEV_S }, 663 { "B" , SC_OPCODE_B }, 664 { "NORMDIST" , SC_OPCODE_NORM_DIST }, 665 { "_xlfn.NORM.DIST" , SC_OPCODE_NORM_DIST_MS }, 666 { "EXPONDIST" , SC_OPCODE_EXP_DIST }, 667 { "_xlfn.EXPON.DIST" , SC_OPCODE_EXP_DIST_MS }, 668 { "BINOMDIST" , SC_OPCODE_BINOM_DIST }, 669 { "_xlfn.BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS }, 670 { "POISSON" , SC_OPCODE_POISSON_DIST }, 671 { "_xlfn.POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS }, 672 { "COMBIN" , SC_OPCODE_COMBIN }, 673 { "_xlfn.COMBINA" , SC_OPCODE_COMBIN_A }, 674 { "PERMUT" , SC_OPCODE_PERMUT }, 675 { "_xlfn.PERMUTATIONA" , SC_OPCODE_PERMUTATION_A }, 676 { "PV" , SC_OPCODE_PV }, 677 { "SYD" , SC_OPCODE_SYD }, 678 { "DDB" , SC_OPCODE_DDB }, 679 { "DB" , SC_OPCODE_DB }, 680 { "VDB" , SC_OPCODE_VBD }, 681 { "_xlfn.PDURATION" , SC_OPCODE_PDURATION }, 682 { "SLN" , SC_OPCODE_SLN }, 683 { "PMT" , SC_OPCODE_PMT }, 684 { "COLUMNS" , SC_OPCODE_COLUMNS }, 685 { "ROWS" , SC_OPCODE_ROWS }, 686 { "_xlfn.SHEETS" , SC_OPCODE_SHEETS }, 687 { "COLUMN" , SC_OPCODE_COLUMN }, 688 { "ROW" , SC_OPCODE_ROW }, 689 { "_xlfn.SHEET" , SC_OPCODE_SHEET }, 690 { "_xlfn.RRI" , SC_OPCODE_RRI }, 691 { "FV" , SC_OPCODE_FV }, 692 { "NPER" , SC_OPCODE_NPER }, 693 { "RATE" , SC_OPCODE_RATE }, 694 { "IPMT" , SC_OPCODE_IPMT }, 695 { "PPMT" , SC_OPCODE_PPMT }, 696 { "CUMIPMT" , SC_OPCODE_CUM_IPMT }, 697 { "CUMPRINC" , SC_OPCODE_CUM_PRINC }, 698 { "EFFECT" , SC_OPCODE_EFFECT }, 699 { "NOMINAL" , SC_OPCODE_NOMINAL }, 700 { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL }, 701 { "DSUM" , SC_OPCODE_DB_SUM }, 702 { "DCOUNT" , SC_OPCODE_DB_COUNT }, 703 { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 }, 704 { "DAVERAGE" , SC_OPCODE_DB_AVERAGE }, 705 { "DGET" , SC_OPCODE_DB_GET }, 706 { "DMAX" , SC_OPCODE_DB_MAX }, 707 { "DMIN" , SC_OPCODE_DB_MIN }, 708 { "DPRODUCT" , SC_OPCODE_DB_PRODUCT }, 709 { "DSTDEV" , SC_OPCODE_DB_STD_DEV }, 710 { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P }, 711 { "DVAR" , SC_OPCODE_DB_VAR }, 712 { "DVARP" , SC_OPCODE_DB_VAR_P }, 713 { "INDIRECT" , SC_OPCODE_INDIRECT }, 714 { "ADDRESS" , SC_OPCODE_ADDRESS }, 715 { "MATCH" , SC_OPCODE_MATCH }, 716 { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS }, 717 { "COUNTIF" , SC_OPCODE_COUNT_IF }, 718 { "SUMIF" , SC_OPCODE_SUM_IF }, 719 { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF }, 720 { "SUMIFS" , SC_OPCODE_SUM_IFS }, 721 { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS }, 722 { "COUNTIFS" , SC_OPCODE_COUNT_IFS }, 723 { "LOOKUP" , SC_OPCODE_LOOKUP }, 724 { "VLOOKUP" , SC_OPCODE_V_LOOKUP }, 725 { "HLOOKUP" , SC_OPCODE_H_LOOKUP }, 726 { "_xlfn.ORG.OPENOFFICE.MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union) 727 { "OFFSET" , SC_OPCODE_OFFSET }, 728 { "INDEX" , SC_OPCODE_INDEX }, 729 { "AREAS" , SC_OPCODE_AREAS }, 730 { "DOLLAR" , SC_OPCODE_CURRENCY }, 731 { "REPLACE" , SC_OPCODE_REPLACE }, 732 { "FIXED" , SC_OPCODE_FIXED }, 733 { "FIND" , SC_OPCODE_FIND }, 734 { "EXACT" , SC_OPCODE_EXACT }, 735 { "LEFT" , SC_OPCODE_LEFT }, 736 { "RIGHT" , SC_OPCODE_RIGHT }, 737 { "SEARCH" , SC_OPCODE_SEARCH }, 738 { "MID" , SC_OPCODE_MID }, 739 { "LENB" , SC_OPCODE_LENB }, 740 { "RIGHTB" , SC_OPCODE_RIGHTB }, 741 { "LEFTB" , SC_OPCODE_LEFTB }, 742 { "REPLACEB" , SC_OPCODE_REPLACEB }, 743 { "FINDB" , SC_OPCODE_FINDB }, 744 { "SEARCHB" , SC_OPCODE_SEARCHB }, 745 { "MIDB" , SC_OPCODE_MIDB }, 746 { "TEXT" , SC_OPCODE_TEXT }, 747 { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE }, 748 { "REPT" , SC_OPCODE_REPT }, 749 { "CONCATENATE" , SC_OPCODE_CONCAT }, 750 { "_xlfn.CONCAT" , SC_OPCODE_CONCAT_MS }, 751 { "_xlfn.TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS }, 752 { "_xlfn.IFS" , SC_OPCODE_IFS_MS }, 753 { "_xlfn.SWITCH" , SC_OPCODE_SWITCH_MS }, 754 { "_xlfn.MINIFS" , SC_OPCODE_MINIFS_MS }, 755 { "_xlfn.MAXIFS" , SC_OPCODE_MAXIFS_MS }, 756 { "MVALUE" , SC_OPCODE_MAT_VALUE }, 757 { "MDETERM" , SC_OPCODE_MAT_DET }, 758 { "MINVERSE" , SC_OPCODE_MAT_INV }, 759 { "MMULT" , SC_OPCODE_MAT_MULT }, 760 { "TRANSPOSE" , SC_OPCODE_MAT_TRANS }, 761 { "_xlfn.MUNIT" , SC_OPCODE_MATRIX_UNIT }, 762 { "_xlfn.ORG.OPENOFFICE.GOALSEEK" , SC_OPCODE_BACK_SOLVER }, 763 { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST }, 764 { "_xlfn.HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS }, 765 { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST }, 766 { "_xlfn.LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS }, 767 { "TDIST" , SC_OPCODE_T_DIST }, 768 { "_xlfn.T.DIST.2T" , SC_OPCODE_T_DIST_2T }, 769 { "_xlfn.T.DIST" , SC_OPCODE_T_DIST_MS }, 770 { "_xlfn.T.DIST.RT" , SC_OPCODE_T_DIST_RT }, 771 { "FDIST" , SC_OPCODE_F_DIST }, 772 { "_xlfn.F.DIST" , SC_OPCODE_F_DIST_LT }, 773 { "_xlfn.F.DIST.RT" , SC_OPCODE_F_DIST_RT }, 774 { "CHIDIST" , SC_OPCODE_CHI_DIST }, 775 { "_xlfn.CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS }, 776 { "WEIBULL" , SC_OPCODE_WEIBULL }, 777 { "_xlfn.WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS }, 778 { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT }, 779 { "_xlfn.NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS }, 780 { "CRITBINOM" , SC_OPCODE_CRIT_BINOM }, 781 { "_xlfn.BINOM.INV" , SC_OPCODE_BINOM_INV }, 782 { "KURT" , SC_OPCODE_KURT }, 783 { "HARMEAN" , SC_OPCODE_HAR_MEAN }, 784 { "GEOMEAN" , SC_OPCODE_GEO_MEAN }, 785 { "STANDARDIZE" , SC_OPCODE_STANDARD }, 786 { "AVEDEV" , SC_OPCODE_AVE_DEV }, 787 { "SKEW" , SC_OPCODE_SKEW }, 788 { "_xlfn.SKEW.P" , SC_OPCODE_SKEWP }, 789 { "DEVSQ" , SC_OPCODE_DEV_SQ }, 790 { "MEDIAN" , SC_OPCODE_MEDIAN }, 791 { "MODE" , SC_OPCODE_MODAL_VALUE }, 792 { "_xlfn.MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS }, 793 { "_xlfn.MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI }, 794 { "ZTEST" , SC_OPCODE_Z_TEST }, 795 { "_xlfn.Z.TEST" , SC_OPCODE_Z_TEST_MS }, 796 { "_xlfn.AGGREGATE" , SC_OPCODE_AGGREGATE }, 797 { "TTEST" , SC_OPCODE_T_TEST }, 798 { "_xlfn.T.TEST" , SC_OPCODE_T_TEST_MS }, 799 { "RANK" , SC_OPCODE_RANK }, 800 { "PERCENTILE" , SC_OPCODE_PERCENTILE }, 801 { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK }, 802 { "_xlfn.PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC }, 803 { "_xlfn.PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC }, 804 { "_xlfn.QUARTILE.INC" , SC_OPCODE_QUARTILE_INC }, 805 { "_xlfn.RANK.EQ" , SC_OPCODE_RANK_EQ }, 806 { "_xlfn.PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC }, 807 { "_xlfn.PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC }, 808 { "_xlfn.QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC }, 809 { "_xlfn.RANK.AVG" , SC_OPCODE_RANK_AVG }, 810 { "LARGE" , SC_OPCODE_LARGE }, 811 { "SMALL" , SC_OPCODE_SMALL }, 812 { "FREQUENCY" , SC_OPCODE_FREQUENCY }, 813 { "QUARTILE" , SC_OPCODE_QUARTILE }, 814 { "NORMINV" , SC_OPCODE_NORM_INV }, 815 { "_xlfn.NORM.INV" , SC_OPCODE_NORM_INV_MS }, 816 { "CONFIDENCE" , SC_OPCODE_CONFIDENCE }, 817 { "_xlfn.CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N }, 818 { "_xlfn.CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T }, 819 { "FTEST" , SC_OPCODE_F_TEST }, 820 { "_xlfn.F.TEST" , SC_OPCODE_F_TEST_MS }, 821 { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN }, 822 { "PROB" , SC_OPCODE_PROB }, 823 { "CORREL" , SC_OPCODE_CORREL }, 824 { "COVAR" , SC_OPCODE_COVAR }, 825 { "_xlfn.COVARIANCE.P" , SC_OPCODE_COVARIANCE_P }, 826 { "_xlfn.COVARIANCE.S" , SC_OPCODE_COVARIANCE_S }, 827 { "PEARSON" , SC_OPCODE_PEARSON }, 828 { "RSQ" , SC_OPCODE_RSQ }, 829 { "STEYX" , SC_OPCODE_STEYX }, 830 { "SLOPE" , SC_OPCODE_SLOPE }, 831 { "INTERCEPT" , SC_OPCODE_INTERCEPT }, 832 { "TREND" , SC_OPCODE_TREND }, 833 { "GROWTH" , SC_OPCODE_GROWTH }, 834 { "LINEST" , SC_OPCODE_LINEST }, 835 { "LOGEST" , SC_OPCODE_LOGEST }, 836 { "FORECAST" , SC_OPCODE_FORECAST }, 837 { "_xlfn.FORECAST.ETS" , SC_OPCODE_FORECAST_ETS_ADD }, 838 { "_xlfn.FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA }, 839 { "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL }, 840 { "_xlfn.FORECAST.ETS.CONFINT" , SC_OPCODE_FORECAST_ETS_PIA }, 841 { "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM }, 842 { "_xlfn.FORECAST.ETS.STAT" , SC_OPCODE_FORECAST_ETS_STA }, 843 { "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM }, 844 { "_xlfn.FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN }, 845 { "CHIINV" , SC_OPCODE_CHI_INV }, 846 { "_xlfn.CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS }, 847 { "GAMMADIST" , SC_OPCODE_GAMMA_DIST }, 848 { "_xlfn.GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS }, 849 { "GAMMAINV" , SC_OPCODE_GAMMA_INV }, 850 { "_xlfn.GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS }, 851 { "TINV" , SC_OPCODE_T_INV }, 852 { "_xlfn.T.INV.2T" , SC_OPCODE_T_INV_2T }, 853 { "_xlfn.T.INV" , SC_OPCODE_T_INV_MS }, 854 { "FINV" , SC_OPCODE_F_INV }, 855 { "_xlfn.F.INV" , SC_OPCODE_F_INV_LT }, 856 { "_xlfn.F.INV.RT" , SC_OPCODE_F_INV_RT }, 857 { "CHITEST" , SC_OPCODE_CHI_TEST }, 858 { "_xlfn.CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS }, 859 { "LOGINV" , SC_OPCODE_LOG_INV }, 860 { "_xlfn.LOGNORM.INV" , SC_OPCODE_LOG_INV_MS }, 861 { "TABLE" , SC_OPCODE_TABLE_OP }, 862 { "BETADIST" , SC_OPCODE_BETA_DIST }, 863 { "BETAINV" , SC_OPCODE_BETA_INV }, 864 { "_xlfn.BETA.DIST" , SC_OPCODE_BETA_DIST_MS }, 865 { "_xlfn.BETA.INV" , SC_OPCODE_BETA_INV_MS }, 866 { "WEEKNUM" , SC_OPCODE_WEEK }, 867 { "_xlfn.ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM }, 868 { "_xlfn.ORG.LIBREOFFICE.WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO }, 869 { "_xlfn.ORG.OPENOFFICE.EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY }, 870 { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK }, 871 { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS }, 872 { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS }, 873 { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS }, 874 { "#NAME!" , SC_OPCODE_NO_NAME }, 875 { "_xlfn.ORG.OPENOFFICE.STYLE" , SC_OPCODE_STYLE }, 876 { "DDE" , SC_OPCODE_DDE }, 877 { "_xlfn.BASE" , SC_OPCODE_BASE }, 878 { "_xlfn.DECIMAL" , SC_OPCODE_DECIMAL }, 879 { "_xlfn.ORG.OPENOFFICE.CONVERT" , SC_OPCODE_CONVERT_OOO }, 880 { "ROMAN" , SC_OPCODE_ROMAN }, 881 { "_xlfn.ARABIC" , SC_OPCODE_ARABIC }, 882 { "HYPERLINK" , SC_OPCODE_HYPERLINK }, 883 { "INFO" , SC_OPCODE_INFO }, 884 { "_xlfn.BAHTTEXT" , SC_OPCODE_BAHTTEXT }, 885 { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA }, 886 { "EUROCONVERT" , SC_OPCODE_EUROCONVERT }, 887 { "_xlfn.NUMBERVALUE" , SC_OPCODE_NUMBERVALUE }, 888 { "_xlfn.GAMMA" , SC_OPCODE_GAMMA }, 889 { "CHISQDIST" , SC_OPCODE_CHISQ_DIST }, 890 { "_xlfn.CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS }, 891 { "CHISQINV" , SC_OPCODE_CHISQ_INV }, 892 { "_xlfn.CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS }, 893 { "_xlfn.BITAND" , SC_OPCODE_BITAND }, 894 { "_xlfn.BITOR" , SC_OPCODE_BITOR }, 895 { "_xlfn.BITXOR" , SC_OPCODE_BITXOR }, 896 { "_xlfn.BITRSHIFT" , SC_OPCODE_BITRSHIFT }, 897 { "_xlfn.BITLSHIFT" , SC_OPCODE_BITLSHIFT }, 898 { "#NULL!" , SC_OPCODE_ERROR_NULL }, 899 { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO }, 900 { "#VALUE!" , SC_OPCODE_ERROR_VALUE }, 901 { "#REF!" , SC_OPCODE_ERROR_REF }, 902 { "#NAME?" , SC_OPCODE_ERROR_NAME }, 903 { "#NUM!" , SC_OPCODE_ERROR_NUM }, 904 { "#N/A" , SC_OPCODE_ERROR_NA }, 905 /* END defined ERROR.TYPE() values. */ 906 { "_xlfn.FILTERXML" , SC_OPCODE_FILTERXML }, 907 { "_xlfn.WEBSERVICE" , SC_OPCODE_WEBSERVICE }, 908 { "_xlfn.ORG.LIBREOFFICE.COLOR" , SC_OPCODE_COLOR }, 909 { "_xlfn.ERF.PRECISE" , SC_OPCODE_ERF_MS }, 910 { "_xlfn.ERFC.PRECISE" , SC_OPCODE_ERFC_MS }, 911 { "_xlfn.ENCODEURL" , SC_OPCODE_ENCODEURL }, 912 { "_xlfn.ORG.LIBREOFFICE.RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT }, 913 { "_xlfn.ORG.LIBREOFFICE.ROUNDSIG" , SC_OPCODE_ROUNDSIG }, 914 { "_xlfn.ORG.LIBREOFFICE.REGEX" , SC_OPCODE_REGEX }, 915 { "_xlfn.ORG.LIBREOFFICE.FOURIER", SC_OPCODE_FOURIER }, 916 { "_xlfn.ORG.LIBREOFFICE.RAND.NV" , SC_OPCODE_RANDOM_NV }, 917 { "_xlfn.ORG.LIBREOFFICE.RANDBETWEEN.NV" , SC_OPCODE_RANDBETWEEN_NV }, 918 { nullptr, -1 } 919}; 920 921/** These English names are used to store/load ODF v1.0/v1.1. */ 922// DO NOT CHANGE NAMES! Only add functions. 923// If there is a reason for another name for some function then add an 924// *additional* name to be recognized to sc/source/core/tool/compiler.cxx 925// ScCompiler::IsOpCode() in the else if (mxSymbols->isPODF()) block. 926const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF[] = 927{ 928 { "IF" , SC_OPCODE_IF }, 929 { "IFERROR" , SC_OPCODE_IF_ERROR }, 930 { "IFNA" , SC_OPCODE_IF_NA }, 931 { "CHOOSE" , SC_OPCODE_CHOOSE }, 932 { "(" , SC_OPCODE_OPEN }, 933 { ")" , SC_OPCODE_CLOSE }, 934 { "[" , SC_OPCODE_TABLE_REF_OPEN }, 935 { "]" , SC_OPCODE_TABLE_REF_CLOSE }, 936 { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL }, 937 { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS }, 938 { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA }, 939 { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS }, 940 { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW }, 941 { "{" , SC_OPCODE_ARRAY_OPEN }, 942 { "}" , SC_OPCODE_ARRAY_CLOSE }, 943 { "|" , SC_OPCODE_ARRAY_ROW_SEP }, 944 { ";" , SC_OPCODE_ARRAY_COL_SEP }, 945 { ";" , SC_OPCODE_SEP }, 946 { "%" , SC_OPCODE_PERCENT_SIGN }, 947 { "+" , SC_OPCODE_ADD }, 948 { "-" , SC_OPCODE_SUB }, 949 { "*" , SC_OPCODE_MUL }, 950 { "/" , SC_OPCODE_DIV }, 951 { "&" , SC_OPCODE_AMPERSAND }, 952 { "^" , SC_OPCODE_POW }, 953 { "=" , SC_OPCODE_EQUAL }, 954 { "<>" , SC_OPCODE_NOT_EQUAL }, 955 { "<" , SC_OPCODE_LESS }, 956 { ">" , SC_OPCODE_GREATER }, 957 { "<=" , SC_OPCODE_LESS_EQUAL }, 958 { ">=" , SC_OPCODE_GREATER_EQUAL }, 959 { "AND" , SC_OPCODE_AND }, 960 { "OR" , SC_OPCODE_OR }, 961 { "XOR" , SC_OPCODE_XOR }, 962 { "!" , SC_OPCODE_INTERSECT }, 963 { "~" , SC_OPCODE_UNION }, 964 { ":" , SC_OPCODE_RANGE }, 965 { "NOT" , SC_OPCODE_NOT }, 966 { "NEG" , SC_OPCODE_NEG }, 967 { "-" , SC_OPCODE_NEG_SUB }, 968 { "PI" , SC_OPCODE_PI }, 969 { "RAND" , SC_OPCODE_RANDOM }, 970 { "TRUE" , SC_OPCODE_TRUE }, 971 { "FALSE" , SC_OPCODE_FALSE }, 972 { "TODAY" , SC_OPCODE_GET_ACT_DATE }, 973 { "NOW" , SC_OPCODE_GET_ACT_TIME }, 974 { "NA" , SC_OPCODE_NO_VALUE }, 975 { "CURRENT" , SC_OPCODE_CURRENT }, 976 { "DEGREES" , SC_OPCODE_DEG }, 977 { "RADIANS" , SC_OPCODE_RAD }, 978 { "SIN" , SC_OPCODE_SIN }, 979 { "COS" , SC_OPCODE_COS }, 980 { "TAN" , SC_OPCODE_TAN }, 981 { "COT" , SC_OPCODE_COT }, 982 { "ASIN" , SC_OPCODE_ARC_SIN }, 983 { "ACOS" , SC_OPCODE_ARC_COS }, 984 { "ATAN" , SC_OPCODE_ARC_TAN }, 985 { "ACOT" , SC_OPCODE_ARC_COT }, 986 { "SINH" , SC_OPCODE_SIN_HYP }, 987 { "COSH" , SC_OPCODE_COS_HYP }, 988 { "TANH" , SC_OPCODE_TAN_HYP }, 989 { "COTH" , SC_OPCODE_COT_HYP }, 990 { "ASINH" , SC_OPCODE_ARC_SIN_HYP }, 991 { "ACOSH" , SC_OPCODE_ARC_COS_HYP }, 992 { "ATANH" , SC_OPCODE_ARC_TAN_HYP }, 993 { "ACOTH" , SC_OPCODE_ARC_COT_HYP }, 994 { "CSC" , SC_OPCODE_COSECANT }, 995 { "SEC" , SC_OPCODE_SECANT }, 996 { "CSCH" , SC_OPCODE_COSECANT_HYP }, 997 { "SECH" , SC_OPCODE_SECANT_HYP }, 998 { "EXP" , SC_OPCODE_EXP }, 999 { "LN" , SC_OPCODE_LN }, 1000 { "SQRT" , SC_OPCODE_SQRT }, 1001 { "FACT" , SC_OPCODE_FACT }, 1002 { "YEAR" , SC_OPCODE_GET_YEAR }, 1003 { "MONTH" , SC_OPCODE_GET_MONTH }, 1004 { "DAY" , SC_OPCODE_GET_DAY }, 1005 { "HOUR" , SC_OPCODE_GET_HOUR }, 1006 { "MINUTE" , SC_OPCODE_GET_MIN }, 1007 { "SECOND" , SC_OPCODE_GET_SEC }, 1008 { "SIGN" , SC_OPCODE_PLUS_MINUS }, 1009 { "ABS" , SC_OPCODE_ABS }, 1010 { "INT" , SC_OPCODE_INT }, 1011 { "PHI" , SC_OPCODE_PHI }, 1012 { "GAUSS" , SC_OPCODE_GAUSS }, 1013 { "ISBLANK" , SC_OPCODE_IS_EMPTY }, 1014 { "ISTEXT" , SC_OPCODE_IS_STRING }, 1015 { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING }, 1016 { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL }, 1017 { "TYPE" , SC_OPCODE_TYPE }, 1018 { "CELL" , SC_OPCODE_CELL }, 1019 { "ISREF" , SC_OPCODE_IS_REF }, 1020 { "ISNUMBER" , SC_OPCODE_IS_VALUE }, 1021 { "ISFORMULA" , SC_OPCODE_IS_FORMULA }, 1022 { "ISNA" , SC_OPCODE_IS_NV }, 1023 { "ISERR" , SC_OPCODE_IS_ERR }, 1024 { "ISERROR" , SC_OPCODE_IS_ERROR }, 1025 { "ISEVEN" , SC_OPCODE_IS_EVEN }, 1026 { "ISODD" , SC_OPCODE_IS_ODD }, 1027 { "N" , SC_OPCODE_N }, 1028 { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE }, 1029 { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE }, 1030 { "CODE" , SC_OPCODE_CODE }, 1031 { "TRIM" , SC_OPCODE_TRIM }, 1032 { "UPPER" , SC_OPCODE_UPPER }, 1033 { "PROPER" , SC_OPCODE_PROPER }, 1034 { "LOWER" , SC_OPCODE_LOWER }, 1035 { "LEN" , SC_OPCODE_LEN }, 1036 { "T" , SC_OPCODE_T }, 1037 { "VALUE" , SC_OPCODE_VALUE }, 1038 { "CLEAN" , SC_OPCODE_CLEAN }, 1039 { "CHAR" , SC_OPCODE_CHAR }, 1040 { "JIS" , SC_OPCODE_JIS }, 1041 { "ASC" , SC_OPCODE_ASC }, 1042 { "UNICODE" , SC_OPCODE_UNICODE }, 1043 { "UNICHAR" , SC_OPCODE_UNICHAR }, 1044 { "LOG10" , SC_OPCODE_LOG10 }, 1045 { "EVEN" , SC_OPCODE_EVEN }, 1046 { "ODD" , SC_OPCODE_ODD }, 1047 { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST }, 1048 { "NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS }, 1049 { "FISHER" , SC_OPCODE_FISHER }, 1050 { "FISHERINV" , SC_OPCODE_FISHER_INV }, 1051 { "NORMSINV" , SC_OPCODE_S_NORM_INV }, 1052 { "NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS }, 1053 { "GAMMALN" , SC_OPCODE_GAMMA_LN }, 1054 { "GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS }, 1055 { "ERRORTYPE" , SC_OPCODE_ERROR_TYPE }, 1056 { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF }, 1057 { "FORMULA" , SC_OPCODE_FORMULA }, 1058 { "ATAN2" , SC_OPCODE_ARC_TAN_2 }, 1059 { "CEILING.MATH" , SC_OPCODE_CEIL_MATH }, 1060 { "CEILING" , SC_OPCODE_CEIL }, 1061 { "CEILING.XCL" , SC_OPCODE_CEIL_MS }, 1062 { "CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE }, 1063 { "ISO.CEILING" , SC_OPCODE_CEIL_ISO }, 1064 { "FLOOR" , SC_OPCODE_FLOOR }, 1065 { "FLOOR.XCL" , SC_OPCODE_FLOOR_MS }, 1066 { "FLOOR.MATH" , SC_OPCODE_FLOOR_MATH }, 1067 { "FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE }, 1068 { "ROUND" , SC_OPCODE_ROUND }, 1069 { "ROUNDUP" , SC_OPCODE_ROUND_UP }, 1070 { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN }, 1071 { "TRUNC" , SC_OPCODE_TRUNC }, 1072 { "LOG" , SC_OPCODE_LOG }, 1073 { "POWER" , SC_OPCODE_POWER }, 1074 { "GCD" , SC_OPCODE_GCD }, 1075 { "LCM" , SC_OPCODE_LCM }, 1076 { "MOD" , SC_OPCODE_MOD }, 1077 { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT }, 1078 { "SUMSQ" , SC_OPCODE_SUM_SQ }, 1079 { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 }, 1080 { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 }, 1081 { "SUMXMY2" , SC_OPCODE_SUM_XMY2 }, 1082 { "DATE" , SC_OPCODE_GET_DATE }, 1083 { "TIME" , SC_OPCODE_GET_TIME }, 1084 { "DAYS" , SC_OPCODE_GET_DIFF_DATE }, 1085 { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 }, 1086 { "DATEDIF" , SC_OPCODE_GET_DATEDIF }, 1087 { "MIN" , SC_OPCODE_MIN }, 1088 { "MINA" , SC_OPCODE_MIN_A }, 1089 { "MAX" , SC_OPCODE_MAX }, 1090 { "MAXA" , SC_OPCODE_MAX_A }, 1091 { "SUM" , SC_OPCODE_SUM }, 1092 { "PRODUCT" , SC_OPCODE_PRODUCT }, 1093 { "AVERAGE" , SC_OPCODE_AVERAGE }, 1094 { "AVERAGEA" , SC_OPCODE_AVERAGE_A }, 1095 { "COUNT" , SC_OPCODE_COUNT }, 1096 { "COUNTA" , SC_OPCODE_COUNT_2 }, 1097 { "NPV" , SC_OPCODE_NPV }, 1098 { "IRR" , SC_OPCODE_IRR }, 1099 { "MIRR" , SC_OPCODE_MIRR }, 1100 { "ISPMT" , SC_OPCODE_ISPMT }, 1101 { "VAR" , SC_OPCODE_VAR }, 1102 { "VARA" , SC_OPCODE_VAR_A }, 1103 { "VARP" , SC_OPCODE_VAR_P }, 1104 { "VARPA" , SC_OPCODE_VAR_P_A }, 1105 { "VAR.P" , SC_OPCODE_VAR_P_MS }, 1106 { "VAR.S" , SC_OPCODE_VAR_S }, 1107 { "STDEV" , SC_OPCODE_ST_DEV }, 1108 { "STDEVA" , SC_OPCODE_ST_DEV_A }, 1109 { "STDEVP" , SC_OPCODE_ST_DEV_P }, 1110 { "STDEVPA" , SC_OPCODE_ST_DEV_P_A }, 1111 { "STDEV.P" , SC_OPCODE_ST_DEV_P_MS }, 1112 { "STDEV.S" , SC_OPCODE_ST_DEV_S }, 1113 { "B" , SC_OPCODE_B }, 1114 { "NORMDIST" , SC_OPCODE_NORM_DIST }, 1115 { "NORM.DIST" , SC_OPCODE_NORM_DIST_MS }, 1116 { "EXPONDIST" , SC_OPCODE_EXP_DIST }, 1117 { "EXPON.DIST" , SC_OPCODE_EXP_DIST_MS }, 1118 { "BINOMDIST" , SC_OPCODE_BINOM_DIST }, 1119 { "BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS }, 1120 { "POISSON" , SC_OPCODE_POISSON_DIST }, 1121 { "POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS }, 1122 { "COMBIN" , SC_OPCODE_COMBIN }, 1123 { "COMBINA" , SC_OPCODE_COMBIN_A }, 1124 { "PERMUT" , SC_OPCODE_PERMUT }, 1125 { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A }, 1126 { "PV" , SC_OPCODE_PV }, 1127 { "SYD" , SC_OPCODE_SYD }, 1128 { "DDB" , SC_OPCODE_DDB }, 1129 { "DB" , SC_OPCODE_DB }, 1130 { "VDB" , SC_OPCODE_VBD }, 1131 { "DURATION" , SC_OPCODE_PDURATION }, // wrong but ODF1.1, keep it. 1132 { "SLN" , SC_OPCODE_SLN }, 1133 { "PMT" , SC_OPCODE_PMT }, 1134 { "COLUMNS" , SC_OPCODE_COLUMNS }, 1135 { "ROWS" , SC_OPCODE_ROWS }, 1136 { "SHEETS" , SC_OPCODE_SHEETS }, 1137 { "COLUMN" , SC_OPCODE_COLUMN }, 1138 { "ROW" , SC_OPCODE_ROW }, 1139 { "SHEET" , SC_OPCODE_SHEET }, 1140 { "ZGZ" , SC_OPCODE_RRI }, 1141 { "FV" , SC_OPCODE_FV }, 1142 { "NPER" , SC_OPCODE_NPER }, 1143 { "RATE" , SC_OPCODE_RATE }, 1144 { "IPMT" , SC_OPCODE_IPMT }, 1145 { "PPMT" , SC_OPCODE_PPMT }, 1146 { "CUMIPMT" , SC_OPCODE_CUM_IPMT }, 1147 { "CUMPRINC" , SC_OPCODE_CUM_PRINC }, 1148 { "EFFECTIVE" , SC_OPCODE_EFFECT }, 1149 { "NOMINAL" , SC_OPCODE_NOMINAL }, 1150 { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL }, 1151 { "DSUM" , SC_OPCODE_DB_SUM }, 1152 { "DCOUNT" , SC_OPCODE_DB_COUNT }, 1153 { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 }, 1154 { "DAVERAGE" , SC_OPCODE_DB_AVERAGE }, 1155 { "DGET" , SC_OPCODE_DB_GET }, 1156 { "DMAX" , SC_OPCODE_DB_MAX }, 1157 { "DMIN" , SC_OPCODE_DB_MIN }, 1158 { "DPRODUCT" , SC_OPCODE_DB_PRODUCT }, 1159 { "DSTDEV" , SC_OPCODE_DB_STD_DEV }, 1160 { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P }, 1161 { "DVAR" , SC_OPCODE_DB_VAR }, 1162 { "DVARP" , SC_OPCODE_DB_VAR_P }, 1163 { "INDIRECT" , SC_OPCODE_INDIRECT }, 1164 { "ADDRESS" , SC_OPCODE_ADDRESS }, 1165 { "MATCH" , SC_OPCODE_MATCH }, 1166 { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS }, 1167 { "COUNTIF" , SC_OPCODE_COUNT_IF }, 1168 { "SUMIF" , SC_OPCODE_SUM_IF }, 1169 { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF }, 1170 { "SUMIFS" , SC_OPCODE_SUM_IFS }, 1171 { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS }, 1172 { "COUNTIFS" , SC_OPCODE_COUNT_IFS }, 1173 { "LOOKUP" , SC_OPCODE_LOOKUP }, 1174 { "VLOOKUP" , SC_OPCODE_V_LOOKUP }, 1175 { "HLOOKUP" , SC_OPCODE_H_LOOKUP }, 1176 { "MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union) 1177 { "OFFSET" , SC_OPCODE_OFFSET }, 1178 { "INDEX" , SC_OPCODE_INDEX }, 1179 { "AREAS" , SC_OPCODE_AREAS }, 1180 { "DOLLAR" , SC_OPCODE_CURRENCY }, 1181 { "REPLACE" , SC_OPCODE_REPLACE }, 1182 { "FIXED" , SC_OPCODE_FIXED }, 1183 { "FIND" , SC_OPCODE_FIND }, 1184 { "EXACT" , SC_OPCODE_EXACT }, 1185 { "LEFT" , SC_OPCODE_LEFT }, 1186 { "RIGHT" , SC_OPCODE_RIGHT }, 1187 { "SEARCH" , SC_OPCODE_SEARCH }, 1188 { "MID" , SC_OPCODE_MID }, 1189 { "LENB" , SC_OPCODE_LENB }, 1190 { "RIGHTB" , SC_OPCODE_RIGHTB }, 1191 { "LEFTB" , SC_OPCODE_LEFTB }, 1192 { "REPLACEB" , SC_OPCODE_REPLACEB }, 1193 { "FINDB" , SC_OPCODE_FINDB }, 1194 { "SEARCHB" , SC_OPCODE_SEARCHB }, 1195 { "MIDB" , SC_OPCODE_MIDB }, 1196 { "TEXT" , SC_OPCODE_TEXT }, 1197 { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE }, 1198 { "REPT" , SC_OPCODE_REPT }, 1199 { "CONCATENATE" , SC_OPCODE_CONCAT }, 1200 { "CONCAT" , SC_OPCODE_CONCAT_MS }, 1201 { "TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS }, 1202 { "IFS" , SC_OPCODE_IFS_MS }, 1203 { "SWITCH" , SC_OPCODE_SWITCH_MS }, 1204 { "MINIFS" , SC_OPCODE_MINIFS_MS }, 1205 { "MAXIFS" , SC_OPCODE_MAXIFS_MS }, 1206 { "MVALUE" , SC_OPCODE_MAT_VALUE }, 1207 { "MDETERM" , SC_OPCODE_MAT_DET }, 1208 { "MINVERSE" , SC_OPCODE_MAT_INV }, 1209 { "MMULT" , SC_OPCODE_MAT_MULT }, 1210 { "TRANSPOSE" , SC_OPCODE_MAT_TRANS }, 1211 { "MUNIT" , SC_OPCODE_MATRIX_UNIT }, 1212 { "GOALSEEK" , SC_OPCODE_BACK_SOLVER }, 1213 { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST }, 1214 { "HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS }, 1215 { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST }, 1216 { "LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS }, 1217 { "TDIST" , SC_OPCODE_T_DIST }, 1218 { "T.DIST.2T" , SC_OPCODE_T_DIST_2T }, 1219 { "T.DIST" , SC_OPCODE_T_DIST_MS }, 1220 { "T.DIST.RT" , SC_OPCODE_T_DIST_RT }, 1221 { "FDIST" , SC_OPCODE_F_DIST }, 1222 { "F.DIST" , SC_OPCODE_F_DIST_LT }, 1223 { "F.DIST.RT" , SC_OPCODE_F_DIST_RT }, 1224 { "CHIDIST" , SC_OPCODE_CHI_DIST }, 1225 { "CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS }, 1226 { "WEIBULL" , SC_OPCODE_WEIBULL }, 1227 { "WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS }, 1228 { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT }, 1229 { "NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS }, 1230 { "CRITBINOM" , SC_OPCODE_CRIT_BINOM }, 1231 { "BINOM.INV" , SC_OPCODE_BINOM_INV }, 1232 { "KURT" , SC_OPCODE_KURT }, 1233 { "HARMEAN" , SC_OPCODE_HAR_MEAN }, 1234 { "GEOMEAN" , SC_OPCODE_GEO_MEAN }, 1235 { "STANDARDIZE" , SC_OPCODE_STANDARD }, 1236 { "AVEDEV" , SC_OPCODE_AVE_DEV }, 1237 { "SKEW" , SC_OPCODE_SKEW }, 1238 { "SKEWP" , SC_OPCODE_SKEWP }, 1239 { "DEVSQ" , SC_OPCODE_DEV_SQ }, 1240 { "MEDIAN" , SC_OPCODE_MEDIAN }, 1241 { "MODE" , SC_OPCODE_MODAL_VALUE }, 1242 { "MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS }, 1243 { "MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI }, 1244 { "ZTEST" , SC_OPCODE_Z_TEST }, 1245 { "Z.TEST" , SC_OPCODE_Z_TEST_MS }, 1246 { "AGGREGATE" , SC_OPCODE_AGGREGATE }, 1247 { "TTEST" , SC_OPCODE_T_TEST }, 1248 { "T.TEST" , SC_OPCODE_T_TEST_MS }, 1249 { "RANK" , SC_OPCODE_RANK }, 1250 { "PERCENTILE" , SC_OPCODE_PERCENTILE }, 1251 { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK }, 1252 { "PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC }, 1253 { "PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC }, 1254 { "QUARTILE.INC" , SC_OPCODE_QUARTILE_INC }, 1255 { "RANK.EQ" , SC_OPCODE_RANK_EQ }, 1256 { "PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC }, 1257 { "PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC }, 1258 { "QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC }, 1259 { "RANK.AVG" , SC_OPCODE_RANK_AVG }, 1260 { "LARGE" , SC_OPCODE_LARGE }, 1261 { "SMALL" , SC_OPCODE_SMALL }, 1262 { "FREQUENCY" , SC_OPCODE_FREQUENCY }, 1263 { "QUARTILE" , SC_OPCODE_QUARTILE }, 1264 { "NORMINV" , SC_OPCODE_NORM_INV }, 1265 { "NORM.INV" , SC_OPCODE_NORM_INV_MS }, 1266 { "CONFIDENCE" , SC_OPCODE_CONFIDENCE }, 1267 { "CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N }, 1268 { "CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T }, 1269 { "FTEST" , SC_OPCODE_F_TEST }, 1270 { "F.TEST" , SC_OPCODE_F_TEST_MS }, 1271 { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN }, 1272 { "PROB" , SC_OPCODE_PROB }, 1273 { "CORREL" , SC_OPCODE_CORREL }, 1274 { "COVAR" , SC_OPCODE_COVAR }, 1275 { "COVARIANCE.P" , SC_OPCODE_COVARIANCE_P }, 1276 { "COVARIANCE.S" , SC_OPCODE_COVARIANCE_S }, 1277 { "PEARSON" , SC_OPCODE_PEARSON }, 1278 { "RSQ" , SC_OPCODE_RSQ }, 1279 { "STEYX" , SC_OPCODE_STEYX }, 1280 { "SLOPE" , SC_OPCODE_SLOPE }, 1281 { "INTERCEPT" , SC_OPCODE_INTERCEPT }, 1282 { "TREND" , SC_OPCODE_TREND }, 1283 { "GROWTH" , SC_OPCODE_GROWTH }, 1284 { "LINEST" , SC_OPCODE_LINEST }, 1285 { "LOGEST" , SC_OPCODE_LOGEST }, 1286 { "FORECAST" , SC_OPCODE_FORECAST }, 1287 { "FORECAST.ETS.ADD" , SC_OPCODE_FORECAST_ETS_ADD }, 1288 { "FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA }, 1289 { "FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL }, 1290 { "FORECAST.ETS.PI.ADD" , SC_OPCODE_FORECAST_ETS_PIA }, 1291 { "FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM }, 1292 { "FORECAST.ETS.STAT.ADD" , SC_OPCODE_FORECAST_ETS_STA }, 1293 { "FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM }, 1294 { "FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN }, 1295 { "CHIINV" , SC_OPCODE_CHI_INV }, 1296 { "CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS }, 1297 { "GAMMADIST" , SC_OPCODE_GAMMA_DIST }, 1298 { "GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS }, 1299 { "GAMMAINV" , SC_OPCODE_GAMMA_INV }, 1300 { "GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS }, 1301 { "TINV" , SC_OPCODE_T_INV }, 1302 { "T.INV.2T" , SC_OPCODE_T_INV_2T }, 1303 { "T.INV" , SC_OPCODE_T_INV_MS }, 1304 { "FINV" , SC_OPCODE_F_INV }, 1305 { "F.INV" , SC_OPCODE_F_INV_LT }, 1306 { "F.INV.RT" , SC_OPCODE_F_INV_RT }, 1307 { "CHITEST" , SC_OPCODE_CHI_TEST }, 1308 { "CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS }, 1309 { "LOGINV" , SC_OPCODE_LOG_INV }, 1310 { "LOGNORM.INV" , SC_OPCODE_LOG_INV_MS }, 1311 { "TABLE" , SC_OPCODE_TABLE_OP }, 1312 { "BETADIST" , SC_OPCODE_BETA_DIST }, 1313 { "BETAINV" , SC_OPCODE_BETA_INV }, 1314 { "BETA.DIST" , SC_OPCODE_BETA_DIST_MS }, 1315 { "BETA.INV" , SC_OPCODE_BETA_INV_MS }, 1316 { "WEEKNUM" , SC_OPCODE_WEEK }, 1317 { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM }, 1318 { "WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO }, 1319 { "EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY }, 1320 { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK }, 1321 { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS }, 1322 { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS }, 1323 { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS }, 1324 { "#NAME!" , SC_OPCODE_NO_NAME }, 1325 { "STYLE" , SC_OPCODE_STYLE }, 1326 { "DDE" , SC_OPCODE_DDE }, 1327 { "BASE" , SC_OPCODE_BASE }, 1328 { "DECIMAL" , SC_OPCODE_DECIMAL }, 1329 { "CONVERT" , SC_OPCODE_CONVERT_OOO }, // wrong but ODF1.1, keep it 1330 { "ROMAN" , SC_OPCODE_ROMAN }, 1331 { "ARABIC" , SC_OPCODE_ARABIC }, 1332 { "HYPERLINK" , SC_OPCODE_HYPERLINK }, 1333 { "INFO" , SC_OPCODE_INFO }, 1334 { "BAHTTEXT" , SC_OPCODE_BAHTTEXT }, 1335 { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA }, 1336 { "EUROCONVERT" , SC_OPCODE_EUROCONVERT }, 1337 { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE }, 1338 { "GAMMA" , SC_OPCODE_GAMMA }, 1339 { "CHISQDIST" , SC_OPCODE_CHISQ_DIST }, 1340 { "CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS }, 1341 { "CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS }, 1342 { "CHISQINV" , SC_OPCODE_CHISQ_INV }, 1343 { "BITAND" , SC_OPCODE_BITAND }, 1344 { "BITOR" , SC_OPCODE_BITOR }, 1345 { "BITXOR" , SC_OPCODE_BITXOR }, 1346 { "BITRSHIFT" , SC_OPCODE_BITRSHIFT }, 1347 { "BITLSHIFT" , SC_OPCODE_BITLSHIFT }, 1348 /* BEGIN defined ERROR.TYPE() values. */ 1349 { "#NULL!" , SC_OPCODE_ERROR_NULL }, 1350 { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO }, 1351 { "#VALUE!" , SC_OPCODE_ERROR_VALUE }, 1352 { "#REF!" , SC_OPCODE_ERROR_REF }, 1353 { "#NAME?" , SC_OPCODE_ERROR_NAME }, 1354 { "#NUM!" , SC_OPCODE_ERROR_NUM }, 1355 { "#N/A" , SC_OPCODE_ERROR_NA }, 1356 /* END defined ERROR.TYPE() values. */ 1357 { "FILTERXML" , SC_OPCODE_FILTERXML }, 1358 { "WEBSERVICE" , SC_OPCODE_WEBSERVICE }, 1359 { "COLOR" , SC_OPCODE_COLOR }, 1360 { "ERF.PRECISE" , SC_OPCODE_ERF_MS }, 1361 { "ERFC.PRECISE" , SC_OPCODE_ERFC_MS }, 1362 { "ENCODEURL" , SC_OPCODE_ENCODEURL }, 1363 { "RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT }, 1364 { "ROUNDSIG" , SC_OPCODE_ROUNDSIG }, 1365 { "REGEX" , SC_OPCODE_REGEX }, 1366 { "FOURIER", SC_OPCODE_FOURIER }, 1367 { "RAND.NV" , SC_OPCODE_RANDOM_NV }, 1368 { "RANDBETWEEN.NV" , SC_OPCODE_RANDBETWEEN_NV }, 1369 { nullptr, -1 } 1370}; 1371 1372/** These English names are used for XFunctionAccess API. */ 1373// DO NOT CHANGE NAMES! Only add functions. 1374// If there is a reason for another name for some function then add an 1375// *additional* name to be recognized to sc/source/core/tool/compiler.cxx 1376// ScCompiler::IsOpCode(). 1377const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_API[] = 1378{ 1379 { "IF" , SC_OPCODE_IF }, 1380 { "IFERROR" , SC_OPCODE_IF_ERROR }, 1381 { "IFNA" , SC_OPCODE_IF_NA }, 1382 { "CHOOSE" , SC_OPCODE_CHOOSE }, 1383 { "(" , SC_OPCODE_OPEN }, 1384 { ")" , SC_OPCODE_CLOSE }, 1385 { "[" , SC_OPCODE_TABLE_REF_OPEN }, 1386 { "]" , SC_OPCODE_TABLE_REF_CLOSE }, 1387 { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL }, 1388 { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS }, 1389 { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA }, 1390 { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS }, 1391 { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW }, 1392 { "{" , SC_OPCODE_ARRAY_OPEN }, 1393 { "}" , SC_OPCODE_ARRAY_CLOSE }, 1394 { "|" , SC_OPCODE_ARRAY_ROW_SEP }, 1395 { ";" , SC_OPCODE_ARRAY_COL_SEP }, 1396 { ";" , SC_OPCODE_SEP }, 1397 { "%" , SC_OPCODE_PERCENT_SIGN }, 1398 { "+" , SC_OPCODE_ADD }, 1399 { "-" , SC_OPCODE_SUB }, 1400 { "*" , SC_OPCODE_MUL }, 1401 { "/" , SC_OPCODE_DIV }, 1402 { "&" , SC_OPCODE_AMPERSAND }, 1403 { "^" , SC_OPCODE_POW }, 1404 { "=" , SC_OPCODE_EQUAL }, 1405 { "<>" , SC_OPCODE_NOT_EQUAL }, 1406 { "<" , SC_OPCODE_LESS }, 1407 { ">" , SC_OPCODE_GREATER }, 1408 { "<=" , SC_OPCODE_LESS_EQUAL }, 1409 { ">=" , SC_OPCODE_GREATER_EQUAL }, 1410 { "AND" , SC_OPCODE_AND }, 1411 { "OR" , SC_OPCODE_OR }, 1412 { "XOR" , SC_OPCODE_XOR }, 1413 { "!" , SC_OPCODE_INTERSECT }, 1414 { "~" , SC_OPCODE_UNION }, 1415 { ":" , SC_OPCODE_RANGE }, 1416 { "NOT" , SC_OPCODE_NOT }, 1417 { "NEG" , SC_OPCODE_NEG }, 1418 { "-" , SC_OPCODE_NEG_SUB }, 1419 { "PI" , SC_OPCODE_PI }, 1420 { "RAND" , SC_OPCODE_RANDOM }, 1421 { "TRUE" , SC_OPCODE_TRUE }, 1422 { "FALSE" , SC_OPCODE_FALSE }, 1423 { "TODAY" , SC_OPCODE_GET_ACT_DATE }, 1424 { "NOW" , SC_OPCODE_GET_ACT_TIME }, 1425 { "NA" , SC_OPCODE_NO_VALUE }, 1426 { "CURRENT" , SC_OPCODE_CURRENT }, 1427 { "DEGREES" , SC_OPCODE_DEG }, 1428 { "RADIANS" , SC_OPCODE_RAD }, 1429 { "SIN" , SC_OPCODE_SIN }, 1430 { "COS" , SC_OPCODE_COS }, 1431 { "TAN" , SC_OPCODE_TAN }, 1432 { "COT" , SC_OPCODE_COT }, 1433 { "ASIN" , SC_OPCODE_ARC_SIN }, 1434 { "ACOS" , SC_OPCODE_ARC_COS }, 1435 { "ATAN" , SC_OPCODE_ARC_TAN }, 1436 { "ACOT" , SC_OPCODE_ARC_COT }, 1437 { "SINH" , SC_OPCODE_SIN_HYP }, 1438 { "COSH" , SC_OPCODE_COS_HYP }, 1439 { "TANH" , SC_OPCODE_TAN_HYP }, 1440 { "COTH" , SC_OPCODE_COT_HYP }, 1441 { "ASINH" , SC_OPCODE_ARC_SIN_HYP }, 1442 { "ACOSH" , SC_OPCODE_ARC_COS_HYP }, 1443 { "ATANH" , SC_OPCODE_ARC_TAN_HYP }, 1444 { "ACOTH" , SC_OPCODE_ARC_COT_HYP }, 1445 { "CSC" , SC_OPCODE_COSECANT }, 1446 { "SEC" , SC_OPCODE_SECANT }, 1447 { "CSCH" , SC_OPCODE_COSECANT_HYP }, 1448 { "SECH" , SC_OPCODE_SECANT_HYP }, 1449 { "EXP" , SC_OPCODE_EXP }, 1450 { "LN" , SC_OPCODE_LN }, 1451 { "SQRT" , SC_OPCODE_SQRT }, 1452 { "FACT" , SC_OPCODE_FACT }, 1453 { "YEAR" , SC_OPCODE_GET_YEAR }, 1454 { "MONTH" , SC_OPCODE_GET_MONTH }, 1455 { "DAY" , SC_OPCODE_GET_DAY }, 1456 { "HOUR" , SC_OPCODE_GET_HOUR }, 1457 { "MINUTE" , SC_OPCODE_GET_MIN }, 1458 { "SECOND" , SC_OPCODE_GET_SEC }, 1459 { "SIGN" , SC_OPCODE_PLUS_MINUS }, 1460 { "ABS" , SC_OPCODE_ABS }, 1461 { "INT" , SC_OPCODE_INT }, 1462 { "PHI" , SC_OPCODE_PHI }, 1463 { "GAUSS" , SC_OPCODE_GAUSS }, 1464 { "ISBLANK" , SC_OPCODE_IS_EMPTY }, 1465 { "ISTEXT" , SC_OPCODE_IS_STRING }, 1466 { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING }, 1467 { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL }, 1468 { "TYPE" , SC_OPCODE_TYPE }, 1469 { "CELL" , SC_OPCODE_CELL }, 1470 { "ISREF" , SC_OPCODE_IS_REF }, 1471 { "ISNUMBER" , SC_OPCODE_IS_VALUE }, 1472 { "ISFORMULA" , SC_OPCODE_IS_FORMULA }, 1473 { "ISNA" , SC_OPCODE_IS_NV }, 1474 { "ISERR" , SC_OPCODE_IS_ERR }, 1475 { "ISERROR" , SC_OPCODE_IS_ERROR }, 1476 { "ISEVEN" , SC_OPCODE_IS_EVEN }, 1477 { "ISODD" , SC_OPCODE_IS_ODD }, 1478 { "N" , SC_OPCODE_N }, 1479 { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE }, 1480 { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE }, 1481 { "CODE" , SC_OPCODE_CODE }, 1482 { "TRIM" , SC_OPCODE_TRIM }, 1483 { "UPPER" , SC_OPCODE_UPPER }, 1484 { "PROPER" , SC_OPCODE_PROPER }, 1485 { "LOWER" , SC_OPCODE_LOWER }, 1486 { "LEN" , SC_OPCODE_LEN }, 1487 { "T" , SC_OPCODE_T }, 1488 { "VALUE" , SC_OPCODE_VALUE }, 1489 { "CLEAN" , SC_OPCODE_CLEAN }, 1490 { "CHAR" , SC_OPCODE_CHAR }, 1491 { "JIS" , SC_OPCODE_JIS }, 1492 { "ASC" , SC_OPCODE_ASC }, 1493 { "UNICODE" , SC_OPCODE_UNICODE }, 1494 { "UNICHAR" , SC_OPCODE_UNICHAR }, 1495 { "LOG10" , SC_OPCODE_LOG10 }, 1496 { "EVEN" , SC_OPCODE_EVEN }, 1497 { "ODD" , SC_OPCODE_ODD }, 1498 { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST }, 1499 { "NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS }, 1500 { "FISHER" , SC_OPCODE_FISHER }, 1501 { "FISHERINV" , SC_OPCODE_FISHER_INV }, 1502 { "NORMSINV" , SC_OPCODE_S_NORM_INV }, 1503 { "NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS }, 1504 { "GAMMALN" , SC_OPCODE_GAMMA_LN }, 1505 { "GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS }, 1506 { "ERRORTYPE" , SC_OPCODE_ERROR_TYPE }, 1507 { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF }, 1508 { "FORMULA" , SC_OPCODE_FORMULA }, 1509 { "ATAN2" , SC_OPCODE_ARC_TAN_2 }, 1510 { "CEILING.MATH" , SC_OPCODE_CEIL_MATH }, 1511 { "CEILING" , SC_OPCODE_CEIL }, 1512 { "CEILING.XCL" , SC_OPCODE_CEIL_MS }, 1513 { "CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE }, 1514 { "ISO.CEILING" , SC_OPCODE_CEIL_ISO }, 1515 { "FLOOR" , SC_OPCODE_FLOOR }, 1516 { "FLOOR.XCL" , SC_OPCODE_FLOOR_MS }, 1517 { "FLOOR.MATH" , SC_OPCODE_FLOOR_MATH }, 1518 { "FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE }, 1519 { "ROUND" , SC_OPCODE_ROUND }, 1520 { "ROUNDUP" , SC_OPCODE_ROUND_UP }, 1521 { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN }, 1522 { "TRUNC" , SC_OPCODE_TRUNC }, 1523 { "LOG" , SC_OPCODE_LOG }, 1524 { "POWER" , SC_OPCODE_POWER }, 1525 { "GCD" , SC_OPCODE_GCD }, 1526 { "LCM" , SC_OPCODE_LCM }, 1527 { "MOD" , SC_OPCODE_MOD }, 1528 { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT }, 1529 { "SUMSQ" , SC_OPCODE_SUM_SQ }, 1530 { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 }, 1531 { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 }, 1532 { "SUMXMY2" , SC_OPCODE_SUM_XMY2 }, 1533 { "DATE" , SC_OPCODE_GET_DATE }, 1534 { "TIME" , SC_OPCODE_GET_TIME }, 1535 { "DAYS" , SC_OPCODE_GET_DIFF_DATE }, 1536 { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 }, 1537 { "DATEDIF" , SC_OPCODE_GET_DATEDIF }, 1538 { "MIN" , SC_OPCODE_MIN }, 1539 { "MINA" , SC_OPCODE_MIN_A }, 1540 { "MAX" , SC_OPCODE_MAX }, 1541 { "MAXA" , SC_OPCODE_MAX_A }, 1542 { "SUM" , SC_OPCODE_SUM }, 1543 { "PRODUCT" , SC_OPCODE_PRODUCT }, 1544 { "AVERAGE" , SC_OPCODE_AVERAGE }, 1545 { "AVERAGEA" , SC_OPCODE_AVERAGE_A }, 1546 { "COUNT" , SC_OPCODE_COUNT }, 1547 { "COUNTA" , SC_OPCODE_COUNT_2 }, 1548 { "NPV" , SC_OPCODE_NPV }, 1549 { "IRR" , SC_OPCODE_IRR }, 1550 { "MIRR" , SC_OPCODE_MIRR }, 1551 { "ISPMT" , SC_OPCODE_ISPMT }, 1552 { "VAR" , SC_OPCODE_VAR }, 1553 { "VARA" , SC_OPCODE_VAR_A }, 1554 { "VARP" , SC_OPCODE_VAR_P }, 1555 { "VARPA" , SC_OPCODE_VAR_P_A }, 1556 { "VAR.P" , SC_OPCODE_VAR_P_MS }, 1557 { "VAR.S" , SC_OPCODE_VAR_S }, 1558 { "STDEV" , SC_OPCODE_ST_DEV }, 1559 { "STDEVA" , SC_OPCODE_ST_DEV_A }, 1560 { "STDEVP" , SC_OPCODE_ST_DEV_P }, 1561 { "STDEVPA" , SC_OPCODE_ST_DEV_P_A }, 1562 { "STDEV.P" , SC_OPCODE_ST_DEV_P_MS }, 1563 { "STDEV.S" , SC_OPCODE_ST_DEV_S }, 1564 { "B" , SC_OPCODE_B }, 1565 { "NORMDIST" , SC_OPCODE_NORM_DIST }, 1566 { "NORM.DIST" , SC_OPCODE_NORM_DIST_MS }, 1567 { "EXPONDIST" , SC_OPCODE_EXP_DIST }, 1568 { "EXPON.DIST" , SC_OPCODE_EXP_DIST_MS }, 1569 { "BINOMDIST" , SC_OPCODE_BINOM_DIST }, 1570 { "BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS }, 1571 { "POISSON" , SC_OPCODE_POISSON_DIST }, 1572 { "POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS }, 1573 { "COMBIN" , SC_OPCODE_COMBIN }, 1574 { "COMBINA" , SC_OPCODE_COMBIN_A }, 1575 { "PERMUT" , SC_OPCODE_PERMUT }, 1576 { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A }, 1577 { "PV" , SC_OPCODE_PV }, 1578 { "SYD" , SC_OPCODE_SYD }, 1579 { "DDB" , SC_OPCODE_DDB }, 1580 { "DB" , SC_OPCODE_DB }, 1581 { "VDB" , SC_OPCODE_VBD }, 1582 { "DURATION" , SC_OPCODE_PDURATION }, 1583 { "SLN" , SC_OPCODE_SLN }, 1584 { "PMT" , SC_OPCODE_PMT }, 1585 { "COLUMNS" , SC_OPCODE_COLUMNS }, 1586 { "ROWS" , SC_OPCODE_ROWS }, 1587 { "SHEETS" , SC_OPCODE_SHEETS }, 1588 { "COLUMN" , SC_OPCODE_COLUMN }, 1589 { "ROW" , SC_OPCODE_ROW }, 1590 { "SHEET" , SC_OPCODE_SHEET }, 1591 { "ZGZ" , SC_OPCODE_RRI }, 1592 { "FV" , SC_OPCODE_FV }, 1593 { "NPER" , SC_OPCODE_NPER }, 1594 { "RATE" , SC_OPCODE_RATE }, 1595 { "IPMT" , SC_OPCODE_IPMT }, 1596 { "PPMT" , SC_OPCODE_PPMT }, 1597 { "CUMIPMT" , SC_OPCODE_CUM_IPMT }, 1598 { "CUMPRINC" , SC_OPCODE_CUM_PRINC }, 1599 { "EFFECTIVE" , SC_OPCODE_EFFECT }, 1600 { "NOMINAL" , SC_OPCODE_NOMINAL }, 1601 { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL }, 1602 { "DSUM" , SC_OPCODE_DB_SUM }, 1603 { "DCOUNT" , SC_OPCODE_DB_COUNT }, 1604 { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 }, 1605 { "DAVERAGE" , SC_OPCODE_DB_AVERAGE }, 1606 { "DGET" , SC_OPCODE_DB_GET }, 1607 { "DMAX" , SC_OPCODE_DB_MAX }, 1608 { "DMIN" , SC_OPCODE_DB_MIN }, 1609 { "DPRODUCT" , SC_OPCODE_DB_PRODUCT }, 1610 { "DSTDEV" , SC_OPCODE_DB_STD_DEV }, 1611 { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P }, 1612 { "DVAR" , SC_OPCODE_DB_VAR }, 1613 { "DVARP" , SC_OPCODE_DB_VAR_P }, 1614 { "INDIRECT" , SC_OPCODE_INDIRECT }, 1615 { "ADDRESS" , SC_OPCODE_ADDRESS }, 1616 { "MATCH" , SC_OPCODE_MATCH }, 1617 { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS }, 1618 { "COUNTIF" , SC_OPCODE_COUNT_IF }, 1619 { "SUMIF" , SC_OPCODE_SUM_IF }, 1620 { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF }, 1621 { "SUMIFS" , SC_OPCODE_SUM_IFS }, 1622 { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS }, 1623 { "COUNTIFS" , SC_OPCODE_COUNT_IFS }, 1624 { "LOOKUP" , SC_OPCODE_LOOKUP }, 1625 { "VLOOKUP" , SC_OPCODE_V_LOOKUP }, 1626 { "HLOOKUP" , SC_OPCODE_H_LOOKUP }, 1627 { "MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union) 1628 { "OFFSET" , SC_OPCODE_OFFSET }, 1629 { "INDEX" , SC_OPCODE_INDEX }, // ?? first character = I ?? 1630 { "AREAS" , SC_OPCODE_AREAS }, 1631 { "DOLLAR" , SC_OPCODE_CURRENCY }, 1632 { "REPLACE" , SC_OPCODE_REPLACE }, 1633 { "FIXED" , SC_OPCODE_FIXED }, 1634 { "FIND" , SC_OPCODE_FIND }, 1635 { "EXACT" , SC_OPCODE_EXACT }, 1636 { "LEFT" , SC_OPCODE_LEFT }, 1637 { "RIGHT" , SC_OPCODE_RIGHT }, 1638 { "SEARCH" , SC_OPCODE_SEARCH }, 1639 { "MID" , SC_OPCODE_MID }, 1640 { "LENB" , SC_OPCODE_LENB }, 1641 { "RIGHTB" , SC_OPCODE_RIGHTB }, 1642 { "LEFTB" , SC_OPCODE_LEFTB }, 1643 { "REPLACEB" , SC_OPCODE_REPLACEB }, 1644 { "FINDB" , SC_OPCODE_FINDB }, 1645 { "SEARCHB" , SC_OPCODE_SEARCHB }, 1646 { "MIDB" , SC_OPCODE_MIDB }, 1647 { "TEXT" , SC_OPCODE_TEXT }, 1648 { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE }, 1649 { "REPT" , SC_OPCODE_REPT }, 1650 { "CONCATENATE" , SC_OPCODE_CONCAT }, 1651 { "CONCAT" , SC_OPCODE_CONCAT_MS }, 1652 { "TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS }, 1653 { "IFS" , SC_OPCODE_IFS_MS }, 1654 { "SWITCH" , SC_OPCODE_SWITCH_MS }, 1655 { "MINIFS" , SC_OPCODE_MINIFS_MS }, 1656 { "MAXIFS" , SC_OPCODE_MAXIFS_MS }, 1657 { "MVALUE" , SC_OPCODE_MAT_VALUE }, 1658 { "MDETERM" , SC_OPCODE_MAT_DET }, 1659 { "MINVERSE" , SC_OPCODE_MAT_INV }, 1660 { "MMULT" , SC_OPCODE_MAT_MULT }, 1661 { "TRANSPOSE" , SC_OPCODE_MAT_TRANS }, 1662 { "MUNIT" , SC_OPCODE_MATRIX_UNIT }, 1663 { "GOALSEEK" , SC_OPCODE_BACK_SOLVER }, 1664 { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST }, 1665 { "HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS }, 1666 { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST }, 1667 { "LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS }, 1668 { "TDIST" , SC_OPCODE_T_DIST }, 1669 { "T.DIST.2T" , SC_OPCODE_T_DIST_2T }, 1670 { "T.DIST" , SC_OPCODE_T_DIST_MS }, 1671 { "T.DIST.RT" , SC_OPCODE_T_DIST_RT }, 1672 { "FDIST" , SC_OPCODE_F_DIST }, 1673 { "F.DIST" , SC_OPCODE_F_DIST_LT }, 1674 { "F.DIST.RT" , SC_OPCODE_F_DIST_RT }, 1675 { "CHIDIST" , SC_OPCODE_CHI_DIST }, 1676 { "CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS }, 1677 { "WEIBULL" , SC_OPCODE_WEIBULL }, 1678 { "WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS }, 1679 { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT }, 1680 { "NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS }, 1681 { "CRITBINOM" , SC_OPCODE_CRIT_BINOM }, 1682 { "BINOM.INV" , SC_OPCODE_BINOM_INV }, 1683 { "KURT" , SC_OPCODE_KURT }, 1684 { "HARMEAN" , SC_OPCODE_HAR_MEAN }, 1685 { "GEOMEAN" , SC_OPCODE_GEO_MEAN }, 1686 { "STANDARDIZE" , SC_OPCODE_STANDARD }, 1687 { "AVEDEV" , SC_OPCODE_AVE_DEV }, 1688 { "SKEW" , SC_OPCODE_SKEW }, 1689 { "SKEWP" , SC_OPCODE_SKEWP }, 1690 { "DEVSQ" , SC_OPCODE_DEV_SQ }, 1691 { "MEDIAN" , SC_OPCODE_MEDIAN }, 1692 { "MODE" , SC_OPCODE_MODAL_VALUE }, 1693 { "MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS }, 1694 { "MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI }, 1695 { "ZTEST" , SC_OPCODE_Z_TEST }, 1696 { "Z.TEST" , SC_OPCODE_Z_TEST_MS }, 1697 { "AGGREGATE" , SC_OPCODE_AGGREGATE }, 1698 { "TTEST" , SC_OPCODE_T_TEST }, 1699 { "T.TEST" , SC_OPCODE_T_TEST_MS }, 1700 { "RANK" , SC_OPCODE_RANK }, 1701 { "PERCENTILE" , SC_OPCODE_PERCENTILE }, 1702 { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK }, 1703 { "PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC }, 1704 { "PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC }, 1705 { "QUARTILE.INC" , SC_OPCODE_QUARTILE_INC }, 1706 { "RANK.EQ" , SC_OPCODE_RANK_EQ }, 1707 { "PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC }, 1708 { "PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC }, 1709 { "QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC }, 1710 { "RANK.AVG" , SC_OPCODE_RANK_AVG }, 1711 { "LARGE" , SC_OPCODE_LARGE }, 1712 { "SMALL" , SC_OPCODE_SMALL }, 1713 { "FREQUENCY" , SC_OPCODE_FREQUENCY }, 1714 { "QUARTILE" , SC_OPCODE_QUARTILE }, 1715 { "NORMINV" , SC_OPCODE_NORM_INV }, 1716 { "NORM.INV" , SC_OPCODE_NORM_INV_MS }, 1717 { "CONFIDENCE" , SC_OPCODE_CONFIDENCE }, 1718 { "CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N }, 1719 { "CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T }, 1720 { "FTEST" , SC_OPCODE_F_TEST }, 1721 { "F.TEST" , SC_OPCODE_F_TEST_MS }, 1722 { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN }, 1723 { "PROB" , SC_OPCODE_PROB }, 1724 { "CORREL" , SC_OPCODE_CORREL }, 1725 { "COVAR" , SC_OPCODE_COVAR }, 1726 { "COVARIANCE.P" , SC_OPCODE_COVARIANCE_P }, 1727 { "COVARIANCE.S" , SC_OPCODE_COVARIANCE_S }, 1728 { "PEARSON" , SC_OPCODE_PEARSON }, 1729 { "RSQ" , SC_OPCODE_RSQ }, 1730 { "STEYX" , SC_OPCODE_STEYX }, 1731 { "SLOPE" , SC_OPCODE_SLOPE }, 1732 { "INTERCEPT" , SC_OPCODE_INTERCEPT }, 1733 { "TREND" , SC_OPCODE_TREND }, 1734 { "GROWTH" , SC_OPCODE_GROWTH }, 1735 { "LINEST" , SC_OPCODE_LINEST }, 1736 { "LOGEST" , SC_OPCODE_LOGEST }, 1737 { "FORECAST" , SC_OPCODE_FORECAST }, 1738 { "FORECAST.ETS.ADD" , SC_OPCODE_FORECAST_ETS_ADD }, 1739 { "FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA }, 1740 { "FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL }, 1741 { "FORECAST.ETS.PI.ADD" , SC_OPCODE_FORECAST_ETS_PIA }, 1742 { "FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM }, 1743 { "FORECAST.ETS.STAT.ADD" , SC_OPCODE_FORECAST_ETS_STA }, 1744 { "FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM }, 1745 { "FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN }, 1746 { "CHIINV" , SC_OPCODE_CHI_INV }, 1747 { "CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS }, 1748 { "GAMMADIST" , SC_OPCODE_GAMMA_DIST }, 1749 { "GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS }, 1750 { "GAMMAINV" , SC_OPCODE_GAMMA_INV }, 1751 { "GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS }, 1752 { "TINV" , SC_OPCODE_T_INV }, 1753 { "T.INV.2T" , SC_OPCODE_T_INV_2T }, 1754 { "T.INV" , SC_OPCODE_T_INV_MS }, 1755 { "FINV" , SC_OPCODE_F_INV }, 1756 { "F.INV" , SC_OPCODE_F_INV_LT }, 1757 { "F.INV.RT" , SC_OPCODE_F_INV_RT }, 1758 { "CHITEST" , SC_OPCODE_CHI_TEST }, 1759 { "CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS }, 1760 { "LOGINV" , SC_OPCODE_LOG_INV }, 1761 { "LOGNORM.INV" , SC_OPCODE_LOG_INV_MS }, 1762 { "TABLE" , SC_OPCODE_TABLE_OP }, 1763 { "BETADIST" , SC_OPCODE_BETA_DIST }, 1764 { "BETAINV" , SC_OPCODE_BETA_INV }, 1765 { "BETA.DIST" , SC_OPCODE_BETA_DIST_MS }, 1766 { "BETA.INV" , SC_OPCODE_BETA_INV_MS }, 1767 { "WEEKNUM" , SC_OPCODE_WEEK }, 1768 { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM }, 1769 { "WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO }, 1770 { "EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY }, 1771 { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK }, 1772 { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS }, 1773 { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS }, 1774 { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS }, 1775 { "#NAME!" , SC_OPCODE_NO_NAME }, 1776 { "STYLE" , SC_OPCODE_STYLE }, 1777 { "DDE" , SC_OPCODE_DDE }, 1778 { "BASE" , SC_OPCODE_BASE }, 1779 { "DECIMAL" , SC_OPCODE_DECIMAL }, 1780 { "CONVERT" , SC_OPCODE_CONVERT_OOO }, 1781 { "ROMAN" , SC_OPCODE_ROMAN }, 1782 { "ARABIC" , SC_OPCODE_ARABIC }, 1783 { "HYPERLINK" , SC_OPCODE_HYPERLINK }, 1784 { "INFO" , SC_OPCODE_INFO }, 1785 { "BAHTTEXT" , SC_OPCODE_BAHTTEXT }, 1786 { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA }, 1787 { "EUROCONVERT" , SC_OPCODE_EUROCONVERT }, 1788 { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE }, 1789 { "GAMMA" , SC_OPCODE_GAMMA }, 1790 { "CHISQDIST" , SC_OPCODE_CHISQ_DIST }, 1791 { "CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS }, 1792 { "CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS }, 1793 { "CHISQINV" , SC_OPCODE_CHISQ_INV }, 1794 { "BITAND" , SC_OPCODE_BITAND }, 1795 { "BITOR" , SC_OPCODE_BITOR }, 1796 { "BITXOR" , SC_OPCODE_BITXOR }, 1797 { "BITRSHIFT" , SC_OPCODE_BITRSHIFT }, 1798 { "BITLSHIFT" , SC_OPCODE_BITLSHIFT }, 1799 { "#NULL!" , SC_OPCODE_ERROR_NULL }, 1800 { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO }, 1801 { "#VALUE!" , SC_OPCODE_ERROR_VALUE }, 1802 { "#REF!" , SC_OPCODE_ERROR_REF }, 1803 { "#NAME?" , SC_OPCODE_ERROR_NAME }, 1804 { "#NUM!" , SC_OPCODE_ERROR_NUM }, 1805 { "#N/A" , SC_OPCODE_ERROR_NA }, 1806 /* END defined ERROR.TYPE() values. */ 1807 { "FILTERXML" , SC_OPCODE_FILTERXML }, 1808 { "WEBSERVICE" , SC_OPCODE_WEBSERVICE }, 1809 { "COLOR" , SC_OPCODE_COLOR }, 1810 { "ERF.PRECISE" , SC_OPCODE_ERF_MS }, 1811 { "ERFC.PRECISE" , SC_OPCODE_ERFC_MS }, 1812 { "ENCODEURL" , SC_OPCODE_ENCODEURL }, 1813 { "RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT }, 1814 { "ROUNDSIG" , SC_OPCODE_ROUNDSIG }, 1815 { "REGEX" , SC_OPCODE_REGEX }, 1816 { "FOURIER", SC_OPCODE_FOURIER }, 1817 { "RAND.NV" , SC_OPCODE_RANDOM_NV }, 1818 { "RANDBETWEEN.NV" , SC_OPCODE_RANDBETWEEN_NV }, 1819 { nullptr, -1 } 1820}; 1821 1822/** These English names can be chosen in the UI and can be changed. They 1823 should match the [en-US] names of RID_STRLIST_FUNCTION_NAMES below. */ 1824// As such they are a duplicate, but we can not have two string localizations 1825// at the same time. 1826const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH[] = 1827{ 1828 { "IF" , SC_OPCODE_IF }, 1829 { "IFERROR" , SC_OPCODE_IF_ERROR }, 1830 { "IFNA" , SC_OPCODE_IF_NA }, 1831 { "CHOOSE" , SC_OPCODE_CHOOSE }, 1832 { "(" , SC_OPCODE_OPEN }, 1833 { ")" , SC_OPCODE_CLOSE }, 1834 { "[" , SC_OPCODE_TABLE_REF_OPEN }, 1835 { "]" , SC_OPCODE_TABLE_REF_CLOSE }, 1836 { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL }, 1837 { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS }, 1838 { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA }, 1839 { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS }, 1840 { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW }, 1841 { "{" , SC_OPCODE_ARRAY_OPEN }, 1842 { "}" , SC_OPCODE_ARRAY_CLOSE }, 1843 { "|" , SC_OPCODE_ARRAY_ROW_SEP }, 1844 { ";" , SC_OPCODE_ARRAY_COL_SEP }, 1845 { ";" , SC_OPCODE_SEP }, 1846 { "%" , SC_OPCODE_PERCENT_SIGN }, 1847 { "+" , SC_OPCODE_ADD }, 1848 { "-" , SC_OPCODE_SUB }, 1849 { "*" , SC_OPCODE_MUL }, 1850 { "/" , SC_OPCODE_DIV }, 1851 { "&" , SC_OPCODE_AMPERSAND }, 1852 { "^" , SC_OPCODE_POW }, 1853 { "=" , SC_OPCODE_EQUAL }, 1854 { "<>" , SC_OPCODE_NOT_EQUAL }, 1855 { "<" , SC_OPCODE_LESS }, 1856 { ">" , SC_OPCODE_GREATER }, 1857 { "<=" , SC_OPCODE_LESS_EQUAL }, 1858 { ">=" , SC_OPCODE_GREATER_EQUAL }, 1859 { "AND" , SC_OPCODE_AND }, 1860 { "OR" , SC_OPCODE_OR }, 1861 { "XOR" , SC_OPCODE_XOR }, 1862 { "!" , SC_OPCODE_INTERSECT }, 1863 { "~" , SC_OPCODE_UNION }, 1864 { ":" , SC_OPCODE_RANGE }, 1865 { "NOT" , SC_OPCODE_NOT }, 1866 { "NEG" , SC_OPCODE_NEG }, 1867 { "-" , SC_OPCODE_NEG_SUB }, 1868 { "PI" , SC_OPCODE_PI }, 1869 { "RAND" , SC_OPCODE_RANDOM }, 1870 { "TRUE" , SC_OPCODE_TRUE }, 1871 { "FALSE" , SC_OPCODE_FALSE }, 1872 { "TODAY" , SC_OPCODE_GET_ACT_DATE }, 1873 { "NOW" , SC_OPCODE_GET_ACT_TIME }, 1874 { "NA" , SC_OPCODE_NO_VALUE }, 1875 { "CURRENT" , SC_OPCODE_CURRENT }, 1876 { "DEGREES" , SC_OPCODE_DEG }, 1877 { "RADIANS" , SC_OPCODE_RAD }, 1878 { "SIN" , SC_OPCODE_SIN }, 1879 { "COS" , SC_OPCODE_COS }, 1880 { "TAN" , SC_OPCODE_TAN }, 1881 { "COT" , SC_OPCODE_COT }, 1882 { "ASIN" , SC_OPCODE_ARC_SIN }, 1883 { "ACOS" , SC_OPCODE_ARC_COS }, 1884 { "ATAN" , SC_OPCODE_ARC_TAN }, 1885 { "ACOT" , SC_OPCODE_ARC_COT }, 1886 { "SINH" , SC_OPCODE_SIN_HYP }, 1887 { "COSH" , SC_OPCODE_COS_HYP }, 1888 { "TANH" , SC_OPCODE_TAN_HYP }, 1889 { "COTH" , SC_OPCODE_COT_HYP }, 1890 { "ASINH" , SC_OPCODE_ARC_SIN_HYP }, 1891 { "ACOSH" , SC_OPCODE_ARC_COS_HYP }, 1892 { "ATANH" , SC_OPCODE_ARC_TAN_HYP }, 1893 { "ACOTH" , SC_OPCODE_ARC_COT_HYP }, 1894 { "CSC" , SC_OPCODE_COSECANT }, 1895 { "SEC" , SC_OPCODE_SECANT }, 1896 { "CSCH" , SC_OPCODE_COSECANT_HYP }, 1897 { "SECH" , SC_OPCODE_SECANT_HYP }, 1898 { "EXP" , SC_OPCODE_EXP }, 1899 { "LN" , SC_OPCODE_LN }, 1900 { "SQRT" , SC_OPCODE_SQRT }, 1901 { "FACT" , SC_OPCODE_FACT }, 1902 { "YEAR" , SC_OPCODE_GET_YEAR }, 1903 { "MONTH" , SC_OPCODE_GET_MONTH }, 1904 { "DAY" , SC_OPCODE_GET_DAY }, 1905 { "HOUR" , SC_OPCODE_GET_HOUR }, 1906 { "MINUTE" , SC_OPCODE_GET_MIN }, 1907 { "SECOND" , SC_OPCODE_GET_SEC }, 1908 { "SIGN" , SC_OPCODE_PLUS_MINUS }, 1909 { "ABS" , SC_OPCODE_ABS }, 1910 { "INT" , SC_OPCODE_INT }, 1911 { "PHI" , SC_OPCODE_PHI }, 1912 { "GAUSS" , SC_OPCODE_GAUSS }, 1913 { "ISBLANK" , SC_OPCODE_IS_EMPTY }, 1914 { "ISTEXT" , SC_OPCODE_IS_STRING }, 1915 { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING }, 1916 { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL }, 1917 { "TYPE" , SC_OPCODE_TYPE }, 1918 { "CELL" , SC_OPCODE_CELL }, 1919 { "ISREF" , SC_OPCODE_IS_REF }, 1920 { "ISNUMBER" , SC_OPCODE_IS_VALUE }, 1921 { "ISFORMULA" , SC_OPCODE_IS_FORMULA }, 1922 { "ISNA" , SC_OPCODE_IS_NV }, 1923 { "ISERR" , SC_OPCODE_IS_ERR }, 1924 { "ISERROR" , SC_OPCODE_IS_ERROR }, 1925 { "ISEVEN" , SC_OPCODE_IS_EVEN }, 1926 { "ISODD" , SC_OPCODE_IS_ODD }, 1927 { "N" , SC_OPCODE_N }, 1928 { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE }, 1929 { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE }, 1930 { "CODE" , SC_OPCODE_CODE }, 1931 { "TRIM" , SC_OPCODE_TRIM }, 1932 { "UPPER" , SC_OPCODE_UPPER }, 1933 { "PROPER" , SC_OPCODE_PROPER }, 1934 { "LOWER" , SC_OPCODE_LOWER }, 1935 { "LEN" , SC_OPCODE_LEN }, 1936 { "T" , SC_OPCODE_T }, 1937 { "VALUE" , SC_OPCODE_VALUE }, 1938 { "CLEAN" , SC_OPCODE_CLEAN }, 1939 { "CHAR" , SC_OPCODE_CHAR }, 1940 { "JIS" , SC_OPCODE_JIS }, 1941 { "ASC" , SC_OPCODE_ASC }, 1942 { "UNICODE" , SC_OPCODE_UNICODE }, 1943 { "UNICHAR" , SC_OPCODE_UNICHAR }, 1944 { "LOG10" , SC_OPCODE_LOG10 }, 1945 { "EVEN" , SC_OPCODE_EVEN }, 1946 { "ODD" , SC_OPCODE_ODD }, 1947 { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST }, 1948 { "NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS }, 1949 { "FISHER" , SC_OPCODE_FISHER }, 1950 { "FISHERINV" , SC_OPCODE_FISHER_INV }, 1951 { "NORMSINV" , SC_OPCODE_S_NORM_INV }, 1952 { "NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS }, 1953 { "GAMMALN" , SC_OPCODE_GAMMA_LN }, 1954 { "GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS }, 1955 { "ERRORTYPE" , SC_OPCODE_ERROR_TYPE }, 1956 { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF }, 1957 { "FORMULA" , SC_OPCODE_FORMULA }, 1958 { "ATAN2" , SC_OPCODE_ARC_TAN_2 }, 1959 { "CEILING.MATH" , SC_OPCODE_CEIL_MATH }, 1960 { "CEILING" , SC_OPCODE_CEIL }, 1961 { "CEILING.XCL" , SC_OPCODE_CEIL_MS }, 1962 { "CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE }, 1963 { "ISO.CEILING" , SC_OPCODE_CEIL_ISO }, 1964 { "FLOOR" , SC_OPCODE_FLOOR }, 1965 { "FLOOR.XCL" , SC_OPCODE_FLOOR_MS }, 1966 { "FLOOR.MATH" , SC_OPCODE_FLOOR_MATH }, 1967 { "FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE }, 1968 { "ROUND" , SC_OPCODE_ROUND }, 1969 { "ROUNDUP" , SC_OPCODE_ROUND_UP }, 1970 { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN }, 1971 { "TRUNC" , SC_OPCODE_TRUNC }, 1972 { "LOG" , SC_OPCODE_LOG }, 1973 { "POWER" , SC_OPCODE_POWER }, 1974 { "GCD" , SC_OPCODE_GCD }, 1975 { "LCM" , SC_OPCODE_LCM }, 1976 { "MOD" , SC_OPCODE_MOD }, 1977 { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT }, 1978 { "SUMSQ" , SC_OPCODE_SUM_SQ }, 1979 { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 }, 1980 { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 }, 1981 { "SUMXMY2" , SC_OPCODE_SUM_XMY2 }, 1982 { "DATE" , SC_OPCODE_GET_DATE }, 1983 { "TIME" , SC_OPCODE_GET_TIME }, 1984 { "DAYS" , SC_OPCODE_GET_DIFF_DATE }, 1985 { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 }, 1986 { "DATEDIF" , SC_OPCODE_GET_DATEDIF }, 1987 { "MIN" , SC_OPCODE_MIN }, 1988 { "MINA" , SC_OPCODE_MIN_A }, 1989 { "MAX" , SC_OPCODE_MAX }, 1990 { "MAXA" , SC_OPCODE_MAX_A }, 1991 { "SUM" , SC_OPCODE_SUM }, 1992 { "PRODUCT" , SC_OPCODE_PRODUCT }, 1993 { "AVERAGE" , SC_OPCODE_AVERAGE }, 1994 { "AVERAGEA" , SC_OPCODE_AVERAGE_A }, 1995 { "COUNT" , SC_OPCODE_COUNT }, 1996 { "COUNTA" , SC_OPCODE_COUNT_2 }, 1997 { "NPV" , SC_OPCODE_NPV }, 1998 { "IRR" , SC_OPCODE_IRR }, 1999 { "MIRR" , SC_OPCODE_MIRR }, 2000 { "ISPMT" , SC_OPCODE_ISPMT }, 2001 { "VAR" , SC_OPCODE_VAR }, 2002 { "VARA" , SC_OPCODE_VAR_A }, 2003 { "VARP" , SC_OPCODE_VAR_P }, 2004 { "VARPA" , SC_OPCODE_VAR_P_A }, 2005 { "VAR.P" , SC_OPCODE_VAR_P_MS }, 2006 { "VAR.S" , SC_OPCODE_VAR_S }, 2007 { "STDEV" , SC_OPCODE_ST_DEV }, 2008 { "STDEVA" , SC_OPCODE_ST_DEV_A }, 2009 { "STDEVP" , SC_OPCODE_ST_DEV_P }, 2010 { "STDEVPA" , SC_OPCODE_ST_DEV_P_A }, 2011 { "STDEV.P" , SC_OPCODE_ST_DEV_P_MS }, 2012 { "STDEV.S" , SC_OPCODE_ST_DEV_S }, 2013 { "B" , SC_OPCODE_B }, 2014 { "NORMDIST" , SC_OPCODE_NORM_DIST }, 2015 { "NORM.DIST" , SC_OPCODE_NORM_DIST_MS }, 2016 { "EXPONDIST" , SC_OPCODE_EXP_DIST }, 2017 { "EXPON.DIST" , SC_OPCODE_EXP_DIST_MS }, 2018 { "BINOMDIST" , SC_OPCODE_BINOM_DIST }, 2019 { "BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS }, 2020 { "POISSON" , SC_OPCODE_POISSON_DIST }, 2021 { "POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS }, 2022 { "COMBIN" , SC_OPCODE_COMBIN }, 2023 { "COMBINA" , SC_OPCODE_COMBIN_A }, 2024 { "PERMUT" , SC_OPCODE_PERMUT }, 2025 { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A }, 2026 { "PV" , SC_OPCODE_PV }, 2027 { "SYD" , SC_OPCODE_SYD }, 2028 { "DDB" , SC_OPCODE_DDB }, 2029 { "DB" , SC_OPCODE_DB }, 2030 { "VDB" , SC_OPCODE_VBD }, 2031 { "PDURATION" , SC_OPCODE_PDURATION }, 2032 { "SLN" , SC_OPCODE_SLN }, 2033 { "PMT" , SC_OPCODE_PMT }, 2034 { "COLUMNS" , SC_OPCODE_COLUMNS }, 2035 { "ROWS" , SC_OPCODE_ROWS }, 2036 { "SHEETS" , SC_OPCODE_SHEETS }, 2037 { "COLUMN" , SC_OPCODE_COLUMN }, 2038 { "ROW" , SC_OPCODE_ROW }, 2039 { "SHEET" , SC_OPCODE_SHEET }, 2040 { "ZGZ" , SC_OPCODE_RRI }, 2041 { "FV" , SC_OPCODE_FV }, 2042 { "NPER" , SC_OPCODE_NPER }, 2043 { "RATE" , SC_OPCODE_RATE }, 2044 { "IPMT" , SC_OPCODE_IPMT }, 2045 { "PPMT" , SC_OPCODE_PPMT }, 2046 { "CUMIPMT" , SC_OPCODE_CUM_IPMT }, 2047 { "CUMPRINC" , SC_OPCODE_CUM_PRINC }, 2048 { "EFFECTIVE" , SC_OPCODE_EFFECT }, 2049 { "NOMINAL" , SC_OPCODE_NOMINAL }, 2050 { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL }, 2051 { "DSUM" , SC_OPCODE_DB_SUM }, 2052 { "DCOUNT" , SC_OPCODE_DB_COUNT }, 2053 { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 }, 2054 { "DAVERAGE" , SC_OPCODE_DB_AVERAGE }, 2055 { "DGET" , SC_OPCODE_DB_GET }, 2056 { "DMAX" , SC_OPCODE_DB_MAX }, 2057 { "DMIN" , SC_OPCODE_DB_MIN }, 2058 { "DPRODUCT" , SC_OPCODE_DB_PRODUCT }, 2059 { "DSTDEV" , SC_OPCODE_DB_STD_DEV }, 2060 { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P }, 2061 { "DVAR" , SC_OPCODE_DB_VAR }, 2062 { "DVARP" , SC_OPCODE_DB_VAR_P }, 2063 { "INDIRECT" , SC_OPCODE_INDIRECT }, 2064 { "ADDRESS" , SC_OPCODE_ADDRESS }, 2065 { "MATCH" , SC_OPCODE_MATCH }, 2066 { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS }, 2067 { "COUNTIF" , SC_OPCODE_COUNT_IF }, 2068 { "SUMIF" , SC_OPCODE_SUM_IF }, 2069 { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF }, 2070 { "SUMIFS" , SC_OPCODE_SUM_IFS }, 2071 { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS }, 2072 { "COUNTIFS" , SC_OPCODE_COUNT_IFS }, 2073 { "LOOKUP" , SC_OPCODE_LOOKUP }, 2074 { "VLOOKUP" , SC_OPCODE_V_LOOKUP }, 2075 { "HLOOKUP" , SC_OPCODE_H_LOOKUP }, 2076 { "MULTIRANGE" , SC_OPCODE_MULTI_AREA }, 2077 { "OFFSET" , SC_OPCODE_OFFSET }, 2078 { "INDEX" , SC_OPCODE_INDEX }, 2079 { "AREAS" , SC_OPCODE_AREAS }, 2080 { "DOLLAR" , SC_OPCODE_CURRENCY }, 2081 { "REPLACE" , SC_OPCODE_REPLACE }, 2082 { "FIXED" , SC_OPCODE_FIXED }, 2083 { "FIND" , SC_OPCODE_FIND }, 2084 { "EXACT" , SC_OPCODE_EXACT }, 2085 { "LEFT" , SC_OPCODE_LEFT }, 2086 { "RIGHT" , SC_OPCODE_RIGHT }, 2087 { "SEARCH" , SC_OPCODE_SEARCH }, 2088 { "MID" , SC_OPCODE_MID }, 2089 { "LENB" , SC_OPCODE_LENB }, 2090 { "RIGHTB" , SC_OPCODE_RIGHTB }, 2091 { "LEFTB" , SC_OPCODE_LEFTB }, 2092 { "REPLACEB" , SC_OPCODE_REPLACEB }, 2093 { "FINDB" , SC_OPCODE_FINDB }, 2094 { "SEARCHB" , SC_OPCODE_SEARCHB }, 2095 { "MIDB" , SC_OPCODE_MIDB }, 2096 { "TEXT" , SC_OPCODE_TEXT }, 2097 { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE }, 2098 { "REPT" , SC_OPCODE_REPT }, 2099 { "CONCATENATE" , SC_OPCODE_CONCAT }, 2100 { "CONCAT" , SC_OPCODE_CONCAT_MS }, 2101 { "TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS }, 2102 { "IFS" , SC_OPCODE_IFS_MS }, 2103 { "SWITCH" , SC_OPCODE_SWITCH_MS }, 2104 { "MINIFS" , SC_OPCODE_MINIFS_MS }, 2105 { "MAXIFS" , SC_OPCODE_MAXIFS_MS }, 2106 { "MVALUE" , SC_OPCODE_MAT_VALUE }, 2107 { "MDETERM" , SC_OPCODE_MAT_DET }, 2108 { "MINVERSE" , SC_OPCODE_MAT_INV }, 2109 { "MMULT" , SC_OPCODE_MAT_MULT }, 2110 { "TRANSPOSE" , SC_OPCODE_MAT_TRANS }, 2111 { "MUNIT" , SC_OPCODE_MATRIX_UNIT }, 2112 { "GOALSEEK" , SC_OPCODE_BACK_SOLVER }, 2113 { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST }, 2114 { "HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS }, 2115 { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST }, 2116 { "LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS }, 2117 { "TDIST" , SC_OPCODE_T_DIST }, 2118 { "T.DIST.2T" , SC_OPCODE_T_DIST_2T }, 2119 { "T.DIST" , SC_OPCODE_T_DIST_MS }, 2120 { "T.DIST.RT" , SC_OPCODE_T_DIST_RT }, 2121 { "FDIST" , SC_OPCODE_F_DIST }, 2122 { "F.DIST" , SC_OPCODE_F_DIST_LT }, 2123 { "F.DIST.RT" , SC_OPCODE_F_DIST_RT }, 2124 { "CHIDIST" , SC_OPCODE_CHI_DIST }, 2125 { "CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS }, 2126 { "WEIBULL" , SC_OPCODE_WEIBULL }, 2127 { "WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS }, 2128 { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT }, 2129 { "NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS }, 2130 { "CRITBINOM" , SC_OPCODE_CRIT_BINOM }, 2131 { "BINOM.INV" , SC_OPCODE_BINOM_INV }, 2132 { "KURT" , SC_OPCODE_KURT }, 2133 { "HARMEAN" , SC_OPCODE_HAR_MEAN }, 2134 { "GEOMEAN" , SC_OPCODE_GEO_MEAN }, 2135 { "STANDARDIZE" , SC_OPCODE_STANDARD }, 2136 { "AVEDEV" , SC_OPCODE_AVE_DEV }, 2137 { "SKEW" , SC_OPCODE_SKEW }, 2138 { "SKEWP" , SC_OPCODE_SKEWP }, 2139 { "DEVSQ" , SC_OPCODE_DEV_SQ }, 2140 { "MEDIAN" , SC_OPCODE_MEDIAN }, 2141 { "MODE" , SC_OPCODE_MODAL_VALUE }, 2142 { "MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS }, 2143 { "MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI }, 2144 { "ZTEST" , SC_OPCODE_Z_TEST }, 2145 { "Z.TEST" , SC_OPCODE_Z_TEST_MS }, 2146 { "AGGREGATE" , SC_OPCODE_AGGREGATE }, 2147 { "TTEST" , SC_OPCODE_T_TEST }, 2148 { "T.TEST" , SC_OPCODE_T_TEST_MS }, 2149 { "RANK" , SC_OPCODE_RANK }, 2150 { "PERCENTILE" , SC_OPCODE_PERCENTILE }, 2151 { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK }, 2152 { "PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC }, 2153 { "PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC }, 2154 { "QUARTILE.INC" , SC_OPCODE_QUARTILE_INC }, 2155 { "RANK.EQ" , SC_OPCODE_RANK_EQ }, 2156 { "PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC }, 2157 { "PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC }, 2158 { "QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC }, 2159 { "RANK.AVG" , SC_OPCODE_RANK_AVG }, 2160 { "LARGE" , SC_OPCODE_LARGE }, 2161 { "SMALL" , SC_OPCODE_SMALL }, 2162 { "FREQUENCY" , SC_OPCODE_FREQUENCY }, 2163 { "QUARTILE" , SC_OPCODE_QUARTILE }, 2164 { "NORMINV" , SC_OPCODE_NORM_INV }, 2165 { "NORM.INV" , SC_OPCODE_NORM_INV_MS }, 2166 { "CONFIDENCE" , SC_OPCODE_CONFIDENCE }, 2167 { "CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N }, 2168 { "CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T }, 2169 { "FTEST" , SC_OPCODE_F_TEST }, 2170 { "F.TEST" , SC_OPCODE_F_TEST_MS }, 2171 { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN }, 2172 { "PROB" , SC_OPCODE_PROB }, 2173 { "CORREL" , SC_OPCODE_CORREL }, 2174 { "COVAR" , SC_OPCODE_COVAR }, 2175 { "COVARIANCE.P" , SC_OPCODE_COVARIANCE_P }, 2176 { "COVARIANCE.S" , SC_OPCODE_COVARIANCE_S }, 2177 { "PEARSON" , SC_OPCODE_PEARSON }, 2178 { "RSQ" , SC_OPCODE_RSQ }, 2179 { "STEYX" , SC_OPCODE_STEYX }, 2180 { "SLOPE" , SC_OPCODE_SLOPE }, 2181 { "INTERCEPT" , SC_OPCODE_INTERCEPT }, 2182 { "TREND" , SC_OPCODE_TREND }, 2183 { "GROWTH" , SC_OPCODE_GROWTH }, 2184 { "LINEST" , SC_OPCODE_LINEST }, 2185 { "LOGEST" , SC_OPCODE_LOGEST }, 2186 { "FORECAST" , SC_OPCODE_FORECAST }, 2187 { "FORECAST.ETS.ADD" , SC_OPCODE_FORECAST_ETS_ADD }, 2188 { "FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA }, 2189 { "FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL }, 2190 { "FORECAST.ETS.PI.ADD" , SC_OPCODE_FORECAST_ETS_PIA }, 2191 { "FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM }, 2192 { "FORECAST.ETS.STAT.ADD" , SC_OPCODE_FORECAST_ETS_STA }, 2193 { "FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM }, 2194 { "FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN }, 2195 { "CHIINV" , SC_OPCODE_CHI_INV }, 2196 { "CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS }, 2197 { "GAMMADIST" , SC_OPCODE_GAMMA_DIST }, 2198 { "GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS }, 2199 { "GAMMAINV" , SC_OPCODE_GAMMA_INV }, 2200 { "GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS }, 2201 { "TINV" , SC_OPCODE_T_INV }, 2202 { "T.INV.2T" , SC_OPCODE_T_INV_2T }, 2203 { "T.INV" , SC_OPCODE_T_INV_MS }, 2204 { "FINV" , SC_OPCODE_F_INV }, 2205 { "F.INV" , SC_OPCODE_F_INV_LT }, 2206 { "F.INV.RT" , SC_OPCODE_F_INV_RT }, 2207 { "CHITEST" , SC_OPCODE_CHI_TEST }, 2208 { "CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS }, 2209 { "LOGINV" , SC_OPCODE_LOG_INV }, 2210 { "LOGNORM.INV" , SC_OPCODE_LOG_INV_MS }, 2211 { "TABLE" , SC_OPCODE_TABLE_OP }, 2212 { "BETADIST" , SC_OPCODE_BETA_DIST }, 2213 { "BETAINV" , SC_OPCODE_BETA_INV }, 2214 { "BETA.DIST" , SC_OPCODE_BETA_DIST_MS }, 2215 { "BETA.INV" , SC_OPCODE_BETA_INV_MS }, 2216 { "WEEKNUM" , SC_OPCODE_WEEK }, 2217 { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM }, 2218 { "WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO }, 2219 { "EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY }, 2220 { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK }, 2221 { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS }, 2222 { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS }, 2223 { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS }, 2224 { "#NAME!" , SC_OPCODE_NO_NAME }, 2225 { "STYLE" , SC_OPCODE_STYLE }, 2226 { "DDE" , SC_OPCODE_DDE }, 2227 { "BASE" , SC_OPCODE_BASE }, 2228 { "DECIMAL" , SC_OPCODE_DECIMAL }, 2229 { "CONVERT_OOO" , SC_OPCODE_CONVERT_OOO }, 2230 { "ROMAN" , SC_OPCODE_ROMAN }, 2231 { "ARABIC" , SC_OPCODE_ARABIC }, 2232 { "HYPERLINK" , SC_OPCODE_HYPERLINK }, 2233 { "INFO" , SC_OPCODE_INFO }, 2234 { "BAHTTEXT" , SC_OPCODE_BAHTTEXT }, 2235 { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA }, 2236 { "EUROCONVERT" , SC_OPCODE_EUROCONVERT }, 2237 { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE }, 2238 { "GAMMA" , SC_OPCODE_GAMMA }, 2239 { "CHISQDIST" , SC_OPCODE_CHISQ_DIST }, 2240 { "CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS }, 2241 { "CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS }, 2242 { "CHISQINV" , SC_OPCODE_CHISQ_INV }, 2243 { "BITAND" , SC_OPCODE_BITAND }, 2244 { "BITOR" , SC_OPCODE_BITOR }, 2245 { "BITXOR" , SC_OPCODE_BITXOR }, 2246 { "BITRSHIFT" , SC_OPCODE_BITRSHIFT }, 2247 { "BITLSHIFT" , SC_OPCODE_BITLSHIFT }, 2248 { "#NULL!" , SC_OPCODE_ERROR_NULL }, 2249 { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO }, 2250 { "#VALUE!" , SC_OPCODE_ERROR_VALUE }, 2251 { "#REF!" , SC_OPCODE_ERROR_REF }, 2252 { "#NAME?" , SC_OPCODE_ERROR_NAME }, 2253 { "#NUM!" , SC_OPCODE_ERROR_NUM }, 2254 { "#N/A" , SC_OPCODE_ERROR_NA }, 2255 /* END defined ERROR.TYPE() values. */ 2256 { "FILTERXML" , SC_OPCODE_FILTERXML }, 2257 { "WEBSERVICE" , SC_OPCODE_WEBSERVICE }, 2258 { "COLOR" , SC_OPCODE_COLOR }, 2259 { "ERF.PRECISE" , SC_OPCODE_ERF_MS }, 2260 { "ERFC.PRECISE" , SC_OPCODE_ERFC_MS }, 2261 { "ENCODEURL" , SC_OPCODE_ENCODEURL }, 2262 { "RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT }, 2263 { "ROUNDSIG" , SC_OPCODE_ROUNDSIG }, 2264 { "REGEX" , SC_OPCODE_REGEX }, 2265 { "FOURIER", SC_OPCODE_FOURIER }, 2266 { "RAND.NV" , SC_OPCODE_RANDOM_NV }, 2267 { "RANDBETWEEN.NV" , SC_OPCODE_RANDBETWEEN_NV }, 2268 { nullptr, -1 } 2269}; 2270 2271/** Function names that can be localized if [en-US]. Same names should be used 2272 in RID_STRLIST_FUNCTION_NAMES_ENGLISH above. Names can be changed, the 2273 change has to be mentioned in the release notes, i.e. 2274 https://wiki.documentfoundation.org/ReleaseNotes/... 2275 */ 2276const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES[] = 2277{ 2278 { NC_("RID_STRLIST_FUNCTION_NAMES", "IF") , SC_OPCODE_IF }, 2279 { NC_("RID_STRLIST_FUNCTION_NAMES", "IFERROR") , SC_OPCODE_IF_ERROR }, 2280 { NC_("RID_STRLIST_FUNCTION_NAMES", "IFNA") , SC_OPCODE_IF_NA }, 2281 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHOOSE") , SC_OPCODE_CHOOSE }, 2282 /* L10n: preserve the leading '#' hash character in translations. */ 2283 { NC_("RID_STRLIST_FUNCTION_NAMES", "#All") , SC_OPCODE_TABLE_REF_ITEM_ALL }, 2284 /* L10n: preserve the leading '#' hash character in translations. */ 2285 { NC_("RID_STRLIST_FUNCTION_NAMES", "#Headers") , SC_OPCODE_TABLE_REF_ITEM_HEADERS }, 2286 /* L10n: preserve the leading '#' hash character in translations. */ 2287 { NC_("RID_STRLIST_FUNCTION_NAMES", "#Data") , SC_OPCODE_TABLE_REF_ITEM_DATA }, 2288 /* L10n: preserve the leading '#' hash character in translations. */ 2289 { NC_("RID_STRLIST_FUNCTION_NAMES", "#Totals") , SC_OPCODE_TABLE_REF_ITEM_TOTALS }, 2290 /* L10n: preserve the leading '#' hash character in translations. */ 2291 { NC_("RID_STRLIST_FUNCTION_NAMES", "#This Row") , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW }, 2292 { NC_("RID_STRLIST_FUNCTION_NAMES", "AND") , SC_OPCODE_AND }, 2293 { NC_("RID_STRLIST_FUNCTION_NAMES", "OR") , SC_OPCODE_OR }, 2294 { NC_("RID_STRLIST_FUNCTION_NAMES", "XOR") , SC_OPCODE_XOR }, 2295 { NC_("RID_STRLIST_FUNCTION_NAMES", "NOT") , SC_OPCODE_NOT }, 2296 { NC_("RID_STRLIST_FUNCTION_NAMES", "NEG") , SC_OPCODE_NEG }, 2297 { NC_("RID_STRLIST_FUNCTION_NAMES", "PI") , SC_OPCODE_PI }, // ??? 2298 { NC_("RID_STRLIST_FUNCTION_NAMES", "RAND") , SC_OPCODE_RANDOM }, 2299 { NC_("RID_STRLIST_FUNCTION_NAMES", "TRUE") , SC_OPCODE_TRUE }, 2300 { NC_("RID_STRLIST_FUNCTION_NAMES", "FALSE") , SC_OPCODE_FALSE }, 2301 { NC_("RID_STRLIST_FUNCTION_NAMES", "TODAY") , SC_OPCODE_GET_ACT_DATE }, 2302 { NC_("RID_STRLIST_FUNCTION_NAMES", "NOW") , SC_OPCODE_GET_ACT_TIME }, 2303 { NC_("RID_STRLIST_FUNCTION_NAMES", "NA") , SC_OPCODE_NO_VALUE }, 2304 { NC_("RID_STRLIST_FUNCTION_NAMES", "CURRENT") , SC_OPCODE_CURRENT }, 2305 { NC_("RID_STRLIST_FUNCTION_NAMES", "DEGREES") , SC_OPCODE_DEG }, 2306 { NC_("RID_STRLIST_FUNCTION_NAMES", "RADIANS") , SC_OPCODE_RAD }, 2307 { NC_("RID_STRLIST_FUNCTION_NAMES", "SIN") , SC_OPCODE_SIN }, 2308 { NC_("RID_STRLIST_FUNCTION_NAMES", "COS") , SC_OPCODE_COS }, 2309 { NC_("RID_STRLIST_FUNCTION_NAMES", "TAN") , SC_OPCODE_TAN }, 2310 { NC_("RID_STRLIST_FUNCTION_NAMES", "COT") , SC_OPCODE_COT }, 2311 { NC_("RID_STRLIST_FUNCTION_NAMES", "ASIN") , SC_OPCODE_ARC_SIN }, 2312 { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOS") , SC_OPCODE_ARC_COS }, 2313 { NC_("RID_STRLIST_FUNCTION_NAMES", "ATAN") , SC_OPCODE_ARC_TAN }, 2314 { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOT") , SC_OPCODE_ARC_COT }, 2315 { NC_("RID_STRLIST_FUNCTION_NAMES", "SINH") , SC_OPCODE_SIN_HYP }, 2316 { NC_("RID_STRLIST_FUNCTION_NAMES", "COSH") , SC_OPCODE_COS_HYP }, 2317 { NC_("RID_STRLIST_FUNCTION_NAMES", "TANH") , SC_OPCODE_TAN_HYP }, 2318 { NC_("RID_STRLIST_FUNCTION_NAMES", "COTH") , SC_OPCODE_COT_HYP }, 2319 { NC_("RID_STRLIST_FUNCTION_NAMES", "ASINH") , SC_OPCODE_ARC_SIN_HYP }, 2320 { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOSH") , SC_OPCODE_ARC_COS_HYP }, 2321 { NC_("RID_STRLIST_FUNCTION_NAMES", "ATANH") , SC_OPCODE_ARC_TAN_HYP }, 2322 { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOTH") , SC_OPCODE_ARC_COT_HYP }, 2323 { NC_("RID_STRLIST_FUNCTION_NAMES", "CSC") , SC_OPCODE_COSECANT }, 2324 { NC_("RID_STRLIST_FUNCTION_NAMES", "SEC") , SC_OPCODE_SECANT }, 2325 { NC_("RID_STRLIST_FUNCTION_NAMES", "CSCH") , SC_OPCODE_COSECANT_HYP }, 2326 { NC_("RID_STRLIST_FUNCTION_NAMES", "SECH") , SC_OPCODE_SECANT_HYP }, 2327 { NC_("RID_STRLIST_FUNCTION_NAMES", "EXP") , SC_OPCODE_EXP }, 2328 { NC_("RID_STRLIST_FUNCTION_NAMES", "LN") , SC_OPCODE_LN }, 2329 { NC_("RID_STRLIST_FUNCTION_NAMES", "SQRT") , SC_OPCODE_SQRT }, 2330 { NC_("RID_STRLIST_FUNCTION_NAMES", "FACT") , SC_OPCODE_FACT }, 2331 { NC_("RID_STRLIST_FUNCTION_NAMES", "YEAR") , SC_OPCODE_GET_YEAR }, 2332 { NC_("RID_STRLIST_FUNCTION_NAMES", "MONTH") , SC_OPCODE_GET_MONTH }, 2333 { NC_("RID_STRLIST_FUNCTION_NAMES", "DAY") , SC_OPCODE_GET_DAY }, 2334 { NC_("RID_STRLIST_FUNCTION_NAMES", "HOUR") , SC_OPCODE_GET_HOUR }, 2335 { NC_("RID_STRLIST_FUNCTION_NAMES", "MINUTE") , SC_OPCODE_GET_MIN }, 2336 { NC_("RID_STRLIST_FUNCTION_NAMES", "SECOND") , SC_OPCODE_GET_SEC }, 2337 { NC_("RID_STRLIST_FUNCTION_NAMES", "SIGN") , SC_OPCODE_PLUS_MINUS }, 2338 { NC_("RID_STRLIST_FUNCTION_NAMES", "ABS") , SC_OPCODE_ABS }, 2339 { NC_("RID_STRLIST_FUNCTION_NAMES", "INT") , SC_OPCODE_INT }, 2340 { NC_("RID_STRLIST_FUNCTION_NAMES", "PHI") , SC_OPCODE_PHI }, 2341 { NC_("RID_STRLIST_FUNCTION_NAMES", "GAUSS") , SC_OPCODE_GAUSS }, 2342 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISBLANK") , SC_OPCODE_IS_EMPTY }, 2343 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISTEXT") , SC_OPCODE_IS_STRING }, 2344 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISNONTEXT") , SC_OPCODE_IS_NON_STRING }, 2345 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISLOGICAL") , SC_OPCODE_IS_LOGICAL }, 2346 { NC_("RID_STRLIST_FUNCTION_NAMES", "TYPE") , SC_OPCODE_TYPE }, 2347 { NC_("RID_STRLIST_FUNCTION_NAMES", "CELL") , SC_OPCODE_CELL }, 2348 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISREF") , SC_OPCODE_IS_REF }, 2349 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISNUMBER") , SC_OPCODE_IS_VALUE }, 2350 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISFORMULA") , SC_OPCODE_IS_FORMULA }, 2351 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISNA") , SC_OPCODE_IS_NV }, 2352 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISERR") , SC_OPCODE_IS_ERR }, 2353 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISERROR") , SC_OPCODE_IS_ERROR }, 2354 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISEVEN") , SC_OPCODE_IS_EVEN }, 2355 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISODD") , SC_OPCODE_IS_ODD }, 2356 { NC_("RID_STRLIST_FUNCTION_NAMES", "N") , SC_OPCODE_N }, 2357 { NC_("RID_STRLIST_FUNCTION_NAMES", "DATEVALUE") , SC_OPCODE_GET_DATE_VALUE }, 2358 { NC_("RID_STRLIST_FUNCTION_NAMES", "TIMEVALUE") , SC_OPCODE_GET_TIME_VALUE }, 2359 { NC_("RID_STRLIST_FUNCTION_NAMES", "CODE") , SC_OPCODE_CODE }, 2360 { NC_("RID_STRLIST_FUNCTION_NAMES", "TRIM") , SC_OPCODE_TRIM }, 2361 { NC_("RID_STRLIST_FUNCTION_NAMES", "UPPER") , SC_OPCODE_UPPER }, 2362 { NC_("RID_STRLIST_FUNCTION_NAMES", "PROPER") , SC_OPCODE_PROPER }, 2363 { NC_("RID_STRLIST_FUNCTION_NAMES", "LOWER") , SC_OPCODE_LOWER }, 2364 { NC_("RID_STRLIST_FUNCTION_NAMES", "LEN") , SC_OPCODE_LEN }, 2365 { NC_("RID_STRLIST_FUNCTION_NAMES", "T") , SC_OPCODE_T }, 2366 { NC_("RID_STRLIST_FUNCTION_NAMES", "VALUE") , SC_OPCODE_VALUE }, 2367 { NC_("RID_STRLIST_FUNCTION_NAMES", "CLEAN") , SC_OPCODE_CLEAN }, 2368 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHAR") , SC_OPCODE_CHAR }, 2369 { NC_("RID_STRLIST_FUNCTION_NAMES", "JIS") , SC_OPCODE_JIS }, 2370 { NC_("RID_STRLIST_FUNCTION_NAMES", "ASC") , SC_OPCODE_ASC }, 2371 { NC_("RID_STRLIST_FUNCTION_NAMES", "UNICODE") , SC_OPCODE_UNICODE }, 2372 { NC_("RID_STRLIST_FUNCTION_NAMES", "UNICHAR") , SC_OPCODE_UNICHAR }, 2373 { NC_("RID_STRLIST_FUNCTION_NAMES", "LOG10") , SC_OPCODE_LOG10 }, 2374 { NC_("RID_STRLIST_FUNCTION_NAMES", "EVEN") , SC_OPCODE_EVEN }, 2375 { NC_("RID_STRLIST_FUNCTION_NAMES", "ODD") , SC_OPCODE_ODD }, 2376 { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMSDIST") , SC_OPCODE_STD_NORM_DIST }, 2377 { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.S.DIST") , SC_OPCODE_STD_NORM_DIST_MS }, 2378 { NC_("RID_STRLIST_FUNCTION_NAMES", "FISHER") , SC_OPCODE_FISHER }, 2379 { NC_("RID_STRLIST_FUNCTION_NAMES", "FISHERINV") , SC_OPCODE_FISHER_INV }, 2380 { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMSINV") , SC_OPCODE_S_NORM_INV }, 2381 { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.S.INV") , SC_OPCODE_S_NORM_INV_MS }, 2382 { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMALN") , SC_OPCODE_GAMMA_LN }, 2383 { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMALN.PRECISE") , SC_OPCODE_GAMMA_LN_MS }, 2384 { NC_("RID_STRLIST_FUNCTION_NAMES", "ERRORTYPE") , SC_OPCODE_ERROR_TYPE }, 2385 { NC_("RID_STRLIST_FUNCTION_NAMES", "ERROR.TYPE") , SC_OPCODE_ERROR_TYPE_ODF }, 2386 { NC_("RID_STRLIST_FUNCTION_NAMES", "FORMULA") , SC_OPCODE_FORMULA }, 2387 { NC_("RID_STRLIST_FUNCTION_NAMES", "ARABIC") , SC_OPCODE_ARABIC }, 2388 { NC_("RID_STRLIST_FUNCTION_NAMES", "ATAN2") , SC_OPCODE_ARC_TAN_2 }, 2389 { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING.MATH") , SC_OPCODE_CEIL_MATH }, 2390 { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING") , SC_OPCODE_CEIL }, 2391 { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING.XCL") , SC_OPCODE_CEIL_MS }, 2392 { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING.PRECISE") , SC_OPCODE_CEIL_PRECISE }, 2393 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISO.CEILING") , SC_OPCODE_CEIL_ISO }, 2394 { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR") , SC_OPCODE_FLOOR }, 2395 { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR.XCL") , SC_OPCODE_FLOOR_MS }, 2396 { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR.MATH") , SC_OPCODE_FLOOR_MATH }, 2397 { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR.PRECISE") , SC_OPCODE_FLOOR_PRECISE }, 2398 { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUND") , SC_OPCODE_ROUND }, 2399 { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUNDUP") , SC_OPCODE_ROUND_UP }, 2400 { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUNDDOWN") , SC_OPCODE_ROUND_DOWN }, 2401 { NC_("RID_STRLIST_FUNCTION_NAMES", "TRUNC") , SC_OPCODE_TRUNC }, 2402 { NC_("RID_STRLIST_FUNCTION_NAMES", "LOG") , SC_OPCODE_LOG }, 2403 { NC_("RID_STRLIST_FUNCTION_NAMES", "POWER") , SC_OPCODE_POWER }, 2404 { NC_("RID_STRLIST_FUNCTION_NAMES", "GCD") , SC_OPCODE_GCD }, 2405 { NC_("RID_STRLIST_FUNCTION_NAMES", "LCM") , SC_OPCODE_LCM }, 2406 { NC_("RID_STRLIST_FUNCTION_NAMES", "MOD") , SC_OPCODE_MOD }, 2407 { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMPRODUCT") , SC_OPCODE_SUM_PRODUCT }, 2408 { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMSQ") , SC_OPCODE_SUM_SQ }, 2409 { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMX2MY2") , SC_OPCODE_SUM_X2MY2 }, 2410 { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMX2PY2") , SC_OPCODE_SUM_X2DY2 }, 2411 { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMXMY2") , SC_OPCODE_SUM_XMY2 }, 2412 { NC_("RID_STRLIST_FUNCTION_NAMES", "DATE") , SC_OPCODE_GET_DATE }, 2413 { NC_("RID_STRLIST_FUNCTION_NAMES", "TIME") , SC_OPCODE_GET_TIME }, 2414 { NC_("RID_STRLIST_FUNCTION_NAMES", "DAYS") , SC_OPCODE_GET_DIFF_DATE }, 2415 { NC_("RID_STRLIST_FUNCTION_NAMES", "DAYS360") , SC_OPCODE_GET_DIFF_DATE_360 }, 2416 { NC_("RID_STRLIST_FUNCTION_NAMES", "DATEDIF") , SC_OPCODE_GET_DATEDIF }, 2417 { NC_("RID_STRLIST_FUNCTION_NAMES", "MIN") , SC_OPCODE_MIN }, 2418 { NC_("RID_STRLIST_FUNCTION_NAMES", "MINA") , SC_OPCODE_MIN_A }, 2419 { NC_("RID_STRLIST_FUNCTION_NAMES", "MAX") , SC_OPCODE_MAX }, 2420 { NC_("RID_STRLIST_FUNCTION_NAMES", "MAXA") , SC_OPCODE_MAX_A }, 2421 { NC_("RID_STRLIST_FUNCTION_NAMES", "SUM") , SC_OPCODE_SUM }, 2422 { NC_("RID_STRLIST_FUNCTION_NAMES", "PRODUCT") , SC_OPCODE_PRODUCT }, 2423 { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGE") , SC_OPCODE_AVERAGE }, 2424 { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGEA") , SC_OPCODE_AVERAGE_A }, 2425 { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNT") , SC_OPCODE_COUNT }, 2426 { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTA") , SC_OPCODE_COUNT_2 }, 2427 { NC_("RID_STRLIST_FUNCTION_NAMES", "NPV") , SC_OPCODE_NPV }, 2428 { NC_("RID_STRLIST_FUNCTION_NAMES", "IRR") , SC_OPCODE_IRR }, 2429 { NC_("RID_STRLIST_FUNCTION_NAMES", "MIRR") , SC_OPCODE_MIRR }, 2430 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISPMT") , SC_OPCODE_ISPMT }, 2431 { NC_("RID_STRLIST_FUNCTION_NAMES", "VAR") , SC_OPCODE_VAR }, 2432 { NC_("RID_STRLIST_FUNCTION_NAMES", "VARA") , SC_OPCODE_VAR_A }, 2433 { NC_("RID_STRLIST_FUNCTION_NAMES", "VARP") , SC_OPCODE_VAR_P }, 2434 { NC_("RID_STRLIST_FUNCTION_NAMES", "VARPA") , SC_OPCODE_VAR_P_A }, 2435 { NC_("RID_STRLIST_FUNCTION_NAMES", "VAR.P") , SC_OPCODE_VAR_P_MS }, 2436 { NC_("RID_STRLIST_FUNCTION_NAMES", "VAR.S") , SC_OPCODE_VAR_S }, 2437 { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEV") , SC_OPCODE_ST_DEV }, 2438 { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEVA") , SC_OPCODE_ST_DEV_A }, 2439 { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEVP") , SC_OPCODE_ST_DEV_P }, 2440 { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEVPA") , SC_OPCODE_ST_DEV_P_A }, 2441 { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEV.P") , SC_OPCODE_ST_DEV_P_MS }, 2442 { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEV.S") , SC_OPCODE_ST_DEV_S }, 2443 { NC_("RID_STRLIST_FUNCTION_NAMES", "B") , SC_OPCODE_B }, 2444 { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMDIST") , SC_OPCODE_NORM_DIST }, 2445 { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.DIST") , SC_OPCODE_NORM_DIST_MS }, 2446 { NC_("RID_STRLIST_FUNCTION_NAMES", "EXPONDIST") , SC_OPCODE_EXP_DIST }, 2447 { NC_("RID_STRLIST_FUNCTION_NAMES", "EXPON.DIST") , SC_OPCODE_EXP_DIST_MS }, 2448 { NC_("RID_STRLIST_FUNCTION_NAMES", "BINOMDIST") , SC_OPCODE_BINOM_DIST }, 2449 { NC_("RID_STRLIST_FUNCTION_NAMES", "BINOM.DIST") , SC_OPCODE_BINOM_DIST_MS }, 2450 { NC_("RID_STRLIST_FUNCTION_NAMES", "POISSON") , SC_OPCODE_POISSON_DIST }, 2451 { NC_("RID_STRLIST_FUNCTION_NAMES", "POISSON.DIST") , SC_OPCODE_POISSON_DIST_MS }, 2452 { NC_("RID_STRLIST_FUNCTION_NAMES", "COMBIN") , SC_OPCODE_COMBIN }, 2453 { NC_("RID_STRLIST_FUNCTION_NAMES", "COMBINA") , SC_OPCODE_COMBIN_A }, 2454 { NC_("RID_STRLIST_FUNCTION_NAMES", "PERMUT") , SC_OPCODE_PERMUT }, 2455 { NC_("RID_STRLIST_FUNCTION_NAMES", "PERMUTATIONA") , SC_OPCODE_PERMUTATION_A }, 2456 { NC_("RID_STRLIST_FUNCTION_NAMES", "PV") , SC_OPCODE_PV }, 2457 { NC_("RID_STRLIST_FUNCTION_NAMES", "SYD") , SC_OPCODE_SYD }, 2458 { NC_("RID_STRLIST_FUNCTION_NAMES", "DDB") , SC_OPCODE_DDB }, 2459 { NC_("RID_STRLIST_FUNCTION_NAMES", "DB") , SC_OPCODE_DB }, 2460 { NC_("RID_STRLIST_FUNCTION_NAMES", "VDB") , SC_OPCODE_VBD }, 2461 { NC_("RID_STRLIST_FUNCTION_NAMES", "PDURATION") , SC_OPCODE_PDURATION }, 2462 { NC_("RID_STRLIST_FUNCTION_NAMES", "SLN") , SC_OPCODE_SLN }, 2463 { NC_("RID_STRLIST_FUNCTION_NAMES", "PMT") , SC_OPCODE_PMT }, 2464 { NC_("RID_STRLIST_FUNCTION_NAMES", "COLUMNS") , SC_OPCODE_COLUMNS }, 2465 { NC_("RID_STRLIST_FUNCTION_NAMES", "ROWS") , SC_OPCODE_ROWS }, 2466 { NC_("RID_STRLIST_FUNCTION_NAMES", "SHEETS") , SC_OPCODE_SHEETS }, 2467 { NC_("RID_STRLIST_FUNCTION_NAMES", "COLUMN") , SC_OPCODE_COLUMN }, 2468 { NC_("RID_STRLIST_FUNCTION_NAMES", "ROW") , SC_OPCODE_ROW }, 2469 { NC_("RID_STRLIST_FUNCTION_NAMES", "SHEET") , SC_OPCODE_SHEET }, 2470 { NC_("RID_STRLIST_FUNCTION_NAMES", "RRI") , SC_OPCODE_RRI }, 2471 { NC_("RID_STRLIST_FUNCTION_NAMES", "FV") , SC_OPCODE_FV }, 2472 { NC_("RID_STRLIST_FUNCTION_NAMES", "NPER") , SC_OPCODE_NPER }, 2473 { NC_("RID_STRLIST_FUNCTION_NAMES", "RATE") , SC_OPCODE_RATE }, 2474 { NC_("RID_STRLIST_FUNCTION_NAMES", "IPMT") , SC_OPCODE_IPMT }, 2475 { NC_("RID_STRLIST_FUNCTION_NAMES", "PPMT") , SC_OPCODE_PPMT }, 2476 { NC_("RID_STRLIST_FUNCTION_NAMES", "CUMIPMT") , SC_OPCODE_CUM_IPMT }, 2477 { NC_("RID_STRLIST_FUNCTION_NAMES", "CUMPRINC") , SC_OPCODE_CUM_PRINC }, 2478 { NC_("RID_STRLIST_FUNCTION_NAMES", "EFFECT") , SC_OPCODE_EFFECT }, 2479 { NC_("RID_STRLIST_FUNCTION_NAMES", "NOMINAL") , SC_OPCODE_NOMINAL }, 2480 { NC_("RID_STRLIST_FUNCTION_NAMES", "SUBTOTAL") , SC_OPCODE_SUB_TOTAL }, 2481 { NC_("RID_STRLIST_FUNCTION_NAMES", "DSUM") , SC_OPCODE_DB_SUM }, 2482 { NC_("RID_STRLIST_FUNCTION_NAMES", "DCOUNT") , SC_OPCODE_DB_COUNT }, 2483 { NC_("RID_STRLIST_FUNCTION_NAMES", "DCOUNTA") , SC_OPCODE_DB_COUNT_2 }, 2484 { NC_("RID_STRLIST_FUNCTION_NAMES", "DAVERAGE") , SC_OPCODE_DB_AVERAGE }, 2485 { NC_("RID_STRLIST_FUNCTION_NAMES", "DGET") , SC_OPCODE_DB_GET }, 2486 { NC_("RID_STRLIST_FUNCTION_NAMES", "DMAX") , SC_OPCODE_DB_MAX }, 2487 { NC_("RID_STRLIST_FUNCTION_NAMES", "DMIN") , SC_OPCODE_DB_MIN }, 2488 { NC_("RID_STRLIST_FUNCTION_NAMES", "DPRODUCT") , SC_OPCODE_DB_PRODUCT }, 2489 { NC_("RID_STRLIST_FUNCTION_NAMES", "DSTDEV") , SC_OPCODE_DB_STD_DEV }, 2490 { NC_("RID_STRLIST_FUNCTION_NAMES", "DSTDEVP") , SC_OPCODE_DB_STD_DEV_P }, 2491 { NC_("RID_STRLIST_FUNCTION_NAMES", "DVAR") , SC_OPCODE_DB_VAR }, 2492 { NC_("RID_STRLIST_FUNCTION_NAMES", "DVARP") , SC_OPCODE_DB_VAR_P }, 2493 { NC_("RID_STRLIST_FUNCTION_NAMES", "INDIRECT") , SC_OPCODE_INDIRECT }, 2494 { NC_("RID_STRLIST_FUNCTION_NAMES", "ADDRESS") , SC_OPCODE_ADDRESS }, 2495 { NC_("RID_STRLIST_FUNCTION_NAMES", "MATCH") , SC_OPCODE_MATCH }, 2496 { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTBLANK") , SC_OPCODE_COUNT_EMPTY_CELLS }, 2497 { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTIF") , SC_OPCODE_COUNT_IF }, 2498 { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMIF") , SC_OPCODE_SUM_IF }, 2499 { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGEIF") , SC_OPCODE_AVERAGE_IF }, 2500 { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMIFS") , SC_OPCODE_SUM_IFS }, 2501 { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGEIFS") , SC_OPCODE_AVERAGE_IFS }, 2502 { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTIFS") , SC_OPCODE_COUNT_IFS }, 2503 { NC_("RID_STRLIST_FUNCTION_NAMES", "LOOKUP") , SC_OPCODE_LOOKUP }, 2504 { NC_("RID_STRLIST_FUNCTION_NAMES", "VLOOKUP") , SC_OPCODE_V_LOOKUP }, 2505 { NC_("RID_STRLIST_FUNCTION_NAMES", "HLOOKUP") , SC_OPCODE_H_LOOKUP }, 2506 { NC_("RID_STRLIST_FUNCTION_NAMES", "MULTIRANGE") , SC_OPCODE_MULTI_AREA }, // legacy for range list (union) 2507 { NC_("RID_STRLIST_FUNCTION_NAMES", "OFFSET") , SC_OPCODE_OFFSET }, 2508 { NC_("RID_STRLIST_FUNCTION_NAMES", "INDEX") , SC_OPCODE_INDEX }, // ?? first character = I ?? 2509 { NC_("RID_STRLIST_FUNCTION_NAMES", "AREAS") , SC_OPCODE_AREAS }, 2510 { NC_("RID_STRLIST_FUNCTION_NAMES", "DOLLAR") , SC_OPCODE_CURRENCY }, 2511 { NC_("RID_STRLIST_FUNCTION_NAMES", "REPLACE") , SC_OPCODE_REPLACE }, 2512 { NC_("RID_STRLIST_FUNCTION_NAMES", "FIXED") , SC_OPCODE_FIXED }, 2513 { NC_("RID_STRLIST_FUNCTION_NAMES", "FIND") , SC_OPCODE_FIND }, 2514 { NC_("RID_STRLIST_FUNCTION_NAMES", "EXACT") , SC_OPCODE_EXACT }, 2515 { NC_("RID_STRLIST_FUNCTION_NAMES", "LEFT") , SC_OPCODE_LEFT }, 2516 { NC_("RID_STRLIST_FUNCTION_NAMES", "RIGHT") , SC_OPCODE_RIGHT }, 2517 { NC_("RID_STRLIST_FUNCTION_NAMES", "SEARCH") , SC_OPCODE_SEARCH }, 2518 { NC_("RID_STRLIST_FUNCTION_NAMES", "MID") , SC_OPCODE_MID }, 2519 { NC_("RID_STRLIST_FUNCTION_NAMES", "LENB") , SC_OPCODE_LENB }, 2520 { NC_("RID_STRLIST_FUNCTION_NAMES", "RIGHTB") , SC_OPCODE_RIGHTB }, 2521 { NC_("RID_STRLIST_FUNCTION_NAMES", "LEFTB") , SC_OPCODE_LEFTB }, 2522 { NC_("RID_STRLIST_FUNCTION_NAMES", "REPLACEB") , SC_OPCODE_REPLACEB }, 2523 { NC_("RID_STRLIST_FUNCTION_NAMES", "MIDB") , SC_OPCODE_MIDB }, 2524 { NC_("RID_STRLIST_FUNCTION_NAMES", "TEXT") , SC_OPCODE_TEXT }, 2525 { NC_("RID_STRLIST_FUNCTION_NAMES", "SUBSTITUTE") , SC_OPCODE_SUBSTITUTE }, 2526 { NC_("RID_STRLIST_FUNCTION_NAMES", "REPT") , SC_OPCODE_REPT }, 2527 { NC_("RID_STRLIST_FUNCTION_NAMES", "CONCATENATE") , SC_OPCODE_CONCAT }, 2528 { NC_("RID_STRLIST_FUNCTION_NAMES", "CONCAT") , SC_OPCODE_CONCAT_MS }, 2529 { NC_("RID_STRLIST_FUNCTION_NAMES", "TEXTJOIN") , SC_OPCODE_TEXTJOIN_MS }, 2530 { NC_("RID_STRLIST_FUNCTION_NAMES", "IFS") , SC_OPCODE_IFS_MS }, 2531 { NC_("RID_STRLIST_FUNCTION_NAMES", "SWITCH") , SC_OPCODE_SWITCH_MS }, 2532 { NC_("RID_STRLIST_FUNCTION_NAMES", "MINIFS") , SC_OPCODE_MINIFS_MS }, 2533 { NC_("RID_STRLIST_FUNCTION_NAMES", "MAXIFS") , SC_OPCODE_MAXIFS_MS }, 2534 { NC_("RID_STRLIST_FUNCTION_NAMES", "MVALUE") , SC_OPCODE_MAT_VALUE }, 2535 { NC_("RID_STRLIST_FUNCTION_NAMES", "MDETERM") , SC_OPCODE_MAT_DET }, 2536 { NC_("RID_STRLIST_FUNCTION_NAMES", "MINVERSE") , SC_OPCODE_MAT_INV }, 2537 { NC_("RID_STRLIST_FUNCTION_NAMES", "MMULT") , SC_OPCODE_MAT_MULT }, 2538 { NC_("RID_STRLIST_FUNCTION_NAMES", "TRANSPOSE") , SC_OPCODE_MAT_TRANS }, 2539 { NC_("RID_STRLIST_FUNCTION_NAMES", "MUNIT") , SC_OPCODE_MATRIX_UNIT }, 2540 { NC_("RID_STRLIST_FUNCTION_NAMES", "GOALSEEK") , SC_OPCODE_BACK_SOLVER }, 2541 { NC_("RID_STRLIST_FUNCTION_NAMES", "HYPGEOMDIST") , SC_OPCODE_HYP_GEOM_DIST }, 2542 { NC_("RID_STRLIST_FUNCTION_NAMES", "HYPGEOM.DIST") , SC_OPCODE_HYP_GEOM_DIST_MS }, 2543 { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGNORMDIST") , SC_OPCODE_LOG_NORM_DIST }, 2544 { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGNORM.DIST") , SC_OPCODE_LOG_NORM_DIST_MS }, 2545 { NC_("RID_STRLIST_FUNCTION_NAMES", "TDIST") , SC_OPCODE_T_DIST }, 2546 { NC_("RID_STRLIST_FUNCTION_NAMES", "T.DIST.2T") , SC_OPCODE_T_DIST_2T }, 2547 { NC_("RID_STRLIST_FUNCTION_NAMES", "T.DIST") , SC_OPCODE_T_DIST_MS }, 2548 { NC_("RID_STRLIST_FUNCTION_NAMES", "T.DIST.RT") , SC_OPCODE_T_DIST_RT }, 2549 { NC_("RID_STRLIST_FUNCTION_NAMES", "FDIST") , SC_OPCODE_F_DIST }, 2550 { NC_("RID_STRLIST_FUNCTION_NAMES", "F.DIST") , SC_OPCODE_F_DIST_LT }, 2551 { NC_("RID_STRLIST_FUNCTION_NAMES", "F.DIST.RT") , SC_OPCODE_F_DIST_RT }, 2552 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHIDIST") , SC_OPCODE_CHI_DIST }, 2553 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.DIST.RT") , SC_OPCODE_CHI_DIST_MS }, 2554 { NC_("RID_STRLIST_FUNCTION_NAMES", "WEIBULL") , SC_OPCODE_WEIBULL }, 2555 { NC_("RID_STRLIST_FUNCTION_NAMES", "WEIBULL.DIST") , SC_OPCODE_WEIBULL_MS }, 2556 { NC_("RID_STRLIST_FUNCTION_NAMES", "NEGBINOMDIST") , SC_OPCODE_NEG_BINOM_VERT }, 2557 { NC_("RID_STRLIST_FUNCTION_NAMES", "NEGBINOM.DIST") , SC_OPCODE_NEG_BINOM_DIST_MS }, 2558 { NC_("RID_STRLIST_FUNCTION_NAMES", "CRITBINOM") , SC_OPCODE_CRIT_BINOM }, 2559 { NC_("RID_STRLIST_FUNCTION_NAMES", "BINOM.INV") , SC_OPCODE_BINOM_INV }, 2560 { NC_("RID_STRLIST_FUNCTION_NAMES", "KURT") , SC_OPCODE_KURT }, 2561 { NC_("RID_STRLIST_FUNCTION_NAMES", "HARMEAN") , SC_OPCODE_HAR_MEAN }, 2562 { NC_("RID_STRLIST_FUNCTION_NAMES", "GEOMEAN") , SC_OPCODE_GEO_MEAN }, 2563 { NC_("RID_STRLIST_FUNCTION_NAMES", "STANDARDIZE") , SC_OPCODE_STANDARD }, 2564 { NC_("RID_STRLIST_FUNCTION_NAMES", "AVEDEV") , SC_OPCODE_AVE_DEV }, 2565 { NC_("RID_STRLIST_FUNCTION_NAMES", "SKEW") , SC_OPCODE_SKEW }, 2566 { NC_("RID_STRLIST_FUNCTION_NAMES", "SKEWP") , SC_OPCODE_SKEWP }, 2567 { NC_("RID_STRLIST_FUNCTION_NAMES", "DEVSQ") , SC_OPCODE_DEV_SQ }, 2568 { NC_("RID_STRLIST_FUNCTION_NAMES", "MEDIAN") , SC_OPCODE_MEDIAN }, 2569 { NC_("RID_STRLIST_FUNCTION_NAMES", "MODE") , SC_OPCODE_MODAL_VALUE }, 2570 { NC_("RID_STRLIST_FUNCTION_NAMES", "MODE.SNGL") , SC_OPCODE_MODAL_VALUE_MS }, 2571 { NC_("RID_STRLIST_FUNCTION_NAMES", "MODE.MULT") , SC_OPCODE_MODAL_VALUE_MULTI }, 2572 { NC_("RID_STRLIST_FUNCTION_NAMES", "ZTEST") , SC_OPCODE_Z_TEST }, 2573 { NC_("RID_STRLIST_FUNCTION_NAMES", "Z.TEST") , SC_OPCODE_Z_TEST_MS }, 2574 { NC_("RID_STRLIST_FUNCTION_NAMES", "AGGREGATE") , SC_OPCODE_AGGREGATE }, 2575 { NC_("RID_STRLIST_FUNCTION_NAMES", "TTEST") , SC_OPCODE_T_TEST }, 2576 { NC_("RID_STRLIST_FUNCTION_NAMES", "T.TEST") , SC_OPCODE_T_TEST_MS }, 2577 { NC_("RID_STRLIST_FUNCTION_NAMES", "RANK") , SC_OPCODE_RANK }, 2578 { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTILE") , SC_OPCODE_PERCENTILE }, 2579 { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTRANK") , SC_OPCODE_PERCENT_RANK }, 2580 { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTILE.INC") , SC_OPCODE_PERCENTILE_INC }, 2581 { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTRANK.INC") , SC_OPCODE_PERCENT_RANK_INC }, 2582 { NC_("RID_STRLIST_FUNCTION_NAMES", "QUARTILE.INC") , SC_OPCODE_QUARTILE_INC }, 2583 { NC_("RID_STRLIST_FUNCTION_NAMES", "RANK.EQ") , SC_OPCODE_RANK_EQ }, 2584 { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTILE.EXC") , SC_OPCODE_PERCENTILE_EXC }, 2585 { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTRANK.EXC") , SC_OPCODE_PERCENT_RANK_EXC }, 2586 { NC_("RID_STRLIST_FUNCTION_NAMES", "QUARTILE.EXC") , SC_OPCODE_QUARTILE_EXC }, 2587 { NC_("RID_STRLIST_FUNCTION_NAMES", "RANK.AVG") , SC_OPCODE_RANK_AVG }, 2588 { NC_("RID_STRLIST_FUNCTION_NAMES", "LARGE") , SC_OPCODE_LARGE }, 2589 { NC_("RID_STRLIST_FUNCTION_NAMES", "SMALL") , SC_OPCODE_SMALL }, 2590 { NC_("RID_STRLIST_FUNCTION_NAMES", "FREQUENCY") , SC_OPCODE_FREQUENCY }, 2591 { NC_("RID_STRLIST_FUNCTION_NAMES", "QUARTILE") , SC_OPCODE_QUARTILE }, 2592 { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMINV") , SC_OPCODE_NORM_INV }, 2593 { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.INV") , SC_OPCODE_NORM_INV_MS }, 2594 { NC_("RID_STRLIST_FUNCTION_NAMES", "CONFIDENCE") , SC_OPCODE_CONFIDENCE }, 2595 { NC_("RID_STRLIST_FUNCTION_NAMES", "CONFIDENCE.NORM") , SC_OPCODE_CONFIDENCE_N }, 2596 { NC_("RID_STRLIST_FUNCTION_NAMES", "CONFIDENCE.T") , SC_OPCODE_CONFIDENCE_T }, 2597 { NC_("RID_STRLIST_FUNCTION_NAMES", "FTEST") , SC_OPCODE_F_TEST }, 2598 { NC_("RID_STRLIST_FUNCTION_NAMES", "F.TEST") , SC_OPCODE_F_TEST_MS }, 2599 { NC_("RID_STRLIST_FUNCTION_NAMES", "TRIMMEAN") , SC_OPCODE_TRIM_MEAN }, 2600 { NC_("RID_STRLIST_FUNCTION_NAMES", "PROB") , SC_OPCODE_PROB }, 2601 { NC_("RID_STRLIST_FUNCTION_NAMES", "CORREL") , SC_OPCODE_CORREL }, 2602 { NC_("RID_STRLIST_FUNCTION_NAMES", "COVAR") , SC_OPCODE_COVAR }, 2603 { NC_("RID_STRLIST_FUNCTION_NAMES", "COVARIANCE.P") , SC_OPCODE_COVARIANCE_P }, 2604 { NC_("RID_STRLIST_FUNCTION_NAMES", "COVARIANCE.S") , SC_OPCODE_COVARIANCE_S }, 2605 { NC_("RID_STRLIST_FUNCTION_NAMES", "PEARSON") , SC_OPCODE_PEARSON }, 2606 { NC_("RID_STRLIST_FUNCTION_NAMES", "RSQ") , SC_OPCODE_RSQ }, 2607 { NC_("RID_STRLIST_FUNCTION_NAMES", "STEYX") , SC_OPCODE_STEYX }, 2608 { NC_("RID_STRLIST_FUNCTION_NAMES", "SLOPE") , SC_OPCODE_SLOPE }, 2609 { NC_("RID_STRLIST_FUNCTION_NAMES", "INTERCEPT") , SC_OPCODE_INTERCEPT }, 2610 { NC_("RID_STRLIST_FUNCTION_NAMES", "TREND") , SC_OPCODE_TREND }, 2611 { NC_("RID_STRLIST_FUNCTION_NAMES", "GROWTH") , SC_OPCODE_GROWTH }, 2612 { NC_("RID_STRLIST_FUNCTION_NAMES", "LINEST") , SC_OPCODE_LINEST }, 2613 { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGEST") , SC_OPCODE_LOGEST }, 2614 { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST") , SC_OPCODE_FORECAST }, 2615 { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.ADD") , SC_OPCODE_FORECAST_ETS_ADD }, 2616 { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.SEASONALITY") , SC_OPCODE_FORECAST_ETS_SEA }, 2617 { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.MULT") , SC_OPCODE_FORECAST_ETS_MUL }, 2618 { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.PI.ADD") , SC_OPCODE_FORECAST_ETS_PIA }, 2619 { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.PI.MULT") , SC_OPCODE_FORECAST_ETS_PIM }, 2620 { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.STAT.ADD") , SC_OPCODE_FORECAST_ETS_STA }, 2621 { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.STAT.MULT") , SC_OPCODE_FORECAST_ETS_STM }, 2622 { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.LINEAR") , SC_OPCODE_FORECAST_LIN }, 2623 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHIINV") , SC_OPCODE_CHI_INV }, 2624 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.INV.RT") , SC_OPCODE_CHI_INV_MS }, 2625 { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMADIST") , SC_OPCODE_GAMMA_DIST }, 2626 { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMA.DIST") , SC_OPCODE_GAMMA_DIST_MS }, 2627 { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMAINV") , SC_OPCODE_GAMMA_INV }, 2628 { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMA.INV") , SC_OPCODE_GAMMA_INV_MS }, 2629 { NC_("RID_STRLIST_FUNCTION_NAMES", "TINV") , SC_OPCODE_T_INV }, 2630 { NC_("RID_STRLIST_FUNCTION_NAMES", "T.INV.2T") , SC_OPCODE_T_INV_2T }, 2631 { NC_("RID_STRLIST_FUNCTION_NAMES", "T.INV") , SC_OPCODE_T_INV_MS }, 2632 { NC_("RID_STRLIST_FUNCTION_NAMES", "FINV") , SC_OPCODE_F_INV }, 2633 { NC_("RID_STRLIST_FUNCTION_NAMES", "F.INV") , SC_OPCODE_F_INV_LT }, 2634 { NC_("RID_STRLIST_FUNCTION_NAMES", "F.INV.RT") , SC_OPCODE_F_INV_RT }, 2635 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHITEST") , SC_OPCODE_CHI_TEST }, 2636 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.TEST") , SC_OPCODE_CHI_TEST_MS }, 2637 { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGINV") , SC_OPCODE_LOG_INV }, 2638 { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGNORM.INV") , SC_OPCODE_LOG_INV_MS }, 2639 { NC_("RID_STRLIST_FUNCTION_NAMES", "MULTIPLE.OPERATIONS") , SC_OPCODE_TABLE_OP }, 2640 { NC_("RID_STRLIST_FUNCTION_NAMES", "BETADIST") , SC_OPCODE_BETA_DIST }, 2641 { NC_("RID_STRLIST_FUNCTION_NAMES", "BETAINV") , SC_OPCODE_BETA_INV }, 2642 { NC_("RID_STRLIST_FUNCTION_NAMES", "BETA.DIST") , SC_OPCODE_BETA_DIST_MS }, 2643 { NC_("RID_STRLIST_FUNCTION_NAMES", "BETA.INV") , SC_OPCODE_BETA_INV_MS }, 2644 { NC_("RID_STRLIST_FUNCTION_NAMES", "WEEKNUM") , SC_OPCODE_WEEK }, 2645 { NC_("RID_STRLIST_FUNCTION_NAMES", "ISOWEEKNUM") , SC_OPCODE_ISOWEEKNUM }, 2646 { NC_("RID_STRLIST_FUNCTION_NAMES", "WEEKNUM_OOO") , SC_OPCODE_WEEKNUM_OOO }, 2647 { NC_("RID_STRLIST_FUNCTION_NAMES", "EASTERSUNDAY") , SC_OPCODE_EASTERSUNDAY }, 2648 { NC_("RID_STRLIST_FUNCTION_NAMES", "WEEKDAY") , SC_OPCODE_GET_DAY_OF_WEEK }, 2649 { NC_("RID_STRLIST_FUNCTION_NAMES", "NETWORKDAYS") , SC_OPCODE_NETWORKDAYS }, 2650 { NC_("RID_STRLIST_FUNCTION_NAMES", "NETWORKDAYS.INTL") , SC_OPCODE_NETWORKDAYS_MS }, 2651 { NC_("RID_STRLIST_FUNCTION_NAMES", "WORKDAY.INTL") , SC_OPCODE_WORKDAY_MS }, 2652 /* L10n: preserve the leading '#' hash character in translations. */ 2653 { NC_("RID_STRLIST_FUNCTION_NAMES", "#NAME!") , SC_OPCODE_NO_NAME }, 2654 { NC_("RID_STRLIST_FUNCTION_NAMES", "STYLE") , SC_OPCODE_STYLE }, 2655 { NC_("RID_STRLIST_FUNCTION_NAMES", "DDE") , SC_OPCODE_DDE }, 2656 { NC_("RID_STRLIST_FUNCTION_NAMES", "BASE") , SC_OPCODE_BASE }, 2657 { NC_("RID_STRLIST_FUNCTION_NAMES", "DECIMAL") , SC_OPCODE_DECIMAL }, 2658 { NC_("RID_STRLIST_FUNCTION_NAMES", "CONVERT_OOO") , SC_OPCODE_CONVERT_OOO }, 2659 { NC_("RID_STRLIST_FUNCTION_NAMES", "ROMAN") , SC_OPCODE_ROMAN }, 2660 { NC_("RID_STRLIST_FUNCTION_NAMES", "HYPERLINK") , SC_OPCODE_HYPERLINK }, 2661 { NC_("RID_STRLIST_FUNCTION_NAMES", "INFO") , SC_OPCODE_INFO }, 2662 { NC_("RID_STRLIST_FUNCTION_NAMES", "BAHTTEXT") , SC_OPCODE_BAHTTEXT }, 2663 { NC_("RID_STRLIST_FUNCTION_NAMES", "GETPIVOTDATA") , SC_OPCODE_GET_PIVOT_DATA }, 2664 { NC_("RID_STRLIST_FUNCTION_NAMES", "EUROCONVERT") , SC_OPCODE_EUROCONVERT }, 2665 { NC_("RID_STRLIST_FUNCTION_NAMES", "NUMBERVALUE") , SC_OPCODE_NUMBERVALUE }, 2666 { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMA") , SC_OPCODE_GAMMA }, 2667 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQDIST") , SC_OPCODE_CHISQ_DIST }, 2668 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.DIST") , SC_OPCODE_CHISQ_DIST_MS }, 2669 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQINV") , SC_OPCODE_CHISQ_INV }, 2670 { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.INV") , SC_OPCODE_CHISQ_INV_MS }, 2671 { NC_("RID_STRLIST_FUNCTION_NAMES", "BITAND") , SC_OPCODE_BITAND }, 2672 { NC_("RID_STRLIST_FUNCTION_NAMES", "BITOR") , SC_OPCODE_BITOR }, 2673 { NC_("RID_STRLIST_FUNCTION_NAMES", "BITXOR") , SC_OPCODE_BITXOR }, 2674 { NC_("RID_STRLIST_FUNCTION_NAMES", "BITRSHIFT") , SC_OPCODE_BITRSHIFT }, 2675 { NC_("RID_STRLIST_FUNCTION_NAMES", "BITLSHIFT") , SC_OPCODE_BITLSHIFT }, 2676 /* BEGIN defined ERROR.TYPE() values. */ 2677 /* ERROR.TYPE( #NULL! ) == 1 */ 2678 /* L10n: preserve the leading '#' hash character in translations. */ 2679 { NC_("RID_STRLIST_FUNCTION_NAMES", "#NULL!") , SC_OPCODE_ERROR_NULL }, 2680 /* ERROR.TYPE( #DIV/0! ) == 2 */ 2681 /* L10n: preserve the leading '#' hash character in translations. */ 2682 { NC_("RID_STRLIST_FUNCTION_NAMES", "#DIV/0!") , SC_OPCODE_ERROR_DIVZERO }, 2683 /* ERROR.TYPE( #VALUE! ) == 3 */ 2684 /* L10n: preserve the leading '#' hash character in translations. */ 2685 { NC_("RID_STRLIST_FUNCTION_NAMES", "#VALUE!") , SC_OPCODE_ERROR_VALUE }, 2686 /* ERROR.TYPE( #REF! ) == 4 */ 2687 /* L10n: preserve the leading '#' hash character in translations. */ 2688 { NC_("RID_STRLIST_FUNCTION_NAMES", "#REF!") , SC_OPCODE_ERROR_REF }, 2689 /* ERROR.TYPE( #NAME! ) == 5 */ 2690 /* L10n: preserve the leading '#' hash character in translations. */ 2691 { NC_("RID_STRLIST_FUNCTION_NAMES", "#NAME?") , SC_OPCODE_ERROR_NAME }, 2692 /* ERROR.TYPE( #NUM! ) == 6 */ 2693 /* L10n: preserve the leading '#' hash character in translations. */ 2694 { NC_("RID_STRLIST_FUNCTION_NAMES", "#NUM!") , SC_OPCODE_ERROR_NUM }, 2695 /* ERROR.TYPE( #N/A ) == 7 */ 2696 /* L10n: preserve the leading '#' hash character in translations. */ 2697 { NC_("RID_STRLIST_FUNCTION_NAMES", "#N/A") , SC_OPCODE_ERROR_NA }, 2698 /* END defined ERROR.TYPE() values. */ 2699 2700 { NC_("RID_STRLIST_FUNCTION_NAMES", "FILTERXML") , SC_OPCODE_FILTERXML }, 2701 { NC_("RID_STRLIST_FUNCTION_NAMES", "COLOR") , SC_OPCODE_COLOR }, 2702 { NC_("RID_STRLIST_FUNCTION_NAMES", "WEBSERVICE") , SC_OPCODE_WEBSERVICE }, 2703 { NC_("RID_STRLIST_FUNCTION_NAMES", "ERF.PRECISE") , SC_OPCODE_ERF_MS }, 2704 { NC_("RID_STRLIST_FUNCTION_NAMES", "ERFC.PRECISE") , SC_OPCODE_ERFC_MS }, 2705 { NC_("RID_STRLIST_FUNCTION_NAMES", "ENCODEURL") , SC_OPCODE_ENCODEURL }, 2706 { NC_("RID_STRLIST_FUNCTION_NAMES", "RAWSUBTRACT") , SC_OPCODE_RAWSUBTRACT }, 2707 { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUNDSIG") , SC_OPCODE_ROUNDSIG }, 2708 { NC_("RID_STRLIST_FUNCTION_NAMES", "FINDB") , SC_OPCODE_FINDB }, 2709 { NC_("RID_STRLIST_FUNCTION_NAMES", "SEARCHB") , SC_OPCODE_SEARCHB }, 2710 { NC_("RID_STRLIST_FUNCTION_NAMES", "REGEX") , SC_OPCODE_REGEX }, 2711 { NC_("RID_STRLIST_FUNCTION_NAMES", "FOURIER"), SC_OPCODE_FOURIER }, 2712 { NC_("RID_STRLIST_FUNCTION_NAMES", "RAND.NV"), SC_OPCODE_RANDOM_NV }, 2713 { NC_("RID_STRLIST_FUNCTION_NAMES", "RANDBETWEEN.NV"), SC_OPCODE_RANDBETWEEN_NV }, 2714 2715 { nullptr, -1 } 2716}; 2717 2718const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_SYMBOLS[] = 2719{ 2720 { "(" , SC_OPCODE_OPEN }, 2721 { ")" , SC_OPCODE_CLOSE }, 2722 { "[" , SC_OPCODE_TABLE_REF_OPEN }, 2723 { "]" , SC_OPCODE_TABLE_REF_CLOSE }, 2724 { "{" , SC_OPCODE_ARRAY_OPEN }, 2725 { "}" , SC_OPCODE_ARRAY_CLOSE }, 2726 { "|" , SC_OPCODE_ARRAY_ROW_SEP }, 2727 { ";" , SC_OPCODE_ARRAY_COL_SEP }, 2728 { ";" , SC_OPCODE_SEP }, 2729 { "%" , SC_OPCODE_PERCENT_SIGN }, 2730 { "+" , SC_OPCODE_ADD }, 2731 { "-" , SC_OPCODE_SUB }, 2732 { "*" , SC_OPCODE_MUL }, 2733 { "/" , SC_OPCODE_DIV }, 2734 { "&" , SC_OPCODE_AMPERSAND }, 2735 { "^" , SC_OPCODE_POW }, 2736 { "=" , SC_OPCODE_EQUAL }, 2737 { "<>" , SC_OPCODE_NOT_EQUAL }, 2738 { "<" , SC_OPCODE_LESS }, 2739 { ">" , SC_OPCODE_GREATER }, 2740 { "<=" , SC_OPCODE_LESS_EQUAL }, 2741 { ">=" , SC_OPCODE_GREATER_EQUAL }, 2742 { "!" , SC_OPCODE_INTERSECT }, 2743 { "~" , SC_OPCODE_UNION }, 2744 { ":" , SC_OPCODE_RANGE }, 2745 { "-" , SC_OPCODE_NEG_SUB }, 2746 { nullptr, -1 } 2747}; 2748 2749#endif 2750 2751/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 2752
