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