summaryrefslogtreecommitdiff
path: root/formula
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-06-11 20:56:30 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-07-21 08:20:50 +0100
commit00657aef09d854c74fb426a935a3e8b1fc390bb0 (patch)
treefd1a9bb264fe15dcc129498e62060ecd256b1ee7 /formula
parentfa987cbb813cfd729fe490f2f1258b7c8d7fb174 (diff)
migrate to boost::gettext
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis com.sun.star.resource.StringResourceWithLocation can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
Diffstat (limited to 'formula')
-rw-r--r--formula/AllLangMoTarget_for.mk13
-rw-r--r--formula/AllLangResTarget_for.mk29
-rw-r--r--formula/AllLangResTarget_forui.mk31
-rw-r--r--formula/Library_for.mk4
-rw-r--r--formula/Module_formula.mk5
-rw-r--r--formula/inc/core_resource.hrc2702
-rw-r--r--formula/inc/strings.hrc (renamed from formula/source/ui/dlg/formdlgs.src)33
-rw-r--r--formula/source/core/api/FormulaCompiler.cxx39
-rw-r--r--formula/source/core/inc/core_resource.hrc39
-rw-r--r--formula/source/core/inc/core_resource.hxx6
-rw-r--r--formula/source/core/resource/core_resource.cxx13
-rw-r--r--formula/source/core/resource/core_resource.src2708
-rw-r--r--formula/source/ui/dlg/formdlgs.hrc6
-rw-r--r--formula/source/ui/dlg/formula.cxx2
-rw-r--r--formula/source/ui/dlg/funcpage.cxx2
-rw-r--r--formula/source/ui/dlg/funcutl.cxx6
-rw-r--r--formula/source/ui/dlg/parawin.cxx2
-rw-r--r--formula/source/ui/dlg/parawin.src32
-rw-r--r--formula/source/ui/dlg/structpg.cxx2
-rw-r--r--formula/source/ui/inc/ForResId.hrc52
-rw-r--r--formula/source/ui/inc/ModuleHelper.hxx16
-rw-r--r--formula/source/ui/resource/ModuleHelper.cxx25
-rw-r--r--formula/uiconfig/ui/formuladialog.ui20
-rw-r--r--formula/uiconfig/ui/functionpage.ui10
-rw-r--r--formula/uiconfig/ui/parameter.ui10
-rw-r--r--formula/uiconfig/ui/structpage.ui2
26 files changed, 2804 insertions, 3005 deletions
diff --git a/formula/AllLangMoTarget_for.mk b/formula/AllLangMoTarget_for.mk
new file mode 100644
index 000000000000..6d674ac11314
--- /dev/null
+++ b/formula/AllLangMoTarget_for.mk
@@ -0,0 +1,13 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+$(eval $(call gb_AllLangMoTarget_AllLangMoTarget,for))
+
+$(eval $(call gb_AllLangMoTarget_set_polocation,for,formula))
+
+# vim: set noet sw=4 ts=4:
diff --git a/formula/AllLangResTarget_for.mk b/formula/AllLangResTarget_for.mk
deleted file mode 100644
index 8f7821b46815..000000000000
--- a/formula/AllLangResTarget_for.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_AllLangResTarget_AllLangResTarget,for))
-
-$(eval $(call gb_AllLangResTarget_set_reslocation,for,formula))
-
-$(eval $(call gb_AllLangResTarget_add_srs,for,\
- formula/res \
-))
-
-$(eval $(call gb_SrsTarget_SrsTarget,formula/res))
-
-$(eval $(call gb_SrsTarget_set_include,formula/res,\
- $$(INCLUDE) \
- -I$(SRCDIR)/formula/source/core/inc \
-))
-
-$(eval $(call gb_SrsTarget_add_files,formula/res,\
- formula/source/core/resource/core_resource.src \
-))
-
-# vim: set noet sw=4 ts=4:
diff --git a/formula/AllLangResTarget_forui.mk b/formula/AllLangResTarget_forui.mk
deleted file mode 100644
index ba4b106b0142..000000000000
--- a/formula/AllLangResTarget_forui.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_AllLangResTarget_AllLangResTarget,forui))
-
-$(eval $(call gb_AllLangResTarget_set_reslocation,forui,formula))
-
-$(eval $(call gb_AllLangResTarget_add_srs,forui,\
- formula/ui \
-))
-
-$(eval $(call gb_SrsTarget_SrsTarget,formula/ui))
-
-$(eval $(call gb_SrsTarget_set_include,formula/ui,\
- $$(INCLUDE) \
- -I$(SRCDIR)/formula/inc \
- -I$(SRCDIR)/formula/source/ui/inc \
-))
-
-$(eval $(call gb_SrsTarget_add_files,formula/ui,\
- formula/source/ui/dlg/formdlgs.src \
- formula/source/ui/dlg/parawin.src \
-))
-
-# vim: set noet sw=4 ts=4:
diff --git a/formula/Library_for.mk b/formula/Library_for.mk
index dcac26d4a12b..297a6dc2ca3a 100644
--- a/formula/Library_for.mk
+++ b/formula/Library_for.mk
@@ -11,6 +11,7 @@ $(eval $(call gb_Library_Library,for))
$(eval $(call gb_Library_set_include,for,\
$$(INCLUDE) \
+ -I$(SRCDIR)/formula/inc \
-I$(SRCDIR)/formula/source/core/inc \
))
@@ -47,7 +48,4 @@ $(eval $(call gb_Library_add_exception_objects,for,\
formula/source/core/resource/core_resource \
))
-# Runtime dependency for unit-tests
-$(eval $(call gb_Library_use_restarget,for,for))
-
# vim: set noet sw=4 ts=4:
diff --git a/formula/Module_formula.mk b/formula/Module_formula.mk
index 8b39e98aad9f..eac8702bf5ff 100644
--- a/formula/Module_formula.mk
+++ b/formula/Module_formula.mk
@@ -12,12 +12,11 @@ $(eval $(call gb_Module_Module,formula))
$(eval $(call gb_Module_add_targets,formula,\
Library_for \
Library_forui \
+ UIConfig_formula \
))
$(eval $(call gb_Module_add_l10n_targets,formula,\
- AllLangResTarget_for \
- AllLangResTarget_forui \
- UIConfig_formula \
+ AllLangMoTarget_for \
))
# screenshots
diff --git a/formula/inc/core_resource.hrc b/formula/inc/core_resource.hrc
new file mode 100644
index 000000000000..57aa4644e30b
--- /dev/null
+++ b/formula/inc/core_resource.hrc
@@ -0,0 +1,2702 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_FORMULA_INC_CORE_RESOURCE_HRC
+#define INCLUDED_FORMULA_INC_CORE_RESOURCE_HRC
+
+#include "formula/compiler.hrc"
+#include <utility>
+
+#define NC_(Context, String) (Context "\004" u8##String)
+
+/** These English names are used to store/load ODFF as of ODF v1.2. */
+// NAMES CAN ONLY BE CHANGED WHEN PROVIDING BACKWARD AND FORWARD COMPATIBILITY
+// such that at least two releases can already read the new name to be
+// introduced by a later release.
+// If there is a reason for another name for some function then add an
+// *additional* name to be recognized to sc/source/core/tool/compiler.cxx
+// ScCompiler::IsOpCode() in the if (mxSymbols->isODFF()) block.
+const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF[] =
+{
+ { "IF" , SC_OPCODE_IF },
+ { "IFERROR" , SC_OPCODE_IF_ERROR },
+ { "IFNA" , SC_OPCODE_IF_NA },
+ { "CHOOSE" , SC_OPCODE_CHOOSE },
+ { "(" , SC_OPCODE_OPEN },
+ { ")" , SC_OPCODE_CLOSE },
+ // SC_OPCODE_TABLE_REF_... not supported in ODFF
+ { "{" , SC_OPCODE_ARRAY_OPEN },
+ { "}" , SC_OPCODE_ARRAY_CLOSE },
+ { "|" , SC_OPCODE_ARRAY_ROW_SEP },
+ { ";" , SC_OPCODE_ARRAY_COL_SEP },
+ { ";" , SC_OPCODE_SEP },
+ { "%" , SC_OPCODE_PERCENT_SIGN },
+ { "+" , SC_OPCODE_ADD },
+ { "-" , SC_OPCODE_SUB },
+ { "*" , SC_OPCODE_MUL },
+ { "/" , SC_OPCODE_DIV },
+ { "&" , SC_OPCODE_AMPERSAND },
+ { "^" , SC_OPCODE_POW },
+ { "=" , SC_OPCODE_EQUAL },
+ { "<>" , SC_OPCODE_NOT_EQUAL },
+ { "<" , SC_OPCODE_LESS },
+ { ">" , SC_OPCODE_GREATER },
+ { "<=" , SC_OPCODE_LESS_EQUAL },
+ { ">=" , SC_OPCODE_GREATER_EQUAL },
+ { "AND" , SC_OPCODE_AND },
+ { "OR" , SC_OPCODE_OR },
+ { "XOR" , SC_OPCODE_XOR },
+ { "!" , SC_OPCODE_INTERSECT },
+ { "~" , SC_OPCODE_UNION },
+ { ":" , SC_OPCODE_RANGE },
+ { "NOT" , SC_OPCODE_NOT },
+ { "NEG" , SC_OPCODE_NEG },
+ { "-" , SC_OPCODE_NEG_SUB },
+ { "PI" , SC_OPCODE_PI },
+ { "RAND" , SC_OPCODE_RANDOM },
+ { "TRUE" , SC_OPCODE_TRUE },
+ { "FALSE" , SC_OPCODE_FALSE },
+ { "TODAY" , SC_OPCODE_GET_ACT_DATE },
+ { "NOW" , SC_OPCODE_GET_ACT_TIME },
+ { "NA" , SC_OPCODE_NO_VALUE },
+ { "ORG.OPENOFFICE.CURRENT" , SC_OPCODE_CURRENT },
+ { "DEGREES" , SC_OPCODE_DEG },
+ { "RADIANS" , SC_OPCODE_RAD },
+ { "SIN" , SC_OPCODE_SIN },
+ { "COS" , SC_OPCODE_COS },
+ { "TAN" , SC_OPCODE_TAN },
+ { "COT" , SC_OPCODE_COT },
+ { "ASIN" , SC_OPCODE_ARC_SIN },
+ { "ACOS" , SC_OPCODE_ARC_COS },
+ { "ATAN" , SC_OPCODE_ARC_TAN },
+ { "ACOT" , SC_OPCODE_ARC_COT },
+ { "SINH" , SC_OPCODE_SIN_HYP },
+ { "COSH" , SC_OPCODE_COS_HYP },
+ { "TANH" , SC_OPCODE_TAN_HYP },
+ { "COTH" , SC_OPCODE_COT_HYP },
+ { "ASINH" , SC_OPCODE_ARC_SIN_HYP },
+ { "ACOSH" , SC_OPCODE_ARC_COS_HYP },
+ { "ATANH" , SC_OPCODE_ARC_TAN_HYP },
+ { "ACOTH" , SC_OPCODE_ARC_COT_HYP },
+ { "CSC" , SC_OPCODE_COSECANT },
+ { "SEC" , SC_OPCODE_SECANT },
+ { "CSCH" , SC_OPCODE_COSECANT_HYP },
+ { "SECH" , SC_OPCODE_SECANT_HYP },
+ { "EXP" , SC_OPCODE_EXP },
+ { "LN" , SC_OPCODE_LN },
+ { "SQRT" , SC_OPCODE_SQRT },
+ { "FACT" , SC_OPCODE_FACT },
+ { "YEAR" , SC_OPCODE_GET_YEAR },
+ { "MONTH" , SC_OPCODE_GET_MONTH },
+ { "DAY" , SC_OPCODE_GET_DAY },
+ { "HOUR" , SC_OPCODE_GET_HOUR },
+ { "MINUTE" , SC_OPCODE_GET_MIN },
+ { "SECOND" , SC_OPCODE_GET_SEC },
+ { "SIGN" , SC_OPCODE_PLUS_MINUS },
+ { "ABS" , SC_OPCODE_ABS },
+ { "INT" , SC_OPCODE_INT },
+ { "PHI" , SC_OPCODE_PHI },
+ { "GAUSS" , SC_OPCODE_GAUSS },
+ { "ISBLANK" , SC_OPCODE_IS_EMPTY },
+ { "ISTEXT" , SC_OPCODE_IS_STRING },
+ { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING },
+ { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL },
+ { "TYPE" , SC_OPCODE_TYPE },
+ { "CELL" , SC_OPCODE_CELL },
+ { "ISREF" , SC_OPCODE_IS_REF },
+ { "ISNUMBER" , SC_OPCODE_IS_VALUE },
+ { "ISFORMULA" , SC_OPCODE_IS_FORMULA },
+ { "ISNA" , SC_OPCODE_IS_NV },
+ { "ISERR" , SC_OPCODE_IS_ERR },
+ { "ISERROR" , SC_OPCODE_IS_ERROR },
+ { "ISEVEN" , SC_OPCODE_IS_EVEN },
+ { "ISODD" , SC_OPCODE_IS_ODD },
+ { "N" , SC_OPCODE_N },
+ { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE },
+ { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE },
+ { "CODE" , SC_OPCODE_CODE },
+ { "TRIM" , SC_OPCODE_TRIM },
+ { "UPPER" , SC_OPCODE_UPPER },
+ { "PROPER" , SC_OPCODE_PROPER },
+ { "LOWER" , SC_OPCODE_LOWER },
+ { "LEN" , SC_OPCODE_LEN },
+ { "T" , SC_OPCODE_T },
+ { "VALUE" , SC_OPCODE_VALUE },
+ { "CLEAN" , SC_OPCODE_CLEAN },
+ { "CHAR" , SC_OPCODE_CHAR },
+ { "JIS" , SC_OPCODE_JIS },
+ { "ASC" , SC_OPCODE_ASC },
+ { "UNICODE" , SC_OPCODE_UNICODE },
+ { "UNICHAR" , SC_OPCODE_UNICHAR },
+ { "LOG10" , SC_OPCODE_LOG10 },
+ { "EVEN" , SC_OPCODE_EVEN },
+ { "ODD" , SC_OPCODE_ODD },
+ { "LEGACY.NORMSDIST" , SC_OPCODE_STD_NORM_DIST },
+ { "COM.MICROSOFT.NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS },
+ { "FISHER" , SC_OPCODE_FISHER },
+ { "FISHERINV" , SC_OPCODE_FISHER_INV },
+ { "LEGACY.NORMSINV" , SC_OPCODE_S_NORM_INV },
+ { "COM.MICROSOFT.NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS },
+ { "GAMMALN" , SC_OPCODE_GAMMA_LN },
+ { "COM.MICROSOFT.GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS },
+ { "ORG.OPENOFFICE.ERRORTYPE" , SC_OPCODE_ERROR_TYPE },
+ { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF },
+ { "FORMULA" , SC_OPCODE_FORMULA },
+ { "ATAN2" , SC_OPCODE_ARC_TAN_2 },
+ { "COM.MICROSOFT.CEILING.MATH" , SC_OPCODE_CEIL_MATH },
+ { "CEILING" , SC_OPCODE_CEIL },
+ { "COM.MICROSOFT.CEILING" , SC_OPCODE_CEIL_MS },
+ { "COM.MICROSOFT.CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE },
+ { "COM.MICROSOFT.ISO.CEILING" , SC_OPCODE_CEIL_ISO },
+ { "FLOOR" , SC_OPCODE_FLOOR },
+ { "COM.MICROSOFT.FLOOR" , SC_OPCODE_FLOOR_MS },
+ { "COM.MICROSOFT.FLOOR.MATH" , SC_OPCODE_FLOOR_MATH },
+ { "COM.MICROSOFT.FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE },
+ { "ROUND" , SC_OPCODE_ROUND },
+ { "ROUNDUP" , SC_OPCODE_ROUND_UP },
+ { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN },
+ { "TRUNC" , SC_OPCODE_TRUNC },
+ { "LOG" , SC_OPCODE_LOG },
+ { "POWER" , SC_OPCODE_POWER },
+ { "GCD" , SC_OPCODE_GCD },
+ { "LCM" , SC_OPCODE_LCM },
+ { "MOD" , SC_OPCODE_MOD },
+ { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT },
+ { "SUMSQ" , SC_OPCODE_SUM_SQ },
+ { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 },
+ { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 },
+ { "SUMXMY2" , SC_OPCODE_SUM_XMY2 },
+ { "DATE" , SC_OPCODE_GET_DATE },
+ { "TIME" , SC_OPCODE_GET_TIME },
+ { "DAYS" , SC_OPCODE_GET_DIFF_DATE },
+ { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 },
+ { "DATEDIF" , SC_OPCODE_GET_DATEDIF },
+ { "MIN" , SC_OPCODE_MIN },
+ { "MINA" , SC_OPCODE_MIN_A },
+ { "MAX" , SC_OPCODE_MAX },
+ { "MAXA" , SC_OPCODE_MAX_A },
+ { "SUM" , SC_OPCODE_SUM },
+ { "PRODUCT" , SC_OPCODE_PRODUCT },
+ { "AVERAGE" , SC_OPCODE_AVERAGE },
+ { "AVERAGEA" , SC_OPCODE_AVERAGE_A },
+ { "COUNT" , SC_OPCODE_COUNT },
+ { "COUNTA" , SC_OPCODE_COUNT_2 },
+ { "NPV" , SC_OPCODE_NPV },
+ { "IRR" , SC_OPCODE_IRR },
+ { "MIRR" , SC_OPCODE_MIRR },
+ { "ISPMT" , SC_OPCODE_ISPMT },
+ { "VAR" , SC_OPCODE_VAR },
+ { "VARA" , SC_OPCODE_VAR_A },
+ { "VARP" , SC_OPCODE_VAR_P },
+ { "VARPA" , SC_OPCODE_VAR_P_A },
+ { "COM.MICROSOFT.VAR.P" , SC_OPCODE_VAR_P_MS },
+ { "COM.MICROSOFT.VAR.S" , SC_OPCODE_VAR_S },
+ { "STDEV" , SC_OPCODE_ST_DEV },
+ { "STDEVA" , SC_OPCODE_ST_DEV_A },
+ { "STDEVP" , SC_OPCODE_ST_DEV_P },
+ { "STDEVPA" , SC_OPCODE_ST_DEV_P_A },
+ { "COM.MICROSOFT.STDEV.P" , SC_OPCODE_ST_DEV_P_MS },
+ { "COM.MICROSOFT.STDEV.S" , SC_OPCODE_ST_DEV_S },
+ { "BINOM.DIST.RANGE" , SC_OPCODE_B },
+ { "NORMDIST" , SC_OPCODE_NORM_DIST },
+ { "COM.MICROSOFT.NORM.DIST" , SC_OPCODE_NORM_DIST_MS },
+ { "EXPONDIST" , SC_OPCODE_EXP_DIST },
+ { "COM.MICROSOFT.EXPON.DIST" , SC_OPCODE_EXP_DIST_MS },
+ { "BINOMDIST" , SC_OPCODE_BINOM_DIST },
+ { "COM.MICROSOFT.BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS },
+ { "POISSON" , SC_OPCODE_POISSON_DIST },
+ { "COM.MICROSOFT.POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS },
+ { "COMBIN" , SC_OPCODE_COMBIN },
+ { "COMBINA" , SC_OPCODE_COMBIN_A },
+ { "PERMUT" , SC_OPCODE_PERMUT },
+ { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A },
+ { "PV" , SC_OPCODE_PV },
+ { "SYD" , SC_OPCODE_SYD },
+ { "DDB" , SC_OPCODE_DDB },
+ { "DB" , SC_OPCODE_DB },
+ { "VDB" , SC_OPCODE_VBD },
+ { "PDURATION" , SC_OPCODE_PDURATION },
+ { "SLN" , SC_OPCODE_SLN },
+ { "PMT" , SC_OPCODE_PMT },
+ { "COLUMNS" , SC_OPCODE_COLUMNS },
+ { "ROWS" , SC_OPCODE_ROWS },
+ { "SHEETS" , SC_OPCODE_SHEETS },
+ { "COLUMN" , SC_OPCODE_COLUMN },
+ { "ROW" , SC_OPCODE_ROW },
+ { "SHEET" , SC_OPCODE_SHEET },
+ { "RRI" , SC_OPCODE_RRI },
+ { "FV" , SC_OPCODE_FV },
+ { "NPER" , SC_OPCODE_NPER },
+ { "RATE" , SC_OPCODE_RATE },
+ { "IPMT" , SC_OPCODE_IPMT },
+ { "PPMT" , SC_OPCODE_PPMT },
+ { "CUMIPMT" , SC_OPCODE_CUM_IPMT },
+ { "CUMPRINC" , SC_OPCODE_CUM_PRINC },
+ { "EFFECT" , SC_OPCODE_EFFECT },
+ { "NOMINAL" , SC_OPCODE_NOMINAL },
+ { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL },
+ { "DSUM" , SC_OPCODE_DB_SUM },
+ { "DCOUNT" , SC_OPCODE_DB_COUNT },
+ { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 },
+ { "DAVERAGE" , SC_OPCODE_DB_AVERAGE },
+ { "DGET" , SC_OPCODE_DB_GET },
+ { "DMAX" , SC_OPCODE_DB_MAX },
+ { "DMIN" , SC_OPCODE_DB_MIN },
+ { "DPRODUCT" , SC_OPCODE_DB_PRODUCT },
+ { "DSTDEV" , SC_OPCODE_DB_STD_DEV },
+ { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P },
+ { "DVAR" , SC_OPCODE_DB_VAR },
+ { "DVARP" , SC_OPCODE_DB_VAR_P },
+ { "INDIRECT" , SC_OPCODE_INDIRECT },
+ { "ADDRESS" , SC_OPCODE_ADDRESS },
+ { "MATCH" , SC_OPCODE_MATCH },
+ { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS },
+ { "COUNTIF" , SC_OPCODE_COUNT_IF },
+ { "SUMIF" , SC_OPCODE_SUM_IF },
+ { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF },
+ { "SUMIFS" , SC_OPCODE_SUM_IFS },
+ { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS },
+ { "COUNTIFS" , SC_OPCODE_COUNT_IFS },
+ { "LOOKUP" , SC_OPCODE_LOOKUP },
+ { "VLOOKUP" , SC_OPCODE_V_LOOKUP },
+ { "HLOOKUP" , SC_OPCODE_H_LOOKUP },
+ { "ORG.OPENOFFICE.MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union)
+ { "OFFSET" , SC_OPCODE_OFFSET },
+ { "INDEX" , SC_OPCODE_INDEX },
+ { "AREAS" , SC_OPCODE_AREAS },
+ { "DOLLAR" , SC_OPCODE_CURRENCY },
+ { "REPLACE" , SC_OPCODE_REPLACE },
+ { "FIXED" , SC_OPCODE_FIXED },
+ { "FIND" , SC_OPCODE_FIND },
+ { "EXACT" , SC_OPCODE_EXACT },
+ { "LEFT" , SC_OPCODE_LEFT },
+ { "RIGHT" , SC_OPCODE_RIGHT },
+ { "SEARCH" , SC_OPCODE_SEARCH },
+ { "MID" , SC_OPCODE_MID },
+ { "LENB" , SC_OPCODE_LENB },
+ { "RIGHTB" , SC_OPCODE_RIGHTB },
+ { "LEFTB" , SC_OPCODE_LEFTB },
+ { "REPLACEB" , SC_OPCODE_REPLACEB },
+ { "MIDB" , SC_OPCODE_MIDB },
+ { "TEXT" , SC_OPCODE_TEXT },
+ { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE },
+ { "REPT" , SC_OPCODE_REPT },
+ { "CONCATENATE" , SC_OPCODE_CONCAT },
+ { "COM.MICROSOFT.CONCAT" , SC_OPCODE_CONCAT_MS },
+ { "COM.MICROSOFT.TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS },
+ { "COM.MICROSOFT.IFS" , SC_OPCODE_IFS_MS },
+ { "COM.MICROSOFT.SWITCH" , SC_OPCODE_SWITCH_MS },
+ { "COM.MICROSOFT.MINIFS" , SC_OPCODE_MINIFS_MS },
+ { "COM.MICROSOFT.MAXIFS" , SC_OPCODE_MAXIFS_MS },
+ { "MVALUE" , SC_OPCODE_MAT_VALUE },
+ { "MDETERM" , SC_OPCODE_MAT_DET },
+ { "MINVERSE" , SC_OPCODE_MAT_INV },
+ { "MMULT" , SC_OPCODE_MAT_MULT },
+ { "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
+ { "MUNIT" , SC_OPCODE_MATRIX_UNIT },
+ { "ORG.OPENOFFICE.GOALSEEK" , SC_OPCODE_BACK_SOLVER },
+ { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST },
+ { "COM.MICROSOFT.HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS },
+ { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST },
+ { "COM.MICROSOFT.LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS },
+ { "LEGACY.TDIST" , SC_OPCODE_T_DIST },
+ { "COM.MICROSOFT.T.DIST.2T" , SC_OPCODE_T_DIST_2T },
+ { "COM.MICROSOFT.T.DIST" , SC_OPCODE_T_DIST_MS },
+ { "COM.MICROSOFT.T.DIST.RT" , SC_OPCODE_T_DIST_RT },
+ { "LEGACY.FDIST" , SC_OPCODE_F_DIST },
+ { "FDIST" , SC_OPCODE_F_DIST_LT },
+ { "COM.MICROSOFT.F.DIST.RT" , SC_OPCODE_F_DIST_RT },
+ { "LEGACY.CHIDIST" , SC_OPCODE_CHI_DIST },
+ { "COM.MICROSOFT.CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS },
+ { "WEIBULL" , SC_OPCODE_WEIBULL },
+ { "COM.MICROSOFT.WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS },
+ { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT },
+ { "COM.MICROSOFT.NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS },
+ { "CRITBINOM" , SC_OPCODE_CRIT_BINOM },
+ { "COM.MICROSOFT.BINOM.INV" , SC_OPCODE_BINOM_INV },
+ { "KURT" , SC_OPCODE_KURT },
+ { "HARMEAN" , SC_OPCODE_HAR_MEAN },
+ { "GEOMEAN" , SC_OPCODE_GEO_MEAN },
+ { "STANDARDIZE" , SC_OPCODE_STANDARD },
+ { "AVEDEV" , SC_OPCODE_AVE_DEV },
+ { "SKEW" , SC_OPCODE_SKEW },
+ { "SKEWP" , SC_OPCODE_SKEWP },
+ { "DEVSQ" , SC_OPCODE_DEV_SQ },
+ { "MEDIAN" , SC_OPCODE_MEDIAN },
+ { "MODE" , SC_OPCODE_MODAL_VALUE },
+ { "COM.MICROSOFT.MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS },
+ { "COM.MICROSOFT.MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI },
+ { "ZTEST" , SC_OPCODE_Z_TEST },
+ { "COM.MICROSOFT.Z.TEST" , SC_OPCODE_Z_TEST_MS },
+ { "COM.MICROSOFT.AGGREGATE" , SC_OPCODE_AGGREGATE },
+ { "TTEST" , SC_OPCODE_T_TEST },
+ { "COM.MICROSOFT.T.TEST" , SC_OPCODE_T_TEST_MS },
+ { "RANK" , SC_OPCODE_RANK },
+ { "PERCENTILE" , SC_OPCODE_PERCENTILE },
+ { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK },
+ { "COM.MICROSOFT.PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC },
+ { "COM.MICROSOFT.PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC },
+ { "COM.MICROSOFT.QUARTILE.INC" , SC_OPCODE_QUARTILE_INC },
+ { "COM.MICROSOFT.RANK.EQ" , SC_OPCODE_RANK_EQ },
+ { "COM.MICROSOFT.PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC },
+ { "COM.MICROSOFT.PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC },
+ { "COM.MICROSOFT.QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC },
+ { "COM.MICROSOFT.RANK.AVG" , SC_OPCODE_RANK_AVG },
+ { "LARGE" , SC_OPCODE_LARGE },
+ { "SMALL" , SC_OPCODE_SMALL },
+ { "FREQUENCY" , SC_OPCODE_FREQUENCY },
+ { "QUARTILE" , SC_OPCODE_QUARTILE },
+ { "NORMINV" , SC_OPCODE_NORM_INV },
+ { "COM.MICROSOFT.NORM.INV" , SC_OPCODE_NORM_INV_MS },
+ { "CONFIDENCE" , SC_OPCODE_CONFIDENCE },
+ { "COM.MICROSOFT.CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N },
+ { "COM.MICROSOFT.CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T },
+ { "FTEST" , SC_OPCODE_F_TEST },
+ { "COM.MICROSOFT.F.TEST" , SC_OPCODE_F_TEST_MS },
+ { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN },
+ { "PROB" , SC_OPCODE_PROB },
+ { "CORREL" , SC_OPCODE_CORREL },
+ { "COVAR" , SC_OPCODE_COVAR },
+ { "COM.MICROSOFT.COVARIANCE.P" , SC_OPCODE_COVARIANCE_P },
+ { "COM.MICROSOFT.COVARIANCE.S" , SC_OPCODE_COVARIANCE_S },
+ { "PEARSON" , SC_OPCODE_PEARSON },
+ { "RSQ" , SC_OPCODE_RSQ },
+ { "STEYX" , SC_OPCODE_STEYX },
+ { "SLOPE" , SC_OPCODE_SLOPE },
+ { "INTERCEPT" , SC_OPCODE_INTERCEPT },
+ { "TREND" , SC_OPCODE_TREND },
+ { "GROWTH" , SC_OPCODE_GROWTH },
+ { "LINEST" , SC_OPCODE_LINEST },
+ { "LOGEST" , SC_OPCODE_LOGEST },
+ { "FORECAST" , SC_OPCODE_FORECAST },
+ { "COM.MICROSOFT.FORECAST.ETS" , SC_OPCODE_FORECAST_ETS_ADD },
+ { "COM.MICROSOFT.FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA },
+ { "ORG.LIBREOFFICE.FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL },
+ { "COM.MICROSOFT.FORECAST.ETS.CONFINT" , SC_OPCODE_FORECAST_ETS_PIA },
+ { "ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM },
+ { "COM.MICROSOFT.FORECAST.ETS.STAT" , SC_OPCODE_FORECAST_ETS_STA },
+ { "ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM },
+ { "COM.MICROSOFT.FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN },
+ { "LEGACY.CHIINV" , SC_OPCODE_CHI_INV },
+ { "COM.MICROSOFT.CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS },
+ { "GAMMADIST" , SC_OPCODE_GAMMA_DIST },
+ { "COM.MICROSOFT.GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS },
+ { "GAMMAINV" , SC_OPCODE_GAMMA_INV },
+ { "COM.MICROSOFT.GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS },
+ { "TINV" , SC_OPCODE_T_INV },
+ { "COM.MICROSOFT.T.INV.2T" , SC_OPCODE_T_INV_2T },
+ { "COM.MICROSOFT.T.INV" , SC_OPCODE_T_INV_MS },
+ { "LEGACY.FINV" , SC_OPCODE_F_INV },
+ { "FINV" , SC_OPCODE_F_INV_LT },
+ { "COM.MICROSOFT.F.INV.RT" , SC_OPCODE_F_INV_RT },
+ { "LEGACY.CHITEST" , SC_OPCODE_CHI_TEST },
+ { "COM.MICROSOFT.CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS },
+ { "LOGINV" , SC_OPCODE_LOG_INV },
+ { "COM.MICROSOFT.LOGNORM.INV" , SC_OPCODE_LOG_INV_MS },
+ { "MULTIPLE.OPERATIONS" , SC_OPCODE_TABLE_OP },
+ { "BETADIST" , SC_OPCODE_BETA_DIST },
+ { "BETAINV" , SC_OPCODE_BETA_INV },
+ { "COM.MICROSOFT.BETA.DIST" , SC_OPCODE_BETA_DIST_MS },
+ { "COM.MICROSOFT.BETA.INV" , SC_OPCODE_BETA_INV_MS },
+ { "WEEKNUM" , SC_OPCODE_WEEK },
+ { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM },
+ { "ORG.LIBREOFFICE.WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO },
+ { "ORG.OPENOFFICE.EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY },
+ { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK },
+ { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS },
+ { "COM.MICROSOFT.NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS },
+ { "COM.MICROSOFT.WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS },
+ { "#NAME!" , SC_OPCODE_NO_NAME },
+ { "ORG.OPENOFFICE.STYLE" , SC_OPCODE_STYLE },
+ { "DDE" , SC_OPCODE_DDE },
+ { "BASE" , SC_OPCODE_BASE },
+ { "DECIMAL" , SC_OPCODE_DECIMAL },
+ { "ORG.OPENOFFICE.CONVERT" , SC_OPCODE_CONVERT_OOO },
+ { "ROMAN" , SC_OPCODE_ROMAN },
+ { "ARABIC" , SC_OPCODE_ARABIC },
+ { "HYPERLINK" , SC_OPCODE_HYPERLINK },
+ { "INFO" , SC_OPCODE_INFO },
+ { "COM.MICROSOFT.BAHTTEXT" , SC_OPCODE_BAHTTEXT },
+ { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA },
+ { "EUROCONVERT" , SC_OPCODE_EUROCONVERT },
+ { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE },
+ { "GAMMA" , SC_OPCODE_GAMMA },
+ { "CHISQDIST" , SC_OPCODE_CHISQ_DIST },
+ { "COM.MICROSOFT.CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS },
+ { "CHISQINV" , SC_OPCODE_CHISQ_INV },
+ { "COM.MICROSOFT.CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS },
+ { "BITAND" , SC_OPCODE_BITAND },
+ { "BITOR" , SC_OPCODE_BITOR },
+ { "BITXOR" , SC_OPCODE_BITXOR },
+ { "BITRSHIFT" , SC_OPCODE_BITRSHIFT },
+ { "BITLSHIFT" , SC_OPCODE_BITLSHIFT },
+ /* BEGIN defined ERROR.TYPE() values. */
+ { "#NULL!" , SC_OPCODE_ERROR_NULL },
+ { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO },
+ { "#VALUE!" , SC_OPCODE_ERROR_VALUE },
+ { "#REF!" , SC_OPCODE_ERROR_REF },
+ { "#NAME?" , SC_OPCODE_ERROR_NAME },
+ { "#NUM!" , SC_OPCODE_ERROR_NUM },
+ { "#N/A" , SC_OPCODE_ERROR_NA },
+ /* END defined ERROR.TYPE() values. */
+ { "COM.MICROSOFT.FILTERXML" , SC_OPCODE_FILTERXML },
+ { "COM.MICROSOFT.WEBSERVICE" , SC_OPCODE_WEBSERVICE },
+ { "ORG.LIBREOFFICE.COLOR" , SC_OPCODE_COLOR },
+ { "COM.MICROSOFT.ERF.PRECISE" , SC_OPCODE_ERF_MS },
+ { "COM.MICROSOFT.ERFC.PRECISE" , SC_OPCODE_ERFC_MS },
+ { "COM.MICROSOFT.ENCODEURL" , SC_OPCODE_ENCODEURL },
+ { "ORG.LIBREOFFICE.RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT },
+ { "ORG.LIBREOFFICE.ROUNDSIG" , SC_OPCODE_ROUNDSIG },
+ { nullptr, -1 }
+};
+
+/** These function names are used in the OOXML XLSX import/export. */
+const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML[] =
+{
+ { "IF" , SC_OPCODE_IF },
+ { "IFERROR" , SC_OPCODE_IF_ERROR },
+ { "_xlfn.IFNA" , SC_OPCODE_IF_NA },
+ { "CHOOSE" , SC_OPCODE_CHOOSE },
+ { "(" , SC_OPCODE_OPEN },
+ { ")" , SC_OPCODE_CLOSE },
+ { "[" , SC_OPCODE_TABLE_REF_OPEN },
+ { "]" , SC_OPCODE_TABLE_REF_CLOSE },
+ { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL },
+ { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS },
+ { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA },
+ { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS },
+ { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW },
+ { "{" , SC_OPCODE_ARRAY_OPEN },
+ { "}" , SC_OPCODE_ARRAY_CLOSE },
+ { ";" , SC_OPCODE_ARRAY_ROW_SEP },
+ { "," , SC_OPCODE_ARRAY_COL_SEP },
+ { "," , SC_OPCODE_SEP },
+ { "%" , SC_OPCODE_PERCENT_SIGN },
+ { "+" , SC_OPCODE_ADD },
+ { "-" , SC_OPCODE_SUB },
+ { "*" , SC_OPCODE_MUL },
+ { "/" , SC_OPCODE_DIV },
+ { "&" , SC_OPCODE_AMPERSAND },
+ { "^" , SC_OPCODE_POW },
+ { "=" , SC_OPCODE_EQUAL },
+ { "<>" , SC_OPCODE_NOT_EQUAL },
+ { "<" , SC_OPCODE_LESS },
+ { ">" , SC_OPCODE_GREATER },
+ { "<=" , SC_OPCODE_LESS_EQUAL },
+ { ">=" , SC_OPCODE_GREATER_EQUAL },
+ { "AND" , SC_OPCODE_AND },
+ { "OR" , SC_OPCODE_OR },
+ { "_xlfn.XOR" , SC_OPCODE_XOR },
+ { " " , SC_OPCODE_INTERSECT },
+ { "~" , SC_OPCODE_UNION },
+ { ":" , SC_OPCODE_RANGE },
+ { "NOT" , SC_OPCODE_NOT },
+ { "NEG" , SC_OPCODE_NEG },
+ { "-" , SC_OPCODE_NEG_SUB },
+ { "PI" , SC_OPCODE_PI },
+ { "RAND" , SC_OPCODE_RANDOM },
+ { "TRUE" , SC_OPCODE_TRUE },
+ { "FALSE" , SC_OPCODE_FALSE },
+ { "TODAY" , SC_OPCODE_GET_ACT_DATE },
+ { "NOW" , SC_OPCODE_GET_ACT_TIME },
+ { "NA" , SC_OPCODE_NO_VALUE },
+ { "_xlfn.ORG.OPENOFFICE.CURRENT" , SC_OPCODE_CURRENT },
+ { "DEGREES" , SC_OPCODE_DEG },
+ { "RADIANS" , SC_OPCODE_RAD },
+ { "SIN" , SC_OPCODE_SIN },
+ { "COS" , SC_OPCODE_COS },
+ { "TAN" , SC_OPCODE_TAN },
+ { "_xlfn.COT" , SC_OPCODE_COT },
+ { "ASIN" , SC_OPCODE_ARC_SIN },
+ { "ACOS" , SC_OPCODE_ARC_COS },
+ { "ATAN" , SC_OPCODE_ARC_TAN },
+ { "_xlfn.ACOT" , SC_OPCODE_ARC_COT },
+ { "SINH" , SC_OPCODE_SIN_HYP },
+ { "COSH" , SC_OPCODE_COS_HYP },
+ { "TANH" , SC_OPCODE_TAN_HYP },
+ { "_xlfn.COTH" , SC_OPCODE_COT_HYP },
+ { "ASINH" , SC_OPCODE_ARC_SIN_HYP },
+ { "ACOSH" , SC_OPCODE_ARC_COS_HYP },
+ { "ATANH" , SC_OPCODE_ARC_TAN_HYP },
+ { "_xlfn.ACOTH" , SC_OPCODE_ARC_COT_HYP },
+ { "_xlfn.CSC" , SC_OPCODE_COSECANT },
+ { "_xlfn.SEC" , SC_OPCODE_SECANT },
+ { "_xlfn.CSCH" , SC_OPCODE_COSECANT_HYP },
+ { "_xlfn.SECH" , SC_OPCODE_SECANT_HYP },
+ { "EXP" , SC_OPCODE_EXP },
+ { "LN" , SC_OPCODE_LN },
+ { "SQRT" , SC_OPCODE_SQRT },
+ { "FACT" , SC_OPCODE_FACT },
+ { "YEAR" , SC_OPCODE_GET_YEAR },
+ { "MONTH" , SC_OPCODE_GET_MONTH },
+ { "DAY" , SC_OPCODE_GET_DAY },
+ { "HOUR" , SC_OPCODE_GET_HOUR },
+ { "MINUTE" , SC_OPCODE_GET_MIN },
+ { "SECOND" , SC_OPCODE_GET_SEC },
+ { "SIGN" , SC_OPCODE_PLUS_MINUS },
+ { "ABS" , SC_OPCODE_ABS },
+ { "INT" , SC_OPCODE_INT },
+ { "_xlfn.PHI" , SC_OPCODE_PHI },
+ { "_xlfn.GAUSS" , SC_OPCODE_GAUSS },
+ { "ISBLANK" , SC_OPCODE_IS_EMPTY },
+ { "ISTEXT" , SC_OPCODE_IS_STRING },
+ { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING },
+ { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL },
+ { "TYPE" , SC_OPCODE_TYPE },
+ { "CELL" , SC_OPCODE_CELL },
+ { "ISREF" , SC_OPCODE_IS_REF },
+ { "ISNUMBER" , SC_OPCODE_IS_VALUE },
+ { "_xlfn.ISFORMULA" , SC_OPCODE_IS_FORMULA },
+ { "ISNA" , SC_OPCODE_IS_NV },
+ { "ISERR" , SC_OPCODE_IS_ERR },
+ { "ISERROR" , SC_OPCODE_IS_ERROR },
+ { "ISEVEN" , SC_OPCODE_IS_EVEN },
+ { "ISODD" , SC_OPCODE_IS_ODD },
+ { "N" , SC_OPCODE_N },
+ { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE },
+ { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE },
+ { "CODE" , SC_OPCODE_CODE },
+ { "TRIM" , SC_OPCODE_TRIM },
+ { "UPPER" , SC_OPCODE_UPPER },
+ { "PROPER" , SC_OPCODE_PROPER },
+ { "LOWER" , SC_OPCODE_LOWER },
+ { "LEN" , SC_OPCODE_LEN },
+ { "T" , SC_OPCODE_T },
+ { "VALUE" , SC_OPCODE_VALUE },
+ { "CLEAN" , SC_OPCODE_CLEAN },
+ { "CHAR" , SC_OPCODE_CHAR },
+ { "JIS" , SC_OPCODE_JIS },
+ { "ASC" , SC_OPCODE_ASC },
+ { "_xlfn.UNICODE" , SC_OPCODE_UNICODE },
+ { "_xlfn.UNICHAR" , SC_OPCODE_UNICHAR },
+ { "LOG10" , SC_OPCODE_LOG10 },
+ { "EVEN" , SC_OPCODE_EVEN },
+ { "ODD" , SC_OPCODE_ODD },
+ { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST },
+ { "_xlfn.NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS },
+ { "FISHER" , SC_OPCODE_FISHER },
+ { "FISHERINV" , SC_OPCODE_FISHER_INV },
+ { "NORMSINV" , SC_OPCODE_S_NORM_INV },
+ { "_xlfn.NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS },
+ { "GAMMALN" , SC_OPCODE_GAMMA_LN },
+ { "_xlfn.GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS },
+ { "_xlfn.ORG.OPENOFFICE.ERRORTYPE" , SC_OPCODE_ERROR_TYPE },
+ { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF },
+ { "_xlfn.FORMULATEXT" , SC_OPCODE_FORMULA },
+ { "ATAN2" , SC_OPCODE_ARC_TAN_2 },
+ { "_xlfn.CEILING.MATH" , SC_OPCODE_CEIL_MATH },
+ { "_xlfn.CEILING.MATH" , SC_OPCODE_CEIL },
+ { "CEILING" , SC_OPCODE_CEIL_MS },
+ { "_xlfn.CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE },
+ { "ISO.CEILING" , SC_OPCODE_CEIL_ISO },
+ { "FLOOR" , SC_OPCODE_FLOOR_MS },
+ { "_xlfn.FLOOR.MATH" , SC_OPCODE_FLOOR_MATH },
+ { "_xlfn.FLOOR.MATH" , SC_OPCODE_FLOOR },
+ { "_xlfn.FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE },
+ { "ROUND" , SC_OPCODE_ROUND },
+ { "ROUNDUP" , SC_OPCODE_ROUND_UP },
+ { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN },
+ { "TRUNC" , SC_OPCODE_TRUNC },
+ { "LOG" , SC_OPCODE_LOG },
+ { "POWER" , SC_OPCODE_POWER },
+ { "GCD" , SC_OPCODE_GCD },
+ { "LCM" , SC_OPCODE_LCM },
+ { "MOD" , SC_OPCODE_MOD },
+ { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT },
+ { "SUMSQ" , SC_OPCODE_SUM_SQ },
+ { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 },
+ { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 },
+ { "SUMXMY2" , SC_OPCODE_SUM_XMY2 },
+ { "DATE" , SC_OPCODE_GET_DATE },
+ { "TIME" , SC_OPCODE_GET_TIME },
+ { "_xlfn.DAYS" , SC_OPCODE_GET_DIFF_DATE },
+ { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 },
+ { "DATEDIF" , SC_OPCODE_GET_DATEDIF },
+ { "MIN" , SC_OPCODE_MIN },
+ { "MINA" , SC_OPCODE_MIN_A },
+ { "MAX" , SC_OPCODE_MAX },
+ { "MAXA" , SC_OPCODE_MAX_A },
+ { "SUM" , SC_OPCODE_SUM },
+ { "PRODUCT" , SC_OPCODE_PRODUCT },
+ { "AVERAGE" , SC_OPCODE_AVERAGE },
+ { "AVERAGEA" , SC_OPCODE_AVERAGE_A },
+ { "COUNT" , SC_OPCODE_COUNT },
+ { "COUNTA" , SC_OPCODE_COUNT_2 },
+ { "NPV" , SC_OPCODE_NPV },
+ { "IRR" , SC_OPCODE_IRR },
+ { "MIRR" , SC_OPCODE_MIRR },
+ { "ISPMT" , SC_OPCODE_ISPMT },
+ { "VAR" , SC_OPCODE_VAR },
+ { "VARA" , SC_OPCODE_VAR_A },
+ { "VARP" , SC_OPCODE_VAR_P },
+ { "VARPA" , SC_OPCODE_VAR_P_A },
+ { "_xlfn.VAR.P" , SC_OPCODE_VAR_P_MS },
+ { "_xlfn.VAR.S" , SC_OPCODE_VAR_S },
+ { "STDEV" , SC_OPCODE_ST_DEV },
+ { "STDEVA" , SC_OPCODE_ST_DEV_A },
+ { "STDEVP" , SC_OPCODE_ST_DEV_P },
+ { "STDEVPA" , SC_OPCODE_ST_DEV_P_A },
+ { "_xlfn.STDEV.P" , SC_OPCODE_ST_DEV_P_MS },
+ { "_xlfn.STDEV.S" , SC_OPCODE_ST_DEV_S },
+ { "B" , SC_OPCODE_B },
+ { "NORMDIST" , SC_OPCODE_NORM_DIST },
+ { "_xlfn.NORM.DIST" , SC_OPCODE_NORM_DIST_MS },
+ { "EXPONDIST" , SC_OPCODE_EXP_DIST },
+ { "_xlfn.EXPON.DIST" , SC_OPCODE_EXP_DIST_MS },
+ { "BINOMDIST" , SC_OPCODE_BINOM_DIST },
+ { "_xlfn.BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS },
+ { "POISSON" , SC_OPCODE_POISSON_DIST },
+ { "_xlfn.POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS },
+ { "COMBIN" , SC_OPCODE_COMBIN },
+ { "_xlfn.COMBINA" , SC_OPCODE_COMBIN_A },
+ { "PERMUT" , SC_OPCODE_PERMUT },
+ { "_xlfn.PERMUTATIONA" , SC_OPCODE_PERMUTATION_A },
+ { "PV" , SC_OPCODE_PV },
+ { "SYD" , SC_OPCODE_SYD },
+ { "DDB" , SC_OPCODE_DDB },
+ { "DB" , SC_OPCODE_DB },
+ { "VDB" , SC_OPCODE_VBD },
+ { "_xlfn.PDURATION" , SC_OPCODE_PDURATION },
+ { "SLN" , SC_OPCODE_SLN },
+ { "PMT" , SC_OPCODE_PMT },
+ { "COLUMNS" , SC_OPCODE_COLUMNS },
+ { "ROWS" , SC_OPCODE_ROWS },
+ { "_xlfn.SHEETS" , SC_OPCODE_SHEETS },
+ { "COLUMN" , SC_OPCODE_COLUMN },
+ { "ROW" , SC_OPCODE_ROW },
+ { "_xlfn.SHEET" , SC_OPCODE_SHEET },
+ { "_xlfn.RRI" , SC_OPCODE_RRI },
+ { "FV" , SC_OPCODE_FV },
+ { "NPER" , SC_OPCODE_NPER },
+ { "RATE" , SC_OPCODE_RATE },
+ { "IPMT" , SC_OPCODE_IPMT },
+ { "PPMT" , SC_OPCODE_PPMT },
+ { "CUMIPMT" , SC_OPCODE_CUM_IPMT },
+ { "CUMPRINC" , SC_OPCODE_CUM_PRINC },
+ { "EFFECT" , SC_OPCODE_EFFECT },
+ { "NOMINAL" , SC_OPCODE_NOMINAL },
+ { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL },
+ { "DSUM" , SC_OPCODE_DB_SUM },
+ { "DCOUNT" , SC_OPCODE_DB_COUNT },
+ { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 },
+ { "DAVERAGE" , SC_OPCODE_DB_AVERAGE },
+ { "DGET" , SC_OPCODE_DB_GET },
+ { "DMAX" , SC_OPCODE_DB_MAX },
+ { "DMIN" , SC_OPCODE_DB_MIN },
+ { "DPRODUCT" , SC_OPCODE_DB_PRODUCT },
+ { "DSTDEV" , SC_OPCODE_DB_STD_DEV },
+ { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P },
+ { "DVAR" , SC_OPCODE_DB_VAR },
+ { "DVARP" , SC_OPCODE_DB_VAR_P },
+ { "INDIRECT" , SC_OPCODE_INDIRECT },
+ { "ADDRESS" , SC_OPCODE_ADDRESS },
+ { "MATCH" , SC_OPCODE_MATCH },
+ { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS },
+ { "COUNTIF" , SC_OPCODE_COUNT_IF },
+ { "SUMIF" , SC_OPCODE_SUM_IF },
+ { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF },
+ { "SUMIFS" , SC_OPCODE_SUM_IFS },
+ { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS },
+ { "COUNTIFS" , SC_OPCODE_COUNT_IFS },
+ { "LOOKUP" , SC_OPCODE_LOOKUP },
+ { "VLOOKUP" , SC_OPCODE_V_LOOKUP },
+ { "HLOOKUP" , SC_OPCODE_H_LOOKUP },
+ { "_xlfn.ORG.OPENOFFICE.MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union)
+ { "OFFSET" , SC_OPCODE_OFFSET },
+ { "INDEX" , SC_OPCODE_INDEX },
+ { "AREAS" , SC_OPCODE_AREAS },
+ { "DOLLAR" , SC_OPCODE_CURRENCY },
+ { "REPLACE" , SC_OPCODE_REPLACE },
+ { "FIXED" , SC_OPCODE_FIXED },
+ { "FIND" , SC_OPCODE_FIND },
+ { "EXACT" , SC_OPCODE_EXACT },
+ { "LEFT" , SC_OPCODE_LEFT },
+ { "RIGHT" , SC_OPCODE_RIGHT },
+ { "SEARCH" , SC_OPCODE_SEARCH },
+ { "MID" , SC_OPCODE_MID },
+ { "LENB" , SC_OPCODE_LENB },
+ { "RIGHTB" , SC_OPCODE_RIGHTB },
+ { "LEFTB" , SC_OPCODE_LEFTB },
+ { "REPLACEB" , SC_OPCODE_REPLACEB },
+ { "MIDB" , SC_OPCODE_MIDB },
+ { "TEXT" , SC_OPCODE_TEXT },
+ { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE },
+ { "REPT" , SC_OPCODE_REPT },
+ { "CONCATENATE" , SC_OPCODE_CONCAT },
+ { "_xlfn.CONCAT" , SC_OPCODE_CONCAT_MS },
+ { "_xlfn.TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS },
+ { "_xlfn.IFS" , SC_OPCODE_IFS_MS },
+ { "_xlfn.SWITCH" , SC_OPCODE_SWITCH_MS },
+ { "_xlfn.MINIFS" , SC_OPCODE_MINIFS_MS },
+ { "_xlfn.MAXIFS" , SC_OPCODE_MAXIFS_MS },
+ { "MVALUE" , SC_OPCODE_MAT_VALUE },
+ { "MDETERM" , SC_OPCODE_MAT_DET },
+ { "MINVERSE" , SC_OPCODE_MAT_INV },
+ { "MMULT" , SC_OPCODE_MAT_MULT },
+ { "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
+ { "_xlfn.MUNIT" , SC_OPCODE_MATRIX_UNIT },
+ { "_xlfn.ORG.OPENOFFICE.GOALSEEK" , SC_OPCODE_BACK_SOLVER },
+ { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST },
+ { "_xlfn.HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS },
+ { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST },
+ { "_xlfn.LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS },
+ { "TDIST" , SC_OPCODE_T_DIST },
+ { "_xlfn.T.DIST.2T" , SC_OPCODE_T_DIST_2T },
+ { "_xlfn.T.DIST" , SC_OPCODE_T_DIST_MS },
+ { "_xlfn.T.DIST.RT" , SC_OPCODE_T_DIST_RT },
+ { "FDIST" , SC_OPCODE_F_DIST },
+ { "_xlfn.F.DIST" , SC_OPCODE_F_DIST_LT },
+ { "_xlfn.F.DIST.RT" , SC_OPCODE_F_DIST_RT },
+ { "CHIDIST" , SC_OPCODE_CHI_DIST },
+ { "_xlfn.CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS },
+ { "WEIBULL" , SC_OPCODE_WEIBULL },
+ { "_xlfn.WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS },
+ { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT },
+ { "_xlfn.NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS },
+ { "CRITBINOM" , SC_OPCODE_CRIT_BINOM },
+ { "_xlfn.BINOM.INV" , SC_OPCODE_BINOM_INV },
+ { "KURT" , SC_OPCODE_KURT },
+ { "HARMEAN" , SC_OPCODE_HAR_MEAN },
+ { "GEOMEAN" , SC_OPCODE_GEO_MEAN },
+ { "STANDARDIZE" , SC_OPCODE_STANDARD },
+ { "AVEDEV" , SC_OPCODE_AVE_DEV },
+ { "SKEW" , SC_OPCODE_SKEW },
+ { "_xlfn.SKEW.P" , SC_OPCODE_SKEWP },
+ { "DEVSQ" , SC_OPCODE_DEV_SQ },
+ { "MEDIAN" , SC_OPCODE_MEDIAN },
+ { "MODE" , SC_OPCODE_MODAL_VALUE },
+ { "_xlfn.MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS },
+ { "_xlfn.MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI },
+ { "ZTEST" , SC_OPCODE_Z_TEST },
+ { "_xlfn.Z.TEST" , SC_OPCODE_Z_TEST_MS },
+ { "_xlfn.AGGREGATE" , SC_OPCODE_AGGREGATE },
+ { "TTEST" , SC_OPCODE_T_TEST },
+ { "_xlfn.T.TEST" , SC_OPCODE_T_TEST_MS },
+ { "RANK" , SC_OPCODE_RANK },
+ { "PERCENTILE" , SC_OPCODE_PERCENTILE },
+ { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK },
+ { "_xlfn.PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC },
+ { "_xlfn.PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC },
+ { "_xlfn.QUARTILE.INC" , SC_OPCODE_QUARTILE_INC },
+ { "_xlfn.RANK.EQ" , SC_OPCODE_RANK_EQ },
+ { "_xlfn.PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC },
+ { "_xlfn.PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC },
+ { "_xlfn.QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC },
+ { "_xlfn.RANK.AVG" , SC_OPCODE_RANK_AVG },
+ { "LARGE" , SC_OPCODE_LARGE },
+ { "SMALL" , SC_OPCODE_SMALL },
+ { "FREQUENCY" , SC_OPCODE_FREQUENCY },
+ { "QUARTILE" , SC_OPCODE_QUARTILE },
+ { "NORMINV" , SC_OPCODE_NORM_INV },
+ { "_xlfn.NORM.INV" , SC_OPCODE_NORM_INV_MS },
+ { "CONFIDENCE" , SC_OPCODE_CONFIDENCE },
+ { "_xlfn.CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N },
+ { "_xlfn.CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T },
+ { "FTEST" , SC_OPCODE_F_TEST },
+ { "_xlfn.F.TEST" , SC_OPCODE_F_TEST_MS },
+ { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN },
+ { "PROB" , SC_OPCODE_PROB },
+ { "CORREL" , SC_OPCODE_CORREL },
+ { "COVAR" , SC_OPCODE_COVAR },
+ { "_xlfn.COVARIANCE.P" , SC_OPCODE_COVARIANCE_P },
+ { "_xlfn.COVARIANCE.S" , SC_OPCODE_COVARIANCE_S },
+ { "PEARSON" , SC_OPCODE_PEARSON },
+ { "RSQ" , SC_OPCODE_RSQ },
+ { "STEYX" , SC_OPCODE_STEYX },
+ { "SLOPE" , SC_OPCODE_SLOPE },
+ { "INTERCEPT" , SC_OPCODE_INTERCEPT },
+ { "TREND" , SC_OPCODE_TREND },
+ { "GROWTH" , SC_OPCODE_GROWTH },
+ { "LINEST" , SC_OPCODE_LINEST },
+ { "LOGEST" , SC_OPCODE_LOGEST },
+ { "FORECAST" , SC_OPCODE_FORECAST },
+ { "_xlfn.FORECAST.ETS" , SC_OPCODE_FORECAST_ETS_ADD },
+ { "_xlfn.FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA },
+ { "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL },
+ { "_xlfn.FORECAST.ETS.CONFINT" , SC_OPCODE_FORECAST_ETS_PIA },
+ { "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM },
+ { "_xlfn.FORECAST.ETS.STAT" , SC_OPCODE_FORECAST_ETS_STA },
+ { "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM },
+ { "_xlfn.FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN },
+ { "CHIINV" , SC_OPCODE_CHI_INV },
+ { "_xlfn.CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS },
+ { "GAMMADIST" , SC_OPCODE_GAMMA_DIST },
+ { "_xlfn.GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS },
+ { "GAMMAINV" , SC_OPCODE_GAMMA_INV },
+ { "_xlfn.GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS },
+ { "TINV" , SC_OPCODE_T_INV },
+ { "_xlfn.T.INV.2T" , SC_OPCODE_T_INV_2T },
+ { "_xlfn.T.INV" , SC_OPCODE_T_INV_MS },
+ { "FINV" , SC_OPCODE_F_INV },
+ { "_xlfn.F.INV" , SC_OPCODE_F_INV_LT },
+ { "_xlfn.F.INV.RT" , SC_OPCODE_F_INV_RT },
+ { "CHITEST" , SC_OPCODE_CHI_TEST },
+ { "_xlfn.CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS },
+ { "LOGINV" , SC_OPCODE_LOG_INV },
+ { "_xlfn.LOGNORM.INV" , SC_OPCODE_LOG_INV_MS },
+ { "TABLE" , SC_OPCODE_TABLE_OP },
+ { "BETADIST" , SC_OPCODE_BETA_DIST },
+ { "BETAINV" , SC_OPCODE_BETA_INV },
+ { "_xlfn.BETA.DIST" , SC_OPCODE_BETA_DIST_MS },
+ { "_xlfn.BETA.INV" , SC_OPCODE_BETA_INV_MS },
+ { "WEEKNUM" , SC_OPCODE_WEEK },
+ { "_xlfn.ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM },
+ { "_xlfn.ORG.LIBREOFFICE.WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO },
+ { "_xlfn.ORG.OPENOFFICE.EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY },
+ { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK },
+ { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS },
+ { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS },
+ { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS },
+ { "#NAME!" , SC_OPCODE_NO_NAME },
+ { "_xlfn.ORG.OPENOFFICE.STYLE" , SC_OPCODE_STYLE },
+ { "DDE" , SC_OPCODE_DDE },
+ { "_xlfn.BASE" , SC_OPCODE_BASE },
+ { "_xlfn.DECIMAL" , SC_OPCODE_DECIMAL },
+ { "_xlfn.ORG.OPENOFFICE.CONVERT" , SC_OPCODE_CONVERT_OOO },
+ { "ROMAN" , SC_OPCODE_ROMAN },
+ { "_xlfn.ARABIC" , SC_OPCODE_ARABIC },
+ { "HYPERLINK" , SC_OPCODE_HYPERLINK },
+ { "INFO" , SC_OPCODE_INFO },
+ { "_xlfn.BAHTTEXT" , SC_OPCODE_BAHTTEXT },
+ { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA },
+ { "EUROCONVERT" , SC_OPCODE_EUROCONVERT },
+ { "_xlfn.NUMBERVALUE" , SC_OPCODE_NUMBERVALUE },
+ { "_xlfn.GAMMA" , SC_OPCODE_GAMMA },
+ { "CHISQDIST" , SC_OPCODE_CHISQ_DIST },
+ { "_xlfn.CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS },
+ { "CHISQINV" , SC_OPCODE_CHISQ_INV },
+ { "_xlfn.CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS },
+ { "_xlfn.BITAND" , SC_OPCODE_BITAND },
+ { "_xlfn.BITOR" , SC_OPCODE_BITOR },
+ { "_xlfn.BITXOR" , SC_OPCODE_BITXOR },
+ { "_xlfn.BITRSHIFT" , SC_OPCODE_BITRSHIFT },
+ { "_xlfn.BITLSHIFT" , SC_OPCODE_BITLSHIFT },
+ { "#NULL!" , SC_OPCODE_ERROR_NULL },
+ { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO },
+ { "#VALUE!" , SC_OPCODE_ERROR_VALUE },
+ { "#REF!" , SC_OPCODE_ERROR_REF },
+ { "#NAME?" , SC_OPCODE_ERROR_NAME },
+ { "#NUM!" , SC_OPCODE_ERROR_NUM },
+ { "#N/A" , SC_OPCODE_ERROR_NA },
+ /* END defined ERROR.TYPE() values. */
+ { "_xlfn.FILTERXML" , SC_OPCODE_FILTERXML },
+ { "_xlfn.WEBSERVICE" , SC_OPCODE_WEBSERVICE },
+ { "_xlfn.ORG.LIBREOFFICE.COLOR" , SC_OPCODE_COLOR },
+ { "_xlfn.ERF.PRECISE" , SC_OPCODE_ERF_MS },
+ { "_xlfn.ERFC.PRECISE" , SC_OPCODE_ERFC_MS },
+ { "_xlfn.ENCODEURL" , SC_OPCODE_ENCODEURL },
+ { "_xlfn.ORG.LIBREOFFICE.RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT },
+ { "_xlfn.ORG.LIBREOFFICE.ROUNDSIG" , SC_OPCODE_ROUNDSIG },
+ { nullptr, -1 }
+};
+
+/** These English names are used to store/load ODF v1.0/v1.1. */
+// DO NOT CHANGE NAMES! Only add functions.
+// If there is a reason for another name for some function then add an
+// *additional* name to be recognized to sc/source/core/tool/compiler.cxx
+// ScCompiler::IsOpCode() in the else if (mxSymbols->isPODF()) block.
+const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF[] =
+{
+ { "IF" , SC_OPCODE_IF },
+ { "IFERROR" , SC_OPCODE_IF_ERROR },
+ { "IFNA" , SC_OPCODE_IF_NA },
+ { "CHOOSE" , SC_OPCODE_CHOOSE },
+ { "(" , SC_OPCODE_OPEN },
+ { ")" , SC_OPCODE_CLOSE },
+ { "[" , SC_OPCODE_TABLE_REF_OPEN },
+ { "]" , SC_OPCODE_TABLE_REF_CLOSE },
+ { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL },
+ { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS },
+ { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA },
+ { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS },
+ { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW },
+ { "{" , SC_OPCODE_ARRAY_OPEN },
+ { "}" , SC_OPCODE_ARRAY_CLOSE },
+ { "|" , SC_OPCODE_ARRAY_ROW_SEP },
+ { ";" , SC_OPCODE_ARRAY_COL_SEP },
+ { ";" , SC_OPCODE_SEP },
+ { "%" , SC_OPCODE_PERCENT_SIGN },
+ { "+" , SC_OPCODE_ADD },
+ { "-" , SC_OPCODE_SUB },
+ { "*" , SC_OPCODE_MUL },
+ { "/" , SC_OPCODE_DIV },
+ { "&" , SC_OPCODE_AMPERSAND },
+ { "^" , SC_OPCODE_POW },
+ { "=" , SC_OPCODE_EQUAL },
+ { "<>" , SC_OPCODE_NOT_EQUAL },
+ { "<" , SC_OPCODE_LESS },
+ { ">" , SC_OPCODE_GREATER },
+ { "<=" , SC_OPCODE_LESS_EQUAL },
+ { ">=" , SC_OPCODE_GREATER_EQUAL },
+ { "AND" , SC_OPCODE_AND },
+ { "OR" , SC_OPCODE_OR },
+ { "XOR" , SC_OPCODE_XOR },
+ { "!" , SC_OPCODE_INTERSECT },
+ { "~" , SC_OPCODE_UNION },
+ { ":" , SC_OPCODE_RANGE },
+ { "NOT" , SC_OPCODE_NOT },
+ { "NEG" , SC_OPCODE_NEG },
+ { "-" , SC_OPCODE_NEG_SUB },
+ { "PI" , SC_OPCODE_PI },
+ { "RAND" , SC_OPCODE_RANDOM },
+ { "TRUE" , SC_OPCODE_TRUE },
+ { "FALSE" , SC_OPCODE_FALSE },
+ { "TODAY" , SC_OPCODE_GET_ACT_DATE },
+ { "NOW" , SC_OPCODE_GET_ACT_TIME },
+ { "NA" , SC_OPCODE_NO_VALUE },
+ { "CURRENT" , SC_OPCODE_CURRENT },
+ { "DEGREES" , SC_OPCODE_DEG },
+ { "RADIANS" , SC_OPCODE_RAD },
+ { "SIN" , SC_OPCODE_SIN },
+ { "COS" , SC_OPCODE_COS },
+ { "TAN" , SC_OPCODE_TAN },
+ { "COT" , SC_OPCODE_COT },
+ { "ASIN" , SC_OPCODE_ARC_SIN },
+ { "ACOS" , SC_OPCODE_ARC_COS },
+ { "ATAN" , SC_OPCODE_ARC_TAN },
+ { "ACOT" , SC_OPCODE_ARC_COT },
+ { "SINH" , SC_OPCODE_SIN_HYP },
+ { "COSH" , SC_OPCODE_COS_HYP },
+ { "TANH" , SC_OPCODE_TAN_HYP },
+ { "COTH" , SC_OPCODE_COT_HYP },
+ { "ASINH" , SC_OPCODE_ARC_SIN_HYP },
+ { "ACOSH" , SC_OPCODE_ARC_COS_HYP },
+ { "ATANH" , SC_OPCODE_ARC_TAN_HYP },
+ { "ACOTH" , SC_OPCODE_ARC_COT_HYP },
+ { "CSC" , SC_OPCODE_COSECANT },
+ { "SEC" , SC_OPCODE_SECANT },
+ { "CSCH" , SC_OPCODE_COSECANT_HYP },
+ { "SECH" , SC_OPCODE_SECANT_HYP },
+ { "EXP" , SC_OPCODE_EXP },
+ { "LN" , SC_OPCODE_LN },
+ { "SQRT" , SC_OPCODE_SQRT },
+ { "FACT" , SC_OPCODE_FACT },
+ { "YEAR" , SC_OPCODE_GET_YEAR },
+ { "MONTH" , SC_OPCODE_GET_MONTH },
+ { "DAY" , SC_OPCODE_GET_DAY },
+ { "HOUR" , SC_OPCODE_GET_HOUR },
+ { "MINUTE" , SC_OPCODE_GET_MIN },
+ { "SECOND" , SC_OPCODE_GET_SEC },
+ { "SIGN" , SC_OPCODE_PLUS_MINUS },
+ { "ABS" , SC_OPCODE_ABS },
+ { "INT" , SC_OPCODE_INT },
+ { "PHI" , SC_OPCODE_PHI },
+ { "GAUSS" , SC_OPCODE_GAUSS },
+ { "ISBLANK" , SC_OPCODE_IS_EMPTY },
+ { "ISTEXT" , SC_OPCODE_IS_STRING },
+ { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING },
+ { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL },
+ { "TYPE" , SC_OPCODE_TYPE },
+ { "CELL" , SC_OPCODE_CELL },
+ { "ISREF" , SC_OPCODE_IS_REF },
+ { "ISNUMBER" , SC_OPCODE_IS_VALUE },
+ { "ISFORMULA" , SC_OPCODE_IS_FORMULA },
+ { "ISNA" , SC_OPCODE_IS_NV },
+ { "ISERR" , SC_OPCODE_IS_ERR },
+ { "ISERROR" , SC_OPCODE_IS_ERROR },
+ { "ISEVEN" , SC_OPCODE_IS_EVEN },
+ { "ISODD" , SC_OPCODE_IS_ODD },
+ { "N" , SC_OPCODE_N },
+ { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE },
+ { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE },
+ { "CODE" , SC_OPCODE_CODE },
+ { "TRIM" , SC_OPCODE_TRIM },
+ { "UPPER" , SC_OPCODE_UPPER },
+ { "PROPER" , SC_OPCODE_PROPER },
+ { "LOWER" , SC_OPCODE_LOWER },
+ { "LEN" , SC_OPCODE_LEN },
+ { "T" , SC_OPCODE_T },
+ { "VALUE" , SC_OPCODE_VALUE },
+ { "CLEAN" , SC_OPCODE_CLEAN },
+ { "CHAR" , SC_OPCODE_CHAR },
+ { "JIS" , SC_OPCODE_JIS },
+ { "ASC" , SC_OPCODE_ASC },
+ { "UNICODE" , SC_OPCODE_UNICODE },
+ { "UNICHAR" , SC_OPCODE_UNICHAR },
+ { "LOG10" , SC_OPCODE_LOG10 },
+ { "EVEN" , SC_OPCODE_EVEN },
+ { "ODD" , SC_OPCODE_ODD },
+ { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST },
+ { "NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS },
+ { "FISHER" , SC_OPCODE_FISHER },
+ { "FISHERINV" , SC_OPCODE_FISHER_INV },
+ { "NORMSINV" , SC_OPCODE_S_NORM_INV },
+ { "NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS },
+ { "GAMMALN" , SC_OPCODE_GAMMA_LN },
+ { "GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS },
+ { "ERRORTYPE" , SC_OPCODE_ERROR_TYPE },
+ { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF },
+ { "FORMULA" , SC_OPCODE_FORMULA },
+ { "ATAN2" , SC_OPCODE_ARC_TAN_2 },
+ { "CEILING.MATH" , SC_OPCODE_CEIL_MATH },
+ { "CEILING" , SC_OPCODE_CEIL },
+ { "CEILING.XCL" , SC_OPCODE_CEIL_MS },
+ { "CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE },
+ { "ISO.CEILING" , SC_OPCODE_CEIL_ISO },
+ { "FLOOR" , SC_OPCODE_FLOOR },
+ { "FLOOR.XCL" , SC_OPCODE_FLOOR_MS },
+ { "FLOOR.MATH" , SC_OPCODE_FLOOR_MATH },
+ { "FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE },
+ { "ROUND" , SC_OPCODE_ROUND },
+ { "ROUNDUP" , SC_OPCODE_ROUND_UP },
+ { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN },
+ { "TRUNC" , SC_OPCODE_TRUNC },
+ { "LOG" , SC_OPCODE_LOG },
+ { "POWER" , SC_OPCODE_POWER },
+ { "GCD" , SC_OPCODE_GCD },
+ { "LCM" , SC_OPCODE_LCM },
+ { "MOD" , SC_OPCODE_MOD },
+ { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT },
+ { "SUMSQ" , SC_OPCODE_SUM_SQ },
+ { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 },
+ { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 },
+ { "SUMXMY2" , SC_OPCODE_SUM_XMY2 },
+ { "DATE" , SC_OPCODE_GET_DATE },
+ { "TIME" , SC_OPCODE_GET_TIME },
+ { "DAYS" , SC_OPCODE_GET_DIFF_DATE },
+ { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 },
+ { "DATEDIF" , SC_OPCODE_GET_DATEDIF },
+ { "MIN" , SC_OPCODE_MIN },
+ { "MINA" , SC_OPCODE_MIN_A },
+ { "MAX" , SC_OPCODE_MAX },
+ { "MAXA" , SC_OPCODE_MAX_A },
+ { "SUM" , SC_OPCODE_SUM },
+ { "PRODUCT" , SC_OPCODE_PRODUCT },
+ { "AVERAGE" , SC_OPCODE_AVERAGE },
+ { "AVERAGEA" , SC_OPCODE_AVERAGE_A },
+ { "COUNT" , SC_OPCODE_COUNT },
+ { "COUNTA" , SC_OPCODE_COUNT_2 },
+ { "NPV" , SC_OPCODE_NPV },
+ { "IRR" , SC_OPCODE_IRR },
+ { "MIRR" , SC_OPCODE_MIRR },
+ { "ISPMT" , SC_OPCODE_ISPMT },
+ { "VAR" , SC_OPCODE_VAR },
+ { "VARA" , SC_OPCODE_VAR_A },
+ { "VARP" , SC_OPCODE_VAR_P },
+ { "VARPA" , SC_OPCODE_VAR_P_A },
+ { "VAR.P" , SC_OPCODE_VAR_P_MS },
+ { "VAR.S" , SC_OPCODE_VAR_S },
+ { "STDEV" , SC_OPCODE_ST_DEV },
+ { "STDEVA" , SC_OPCODE_ST_DEV_A },
+ { "STDEVP" , SC_OPCODE_ST_DEV_P },
+ { "STDEVPA" , SC_OPCODE_ST_DEV_P_A },
+ { "STDEV.P" , SC_OPCODE_ST_DEV_P_MS },
+ { "STDEV.S" , SC_OPCODE_ST_DEV_S },
+ { "B" , SC_OPCODE_B },
+ { "NORMDIST" , SC_OPCODE_NORM_DIST },
+ { "NORM.DIST" , SC_OPCODE_NORM_DIST_MS },
+ { "EXPONDIST" , SC_OPCODE_EXP_DIST },
+ { "EXPON.DIST" , SC_OPCODE_EXP_DIST_MS },
+ { "BINOMDIST" , SC_OPCODE_BINOM_DIST },
+ { "BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS },
+ { "POISSON" , SC_OPCODE_POISSON_DIST },
+ { "POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS },
+ { "COMBIN" , SC_OPCODE_COMBIN },
+ { "COMBINA" , SC_OPCODE_COMBIN_A },
+ { "PERMUT" , SC_OPCODE_PERMUT },
+ { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A },
+ { "PV" , SC_OPCODE_PV },
+ { "SYD" , SC_OPCODE_SYD },
+ { "DDB" , SC_OPCODE_DDB },
+ { "DB" , SC_OPCODE_DB },
+ { "VDB" , SC_OPCODE_VBD },
+ { "DURATION" , SC_OPCODE_PDURATION }, // wrong but ODF1.1, keep it.
+ { "SLN" , SC_OPCODE_SLN },
+ { "PMT" , SC_OPCODE_PMT },
+ { "COLUMNS" , SC_OPCODE_COLUMNS },
+ { "ROWS" , SC_OPCODE_ROWS },
+ { "SHEETS" , SC_OPCODE_SHEETS },
+ { "COLUMN" , SC_OPCODE_COLUMN },
+ { "ROW" , SC_OPCODE_ROW },
+ { "SHEET" , SC_OPCODE_SHEET },
+ { "ZGZ" , SC_OPCODE_RRI },
+ { "FV" , SC_OPCODE_FV },
+ { "NPER" , SC_OPCODE_NPER },
+ { "RATE" , SC_OPCODE_RATE },
+ { "IPMT" , SC_OPCODE_IPMT },
+ { "PPMT" , SC_OPCODE_PPMT },
+ { "CUMIPMT" , SC_OPCODE_CUM_IPMT },
+ { "CUMPRINC" , SC_OPCODE_CUM_PRINC },
+ { "EFFECTIVE" , SC_OPCODE_EFFECT },
+ { "NOMINAL" , SC_OPCODE_NOMINAL },
+ { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL },
+ { "DSUM" , SC_OPCODE_DB_SUM },
+ { "DCOUNT" , SC_OPCODE_DB_COUNT },
+ { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 },
+ { "DAVERAGE" , SC_OPCODE_DB_AVERAGE },
+ { "DGET" , SC_OPCODE_DB_GET },
+ { "DMAX" , SC_OPCODE_DB_MAX },
+ { "DMIN" , SC_OPCODE_DB_MIN },
+ { "DPRODUCT" , SC_OPCODE_DB_PRODUCT },
+ { "DSTDEV" , SC_OPCODE_DB_STD_DEV },
+ { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P },
+ { "DVAR" , SC_OPCODE_DB_VAR },
+ { "DVARP" , SC_OPCODE_DB_VAR_P },
+ { "INDIRECT" , SC_OPCODE_INDIRECT },
+ { "ADDRESS" , SC_OPCODE_ADDRESS },
+ { "MATCH" , SC_OPCODE_MATCH },
+ { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS },
+ { "COUNTIF" , SC_OPCODE_COUNT_IF },
+ { "SUMIF" , SC_OPCODE_SUM_IF },
+ { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF },
+ { "SUMIFS" , SC_OPCODE_SUM_IFS },
+ { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS },
+ { "COUNTIFS" , SC_OPCODE_COUNT_IFS },
+ { "LOOKUP" , SC_OPCODE_LOOKUP },
+ { "VLOOKUP" , SC_OPCODE_V_LOOKUP },
+ { "HLOOKUP" , SC_OPCODE_H_LOOKUP },
+ { "MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union)
+ { "OFFSET" , SC_OPCODE_OFFSET },
+ { "INDEX" , SC_OPCODE_INDEX },
+ { "AREAS" , SC_OPCODE_AREAS },
+ { "DOLLAR" , SC_OPCODE_CURRENCY },
+ { "REPLACE" , SC_OPCODE_REPLACE },
+ { "FIXED" , SC_OPCODE_FIXED },
+ { "FIND" , SC_OPCODE_FIND },
+ { "EXACT" , SC_OPCODE_EXACT },
+ { "LEFT" , SC_OPCODE_LEFT },
+ { "RIGHT" , SC_OPCODE_RIGHT },
+ { "SEARCH" , SC_OPCODE_SEARCH },
+ { "MID" , SC_OPCODE_MID },
+ { "LENB" , SC_OPCODE_LENB },
+ { "RIGHTB" , SC_OPCODE_RIGHTB },
+ { "LEFTB" , SC_OPCODE_LEFTB },
+ { "REPLACEB" , SC_OPCODE_REPLACEB },
+ { "MIDB" , SC_OPCODE_MIDB },
+ { "TEXT" , SC_OPCODE_TEXT },
+ { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE },
+ { "REPT" , SC_OPCODE_REPT },
+ { "CONCATENATE" , SC_OPCODE_CONCAT },
+ { "CONCAT" , SC_OPCODE_CONCAT_MS },
+ { "TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS },
+ { "IFS" , SC_OPCODE_IFS_MS },
+ { "SWITCH" , SC_OPCODE_SWITCH_MS },
+ { "MINIFS" , SC_OPCODE_MINIFS_MS },
+ { "MAXIFS" , SC_OPCODE_MAXIFS_MS },
+ { "MVALUE" , SC_OPCODE_MAT_VALUE },
+ { "MDETERM" , SC_OPCODE_MAT_DET },
+ { "MINVERSE" , SC_OPCODE_MAT_INV },
+ { "MMULT" , SC_OPCODE_MAT_MULT },
+ { "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
+ { "MUNIT" , SC_OPCODE_MATRIX_UNIT },
+ { "GOALSEEK" , SC_OPCODE_BACK_SOLVER },
+ { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST },
+ { "HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS },
+ { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST },
+ { "LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS },
+ { "TDIST" , SC_OPCODE_T_DIST },
+ { "T.DIST.2T" , SC_OPCODE_T_DIST_2T },
+ { "T.DIST" , SC_OPCODE_T_DIST_MS },
+ { "T.DIST.RT" , SC_OPCODE_T_DIST_RT },
+ { "FDIST" , SC_OPCODE_F_DIST },
+ { "F.DIST" , SC_OPCODE_F_DIST_LT },
+ { "F.DIST.RT" , SC_OPCODE_F_DIST_RT },
+ { "CHIDIST" , SC_OPCODE_CHI_DIST },
+ { "CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS },
+ { "WEIBULL" , SC_OPCODE_WEIBULL },
+ { "WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS },
+ { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT },
+ { "NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS },
+ { "CRITBINOM" , SC_OPCODE_CRIT_BINOM },
+ { "BINOM.INV" , SC_OPCODE_BINOM_INV },
+ { "KURT" , SC_OPCODE_KURT },
+ { "HARMEAN" , SC_OPCODE_HAR_MEAN },
+ { "GEOMEAN" , SC_OPCODE_GEO_MEAN },
+ { "STANDARDIZE" , SC_OPCODE_STANDARD },
+ { "AVEDEV" , SC_OPCODE_AVE_DEV },
+ { "SKEW" , SC_OPCODE_SKEW },
+ { "SKEWP" , SC_OPCODE_SKEWP },
+ { "DEVSQ" , SC_OPCODE_DEV_SQ },
+ { "MEDIAN" , SC_OPCODE_MEDIAN },
+ { "MODE" , SC_OPCODE_MODAL_VALUE },
+ { "MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS },
+ { "MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI },
+ { "ZTEST" , SC_OPCODE_Z_TEST },
+ { "Z.TEST" , SC_OPCODE_Z_TEST_MS },
+ { "AGGREGATE" , SC_OPCODE_AGGREGATE },
+ { "TTEST" , SC_OPCODE_T_TEST },
+ { "T.TEST" , SC_OPCODE_T_TEST_MS },
+ { "RANK" , SC_OPCODE_RANK },
+ { "PERCENTILE" , SC_OPCODE_PERCENTILE },
+ { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK },
+ { "PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC },
+ { "PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC },
+ { "QUARTILE.INC" , SC_OPCODE_QUARTILE_INC },
+ { "RANK.EQ" , SC_OPCODE_RANK_EQ },
+ { "PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC },
+ { "PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC },
+ { "QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC },
+ { "RANK.AVG" , SC_OPCODE_RANK_AVG },
+ { "LARGE" , SC_OPCODE_LARGE },
+ { "SMALL" , SC_OPCODE_SMALL },
+ { "FREQUENCY" , SC_OPCODE_FREQUENCY },
+ { "QUARTILE" , SC_OPCODE_QUARTILE },
+ { "NORMINV" , SC_OPCODE_NORM_INV },
+ { "NORM.INV" , SC_OPCODE_NORM_INV_MS },
+ { "CONFIDENCE" , SC_OPCODE_CONFIDENCE },
+ { "CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N },
+ { "CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T },
+ { "FTEST" , SC_OPCODE_F_TEST },
+ { "F.TEST" , SC_OPCODE_F_TEST_MS },
+ { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN },
+ { "PROB" , SC_OPCODE_PROB },
+ { "CORREL" , SC_OPCODE_CORREL },
+ { "COVAR" , SC_OPCODE_COVAR },
+ { "COVARIANCE.P" , SC_OPCODE_COVARIANCE_P },
+ { "COVARIANCE.S" , SC_OPCODE_COVARIANCE_S },
+ { "PEARSON" , SC_OPCODE_PEARSON },
+ { "RSQ" , SC_OPCODE_RSQ },
+ { "STEYX" , SC_OPCODE_STEYX },
+ { "SLOPE" , SC_OPCODE_SLOPE },
+ { "INTERCEPT" , SC_OPCODE_INTERCEPT },
+ { "TREND" , SC_OPCODE_TREND },
+ { "GROWTH" , SC_OPCODE_GROWTH },
+ { "LINEST" , SC_OPCODE_LINEST },
+ { "LOGEST" , SC_OPCODE_LOGEST },
+ { "FORECAST" , SC_OPCODE_FORECAST },
+ { "FORECAST.ETS.ADD" , SC_OPCODE_FORECAST_ETS_ADD },
+ { "FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA },
+ { "FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL },
+ { "FORECAST.ETS.PI.ADD" , SC_OPCODE_FORECAST_ETS_PIA },
+ { "FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM },
+ { "FORECAST.ETS.STAT.ADD" , SC_OPCODE_FORECAST_ETS_STA },
+ { "FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM },
+ { "FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN },
+ { "CHIINV" , SC_OPCODE_CHI_INV },
+ { "CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS },
+ { "GAMMADIST" , SC_OPCODE_GAMMA_DIST },
+ { "GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS },
+ { "GAMMAINV" , SC_OPCODE_GAMMA_INV },
+ { "GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS },
+ { "TINV" , SC_OPCODE_T_INV },
+ { "T.INV.2T" , SC_OPCODE_T_INV_2T },
+ { "T.INV" , SC_OPCODE_T_INV_MS },
+ { "FINV" , SC_OPCODE_F_INV },
+ { "F.INV" , SC_OPCODE_F_INV_LT },
+ { "F.INV.RT" , SC_OPCODE_F_INV_RT },
+ { "CHITEST" , SC_OPCODE_CHI_TEST },
+ { "CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS },
+ { "LOGINV" , SC_OPCODE_LOG_INV },
+ { "LOGNORM.INV" , SC_OPCODE_LOG_INV_MS },
+ { "TABLE" , SC_OPCODE_TABLE_OP },
+ { "BETADIST" , SC_OPCODE_BETA_DIST },
+ { "BETAINV" , SC_OPCODE_BETA_INV },
+ { "BETA.DIST" , SC_OPCODE_BETA_DIST_MS },
+ { "BETA.INV" , SC_OPCODE_BETA_INV_MS },
+ { "WEEKNUM" , SC_OPCODE_WEEK },
+ { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM },
+ { "WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO },
+ { "EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY },
+ { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK },
+ { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS },
+ { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS },
+ { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS },
+ { "#NAME!" , SC_OPCODE_NO_NAME },
+ { "STYLE" , SC_OPCODE_STYLE },
+ { "DDE" , SC_OPCODE_DDE },
+ { "BASE" , SC_OPCODE_BASE },
+ { "DECIMAL" , SC_OPCODE_DECIMAL },
+ { "CONVERT" , SC_OPCODE_CONVERT_OOO }, // wrong but ODF1.1, keep it
+ { "ROMAN" , SC_OPCODE_ROMAN },
+ { "ARABIC" , SC_OPCODE_ARABIC },
+ { "HYPERLINK" , SC_OPCODE_HYPERLINK },
+ { "INFO" , SC_OPCODE_INFO },
+ { "BAHTTEXT" , SC_OPCODE_BAHTTEXT },
+ { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA },
+ { "EUROCONVERT" , SC_OPCODE_EUROCONVERT },
+ { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE },
+ { "GAMMA" , SC_OPCODE_GAMMA },
+ { "CHISQDIST" , SC_OPCODE_CHISQ_DIST },
+ { "CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS },
+ { "CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS },
+ { "CHISQINV" , SC_OPCODE_CHISQ_INV },
+ { "BITAND" , SC_OPCODE_BITAND },
+ { "BITOR" , SC_OPCODE_BITOR },
+ { "BITXOR" , SC_OPCODE_BITXOR },
+ { "BITRSHIFT" , SC_OPCODE_BITRSHIFT },
+ { "BITLSHIFT" , SC_OPCODE_BITLSHIFT },
+ /* BEGIN defined ERROR.TYPE() values. */
+ { "#NULL!" , SC_OPCODE_ERROR_NULL },
+ { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO },
+ { "#VALUE!" , SC_OPCODE_ERROR_VALUE },
+ { "#REF!" , SC_OPCODE_ERROR_REF },
+ { "#NAME?" , SC_OPCODE_ERROR_NAME },
+ { "#NUM!" , SC_OPCODE_ERROR_NUM },
+ { "#N/A" , SC_OPCODE_ERROR_NA },
+ /* END defined ERROR.TYPE() values. */
+ { "FILTERXML" , SC_OPCODE_FILTERXML },
+ { "WEBSERVICE" , SC_OPCODE_WEBSERVICE },
+ { "COLOR" , SC_OPCODE_COLOR },
+ { "ERF.PRECISE" , SC_OPCODE_ERF_MS },
+ { "ERFC.PRECISE" , SC_OPCODE_ERFC_MS },
+ { "ENCODEURL" , SC_OPCODE_ENCODEURL },
+ { "RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT },
+ { "ROUNDSIG" , SC_OPCODE_ROUNDSIG },
+ { nullptr, -1 }
+};
+
+/** These English names are used for XFunctionAccess API. */
+// DO NOT CHANGE NAMES! Only add functions.
+// If there is a reason for another name for some function then add an
+// *additional* name to be recognized to sc/source/core/tool/compiler.cxx
+// ScCompiler::IsOpCode().
+const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_API[] =
+{
+ { "IF" , SC_OPCODE_IF },
+ { "IFERROR" , SC_OPCODE_IF_ERROR },
+ { "IFNA" , SC_OPCODE_IF_NA },
+ { "CHOOSE" , SC_OPCODE_CHOOSE },
+ { "(" , SC_OPCODE_OPEN },
+ { ")" , SC_OPCODE_CLOSE },
+ { "[" , SC_OPCODE_TABLE_REF_OPEN },
+ { "]" , SC_OPCODE_TABLE_REF_CLOSE },
+ { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL },
+ { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS },
+ { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA },
+ { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS },
+ { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW },
+ { "{" , SC_OPCODE_ARRAY_OPEN },
+ { "}" , SC_OPCODE_ARRAY_CLOSE },
+ { "|" , SC_OPCODE_ARRAY_ROW_SEP },
+ { ";" , SC_OPCODE_ARRAY_COL_SEP },
+ { ";" , SC_OPCODE_SEP },
+ { "%" , SC_OPCODE_PERCENT_SIGN },
+ { "+" , SC_OPCODE_ADD },
+ { "-" , SC_OPCODE_SUB },
+ { "*" , SC_OPCODE_MUL },
+ { "/" , SC_OPCODE_DIV },
+ { "&" , SC_OPCODE_AMPERSAND },
+ { "^" , SC_OPCODE_POW },
+ { "=" , SC_OPCODE_EQUAL },
+ { "<>" , SC_OPCODE_NOT_EQUAL },
+ { "<" , SC_OPCODE_LESS },
+ { ">" , SC_OPCODE_GREATER },
+ { "<=" , SC_OPCODE_LESS_EQUAL },
+ { ">=" , SC_OPCODE_GREATER_EQUAL },
+ { "AND" , SC_OPCODE_AND },
+ { "OR" , SC_OPCODE_OR },
+ { "XOR" , SC_OPCODE_XOR },
+ { "!" , SC_OPCODE_INTERSECT },
+ { "~" , SC_OPCODE_UNION },
+ { ":" , SC_OPCODE_RANGE },
+ { "NOT" , SC_OPCODE_NOT },
+ { "NEG" , SC_OPCODE_NEG },
+ { "-" , SC_OPCODE_NEG_SUB },
+ { "PI" , SC_OPCODE_PI },
+ { "RAND" , SC_OPCODE_RANDOM },
+ { "TRUE" , SC_OPCODE_TRUE },
+ { "FALSE" , SC_OPCODE_FALSE },
+ { "TODAY" , SC_OPCODE_GET_ACT_DATE },
+ { "NOW" , SC_OPCODE_GET_ACT_TIME },
+ { "NA" , SC_OPCODE_NO_VALUE },
+ { "CURRENT" , SC_OPCODE_CURRENT },
+ { "DEGREES" , SC_OPCODE_DEG },
+ { "RADIANS" , SC_OPCODE_RAD },
+ { "SIN" , SC_OPCODE_SIN },
+ { "COS" , SC_OPCODE_COS },
+ { "TAN" , SC_OPCODE_TAN },
+ { "COT" , SC_OPCODE_COT },
+ { "ASIN" , SC_OPCODE_ARC_SIN },
+ { "ACOS" , SC_OPCODE_ARC_COS },
+ { "ATAN" , SC_OPCODE_ARC_TAN },
+ { "ACOT" , SC_OPCODE_ARC_COT },
+ { "SINH" , SC_OPCODE_SIN_HYP },
+ { "COSH" , SC_OPCODE_COS_HYP },
+ { "TANH" , SC_OPCODE_TAN_HYP },
+ { "COTH" , SC_OPCODE_COT_HYP },
+ { "ASINH" , SC_OPCODE_ARC_SIN_HYP },
+ { "ACOSH" , SC_OPCODE_ARC_COS_HYP },
+ { "ATANH" , SC_OPCODE_ARC_TAN_HYP },
+ { "ACOTH" , SC_OPCODE_ARC_COT_HYP },
+ { "CSC" , SC_OPCODE_COSECANT },
+ { "SEC" , SC_OPCODE_SECANT },
+ { "CSCH" , SC_OPCODE_COSECANT_HYP },
+ { "SECH" , SC_OPCODE_SECANT_HYP },
+ { "EXP" , SC_OPCODE_EXP },
+ { "LN" , SC_OPCODE_LN },
+ { "SQRT" , SC_OPCODE_SQRT },
+ { "FACT" , SC_OPCODE_FACT },
+ { "YEAR" , SC_OPCODE_GET_YEAR },
+ { "MONTH" , SC_OPCODE_GET_MONTH },
+ { "DAY" , SC_OPCODE_GET_DAY },
+ { "HOUR" , SC_OPCODE_GET_HOUR },
+ { "MINUTE" , SC_OPCODE_GET_MIN },
+ { "SECOND" , SC_OPCODE_GET_SEC },
+ { "SIGN" , SC_OPCODE_PLUS_MINUS },
+ { "ABS" , SC_OPCODE_ABS },
+ { "INT" , SC_OPCODE_INT },
+ { "PHI" , SC_OPCODE_PHI },
+ { "GAUSS" , SC_OPCODE_GAUSS },
+ { "ISBLANK" , SC_OPCODE_IS_EMPTY },
+ { "ISTEXT" , SC_OPCODE_IS_STRING },
+ { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING },
+ { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL },
+ { "TYPE" , SC_OPCODE_TYPE },
+ { "CELL" , SC_OPCODE_CELL },
+ { "ISREF" , SC_OPCODE_IS_REF },
+ { "ISNUMBER" , SC_OPCODE_IS_VALUE },
+ { "ISFORMULA" , SC_OPCODE_IS_FORMULA },
+ { "ISNA" , SC_OPCODE_IS_NV },
+ { "ISERR" , SC_OPCODE_IS_ERR },
+ { "ISERROR" , SC_OPCODE_IS_ERROR },
+ { "ISEVEN" , SC_OPCODE_IS_EVEN },
+ { "ISODD" , SC_OPCODE_IS_ODD },
+ { "N" , SC_OPCODE_N },
+ { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE },
+ { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE },
+ { "CODE" , SC_OPCODE_CODE },
+ { "TRIM" , SC_OPCODE_TRIM },
+ { "UPPER" , SC_OPCODE_UPPER },
+ { "PROPER" , SC_OPCODE_PROPER },
+ { "LOWER" , SC_OPCODE_LOWER },
+ { "LEN" , SC_OPCODE_LEN },
+ { "T" , SC_OPCODE_T },
+ { "VALUE" , SC_OPCODE_VALUE },
+ { "CLEAN" , SC_OPCODE_CLEAN },
+ { "CHAR" , SC_OPCODE_CHAR },
+ { "JIS" , SC_OPCODE_JIS },
+ { "ASC" , SC_OPCODE_ASC },
+ { "UNICODE" , SC_OPCODE_UNICODE },
+ { "UNICHAR" , SC_OPCODE_UNICHAR },
+ { "LOG10" , SC_OPCODE_LOG10 },
+ { "EVEN" , SC_OPCODE_EVEN },
+ { "ODD" , SC_OPCODE_ODD },
+ { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST },
+ { "NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS },
+ { "FISHER" , SC_OPCODE_FISHER },
+ { "FISHERINV" , SC_OPCODE_FISHER_INV },
+ { "NORMSINV" , SC_OPCODE_S_NORM_INV },
+ { "NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS },
+ { "GAMMALN" , SC_OPCODE_GAMMA_LN },
+ { "GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS },
+ { "ERRORTYPE" , SC_OPCODE_ERROR_TYPE },
+ { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF },
+ { "FORMULA" , SC_OPCODE_FORMULA },
+ { "ATAN2" , SC_OPCODE_ARC_TAN_2 },
+ { "CEILING.MATH" , SC_OPCODE_CEIL_MATH },
+ { "CEILING" , SC_OPCODE_CEIL },
+ { "CEILING.XCL" , SC_OPCODE_CEIL_MS },
+ { "CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE },
+ { "ISO.CEILING" , SC_OPCODE_CEIL_ISO },
+ { "FLOOR" , SC_OPCODE_FLOOR },
+ { "FLOOR.XCL" , SC_OPCODE_FLOOR_MS },
+ { "FLOOR.MATH" , SC_OPCODE_FLOOR_MATH },
+ { "FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE },
+ { "ROUND" , SC_OPCODE_ROUND },
+ { "ROUNDUP" , SC_OPCODE_ROUND_UP },
+ { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN },
+ { "TRUNC" , SC_OPCODE_TRUNC },
+ { "LOG" , SC_OPCODE_LOG },
+ { "POWER" , SC_OPCODE_POWER },
+ { "GCD" , SC_OPCODE_GCD },
+ { "LCM" , SC_OPCODE_LCM },
+ { "MOD" , SC_OPCODE_MOD },
+ { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT },
+ { "SUMSQ" , SC_OPCODE_SUM_SQ },
+ { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 },
+ { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 },
+ { "SUMXMY2" , SC_OPCODE_SUM_XMY2 },
+ { "DATE" , SC_OPCODE_GET_DATE },
+ { "TIME" , SC_OPCODE_GET_TIME },
+ { "DAYS" , SC_OPCODE_GET_DIFF_DATE },
+ { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 },
+ { "DATEDIF" , SC_OPCODE_GET_DATEDIF },
+ { "MIN" , SC_OPCODE_MIN },
+ { "MINA" , SC_OPCODE_MIN_A },
+ { "MAX" , SC_OPCODE_MAX },
+ { "MAXA" , SC_OPCODE_MAX_A },
+ { "SUM" , SC_OPCODE_SUM },
+ { "PRODUCT" , SC_OPCODE_PRODUCT },
+ { "AVERAGE" , SC_OPCODE_AVERAGE },
+ { "AVERAGEA" , SC_OPCODE_AVERAGE_A },
+ { "COUNT" , SC_OPCODE_COUNT },
+ { "COUNTA" , SC_OPCODE_COUNT_2 },
+ { "NPV" , SC_OPCODE_NPV },
+ { "IRR" , SC_OPCODE_IRR },
+ { "MIRR" , SC_OPCODE_MIRR },
+ { "ISPMT" , SC_OPCODE_ISPMT },
+ { "VAR" , SC_OPCODE_VAR },
+ { "VARA" , SC_OPCODE_VAR_A },
+ { "VARP" , SC_OPCODE_VAR_P },
+ { "VARPA" , SC_OPCODE_VAR_P_A },
+ { "VAR.P" , SC_OPCODE_VAR_P_MS },
+ { "VAR.S" , SC_OPCODE_VAR_S },
+ { "STDEV" , SC_OPCODE_ST_DEV },
+ { "STDEVA" , SC_OPCODE_ST_DEV_A },
+ { "STDEVP" , SC_OPCODE_ST_DEV_P },
+ { "STDEVPA" , SC_OPCODE_ST_DEV_P_A },
+ { "STDEV.P" , SC_OPCODE_ST_DEV_P_MS },
+ { "STDEV.S" , SC_OPCODE_ST_DEV_S },
+ { "B" , SC_OPCODE_B },
+ { "NORMDIST" , SC_OPCODE_NORM_DIST },
+ { "NORM.DIST" , SC_OPCODE_NORM_DIST_MS },
+ { "EXPONDIST" , SC_OPCODE_EXP_DIST },
+ { "EXPON.DIST" , SC_OPCODE_EXP_DIST_MS },
+ { "BINOMDIST" , SC_OPCODE_BINOM_DIST },
+ { "BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS },
+ { "POISSON" , SC_OPCODE_POISSON_DIST },
+ { "POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS },
+ { "COMBIN" , SC_OPCODE_COMBIN },
+ { "COMBINA" , SC_OPCODE_COMBIN_A },
+ { "PERMUT" , SC_OPCODE_PERMUT },
+ { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A },
+ { "PV" , SC_OPCODE_PV },
+ { "SYD" , SC_OPCODE_SYD },
+ { "DDB" , SC_OPCODE_DDB },
+ { "DB" , SC_OPCODE_DB },
+ { "VDB" , SC_OPCODE_VBD },
+ { "DURATION" , SC_OPCODE_PDURATION },
+ { "SLN" , SC_OPCODE_SLN },
+ { "PMT" , SC_OPCODE_PMT },
+ { "COLUMNS" , SC_OPCODE_COLUMNS },
+ { "ROWS" , SC_OPCODE_ROWS },
+ { "SHEETS" , SC_OPCODE_SHEETS },
+ { "COLUMN" , SC_OPCODE_COLUMN },
+ { "ROW" , SC_OPCODE_ROW },
+ { "SHEET" , SC_OPCODE_SHEET },
+ { "ZGZ" , SC_OPCODE_RRI },
+ { "FV" , SC_OPCODE_FV },
+ { "NPER" , SC_OPCODE_NPER },
+ { "RATE" , SC_OPCODE_RATE },
+ { "IPMT" , SC_OPCODE_IPMT },
+ { "PPMT" , SC_OPCODE_PPMT },
+ { "CUMIPMT" , SC_OPCODE_CUM_IPMT },
+ { "CUMPRINC" , SC_OPCODE_CUM_PRINC },
+ { "EFFECTIVE" , SC_OPCODE_EFFECT },
+ { "NOMINAL" , SC_OPCODE_NOMINAL },
+ { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL },
+ { "DSUM" , SC_OPCODE_DB_SUM },
+ { "DCOUNT" , SC_OPCODE_DB_COUNT },
+ { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 },
+ { "DAVERAGE" , SC_OPCODE_DB_AVERAGE },
+ { "DGET" , SC_OPCODE_DB_GET },
+ { "DMAX" , SC_OPCODE_DB_MAX },
+ { "DMIN" , SC_OPCODE_DB_MIN },
+ { "DPRODUCT" , SC_OPCODE_DB_PRODUCT },
+ { "DSTDEV" , SC_OPCODE_DB_STD_DEV },
+ { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P },
+ { "DVAR" , SC_OPCODE_DB_VAR },
+ { "DVARP" , SC_OPCODE_DB_VAR_P },
+ { "INDIRECT" , SC_OPCODE_INDIRECT },
+ { "ADDRESS" , SC_OPCODE_ADDRESS },
+ { "MATCH" , SC_OPCODE_MATCH },
+ { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS },
+ { "COUNTIF" , SC_OPCODE_COUNT_IF },
+ { "SUMIF" , SC_OPCODE_SUM_IF },
+ { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF },
+ { "SUMIFS" , SC_OPCODE_SUM_IFS },
+ { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS },
+ { "COUNTIFS" , SC_OPCODE_COUNT_IFS },
+ { "LOOKUP" , SC_OPCODE_LOOKUP },
+ { "VLOOKUP" , SC_OPCODE_V_LOOKUP },
+ { "HLOOKUP" , SC_OPCODE_H_LOOKUP },
+ { "MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union)
+ { "OFFSET" , SC_OPCODE_OFFSET },
+ { "INDEX" , SC_OPCODE_INDEX }, // ?? first character = I ??
+ { "AREAS" , SC_OPCODE_AREAS },
+ { "DOLLAR" , SC_OPCODE_CURRENCY },
+ { "REPLACE" , SC_OPCODE_REPLACE },
+ { "FIXED" , SC_OPCODE_FIXED },
+ { "FIND" , SC_OPCODE_FIND },
+ { "EXACT" , SC_OPCODE_EXACT },
+ { "LEFT" , SC_OPCODE_LEFT },
+ { "RIGHT" , SC_OPCODE_RIGHT },
+ { "SEARCH" , SC_OPCODE_SEARCH },
+ { "MID" , SC_OPCODE_MID },
+ { "LENB" , SC_OPCODE_LENB },
+ { "RIGHTB" , SC_OPCODE_RIGHTB },
+ { "LEFTB" , SC_OPCODE_LEFTB },
+ { "REPLACEB" , SC_OPCODE_REPLACEB },
+ { "MIDB" , SC_OPCODE_MIDB },
+ { "TEXT" , SC_OPCODE_TEXT },
+ { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE },
+ { "REPT" , SC_OPCODE_REPT },
+ { "CONCATENATE" , SC_OPCODE_CONCAT },
+ { "CONCAT" , SC_OPCODE_CONCAT_MS },
+ { "TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS },
+ { "IFS" , SC_OPCODE_IFS_MS },
+ { "SWITCH" , SC_OPCODE_SWITCH_MS },
+ { "MINIFS" , SC_OPCODE_MINIFS_MS },
+ { "MAXIFS" , SC_OPCODE_MAXIFS_MS },
+ { "MVALUE" , SC_OPCODE_MAT_VALUE },
+ { "MDETERM" , SC_OPCODE_MAT_DET },
+ { "MINVERSE" , SC_OPCODE_MAT_INV },
+ { "MMULT" , SC_OPCODE_MAT_MULT },
+ { "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
+ { "MUNIT" , SC_OPCODE_MATRIX_UNIT },
+ { "GOALSEEK" , SC_OPCODE_BACK_SOLVER },
+ { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST },
+ { "HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS },
+ { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST },
+ { "LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS },
+ { "TDIST" , SC_OPCODE_T_DIST },
+ { "T.DIST.2T" , SC_OPCODE_T_DIST_2T },
+ { "T.DIST" , SC_OPCODE_T_DIST_MS },
+ { "T.DIST.RT" , SC_OPCODE_T_DIST_RT },
+ { "FDIST" , SC_OPCODE_F_DIST },
+ { "F.DIST" , SC_OPCODE_F_DIST_LT },
+ { "F.DIST.RT" , SC_OPCODE_F_DIST_RT },
+ { "CHIDIST" , SC_OPCODE_CHI_DIST },
+ { "CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS },
+ { "WEIBULL" , SC_OPCODE_WEIBULL },
+ { "WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS },
+ { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT },
+ { "NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS },
+ { "CRITBINOM" , SC_OPCODE_CRIT_BINOM },
+ { "BINOM.INV" , SC_OPCODE_BINOM_INV },
+ { "KURT" , SC_OPCODE_KURT },
+ { "HARMEAN" , SC_OPCODE_HAR_MEAN },
+ { "GEOMEAN" , SC_OPCODE_GEO_MEAN },
+ { "STANDARDIZE" , SC_OPCODE_STANDARD },
+ { "AVEDEV" , SC_OPCODE_AVE_DEV },
+ { "SKEW" , SC_OPCODE_SKEW },
+ { "SKEWP" , SC_OPCODE_SKEWP },
+ { "DEVSQ" , SC_OPCODE_DEV_SQ },
+ { "MEDIAN" , SC_OPCODE_MEDIAN },
+ { "MODE" , SC_OPCODE_MODAL_VALUE },
+ { "MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS },
+ { "MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI },
+ { "ZTEST" , SC_OPCODE_Z_TEST },
+ { "Z.TEST" , SC_OPCODE_Z_TEST_MS },
+ { "AGGREGATE" , SC_OPCODE_AGGREGATE },
+ { "TTEST" , SC_OPCODE_T_TEST },
+ { "T.TEST" , SC_OPCODE_T_TEST_MS },
+ { "RANK" , SC_OPCODE_RANK },
+ { "PERCENTILE" , SC_OPCODE_PERCENTILE },
+ { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK },
+ { "PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC },
+ { "PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC },
+ { "QUARTILE.INC" , SC_OPCODE_QUARTILE_INC },
+ { "RANK.EQ" , SC_OPCODE_RANK_EQ },
+ { "PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC },
+ { "PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC },
+ { "QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC },
+ { "RANK.AVG" , SC_OPCODE_RANK_AVG },
+ { "LARGE" , SC_OPCODE_LARGE },
+ { "SMALL" , SC_OPCODE_SMALL },
+ { "FREQUENCY" , SC_OPCODE_FREQUENCY },
+ { "QUARTILE" , SC_OPCODE_QUARTILE },
+ { "NORMINV" , SC_OPCODE_NORM_INV },
+ { "NORM.INV" , SC_OPCODE_NORM_INV_MS },
+ { "CONFIDENCE" , SC_OPCODE_CONFIDENCE },
+ { "CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N },
+ { "CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T },
+ { "FTEST" , SC_OPCODE_F_TEST },
+ { "F.TEST" , SC_OPCODE_F_TEST_MS },
+ { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN },
+ { "PROB" , SC_OPCODE_PROB },
+ { "CORREL" , SC_OPCODE_CORREL },
+ { "COVAR" , SC_OPCODE_COVAR },
+ { "COVARIANCE.P" , SC_OPCODE_COVARIANCE_P },
+ { "COVARIANCE.S" , SC_OPCODE_COVARIANCE_S },
+ { "PEARSON" , SC_OPCODE_PEARSON },
+ { "RSQ" , SC_OPCODE_RSQ },
+ { "STEYX" , SC_OPCODE_STEYX },
+ { "SLOPE" , SC_OPCODE_SLOPE },
+ { "INTERCEPT" , SC_OPCODE_INTERCEPT },
+ { "TREND" , SC_OPCODE_TREND },
+ { "GROWTH" , SC_OPCODE_GROWTH },
+ { "LINEST" , SC_OPCODE_LINEST },
+ { "LOGEST" , SC_OPCODE_LOGEST },
+ { "FORECAST" , SC_OPCODE_FORECAST },
+ { "FORECAST.ETS.ADD" , SC_OPCODE_FORECAST_ETS_ADD },
+ { "FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA },
+ { "FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL },
+ { "FORECAST.ETS.PI.ADD" , SC_OPCODE_FORECAST_ETS_PIA },
+ { "FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM },
+ { "FORECAST.ETS.STAT.ADD" , SC_OPCODE_FORECAST_ETS_STA },
+ { "FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM },
+ { "FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN },
+ { "CHIINV" , SC_OPCODE_CHI_INV },
+ { "CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS },
+ { "GAMMADIST" , SC_OPCODE_GAMMA_DIST },
+ { "GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS },
+ { "GAMMAINV" , SC_OPCODE_GAMMA_INV },
+ { "GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS },
+ { "TINV" , SC_OPCODE_T_INV },
+ { "T.INV.2T" , SC_OPCODE_T_INV_2T },
+ { "T.INV" , SC_OPCODE_T_INV_MS },
+ { "FINV" , SC_OPCODE_F_INV },
+ { "F.INV" , SC_OPCODE_F_INV_LT },
+ { "F.INV.RT" , SC_OPCODE_F_INV_RT },
+ { "CHITEST" , SC_OPCODE_CHI_TEST },
+ { "CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS },
+ { "LOGINV" , SC_OPCODE_LOG_INV },
+ { "LOGNORM.INV" , SC_OPCODE_LOG_INV_MS },
+ { "TABLE" , SC_OPCODE_TABLE_OP },
+ { "BETADIST" , SC_OPCODE_BETA_DIST },
+ { "BETAINV" , SC_OPCODE_BETA_INV },
+ { "BETA.DIST" , SC_OPCODE_BETA_DIST_MS },
+ { "BETA.INV" , SC_OPCODE_BETA_INV_MS },
+ { "WEEKNUM" , SC_OPCODE_WEEK },
+ { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM },
+ { "WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO },
+ { "EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY },
+ { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK },
+ { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS },
+ { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS },
+ { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS },
+ { "#NAME!" , SC_OPCODE_NO_NAME },
+ { "STYLE" , SC_OPCODE_STYLE },
+ { "DDE" , SC_OPCODE_DDE },
+ { "BASE" , SC_OPCODE_BASE },
+ { "DECIMAL" , SC_OPCODE_DECIMAL },
+ { "CONVERT" , SC_OPCODE_CONVERT_OOO },
+ { "ROMAN" , SC_OPCODE_ROMAN },
+ { "ARABIC" , SC_OPCODE_ARABIC },
+ { "HYPERLINK" , SC_OPCODE_HYPERLINK },
+ { "INFO" , SC_OPCODE_INFO },
+ { "BAHTTEXT" , SC_OPCODE_BAHTTEXT },
+ { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA },
+ { "EUROCONVERT" , SC_OPCODE_EUROCONVERT },
+ { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE },
+ { "GAMMA" , SC_OPCODE_GAMMA },
+ { "CHISQDIST" , SC_OPCODE_CHISQ_DIST },
+ { "CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS },
+ { "CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS },
+ { "CHISQINV" , SC_OPCODE_CHISQ_INV },
+ { "BITAND" , SC_OPCODE_BITAND },
+ { "BITOR" , SC_OPCODE_BITOR },
+ { "BITXOR" , SC_OPCODE_BITXOR },
+ { "BITRSHIFT" , SC_OPCODE_BITRSHIFT },
+ { "BITLSHIFT" , SC_OPCODE_BITLSHIFT },
+ { "#NULL!" , SC_OPCODE_ERROR_NULL },
+ { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO },
+ { "#VALUE!" , SC_OPCODE_ERROR_VALUE },
+ { "#REF!" , SC_OPCODE_ERROR_REF },
+ { "#NAME?" , SC_OPCODE_ERROR_NAME },
+ { "#NUM!" , SC_OPCODE_ERROR_NUM },
+ { "#N/A" , SC_OPCODE_ERROR_NA },
+ /* END defined ERROR.TYPE() values. */
+ { "FILTERXML" , SC_OPCODE_FILTERXML },
+ { "WEBSERVICE" , SC_OPCODE_WEBSERVICE },
+ { "COLOR" , SC_OPCODE_COLOR },
+ { "ERF.PRECISE" , SC_OPCODE_ERF_MS },
+ { "ERFC.PRECISE" , SC_OPCODE_ERFC_MS },
+ { "ENCODEURL" , SC_OPCODE_ENCODEURL },
+ { "RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT },
+ { "ROUNDSIG" , SC_OPCODE_ROUNDSIG },
+ { nullptr, -1 }
+};
+
+/** These English names can be chosen in the UI and can be changed. They
+ should match the [en-US] names of RID_STRLIST_FUNCTION_NAMES below. */
+// As such they are a duplicate, but we can not have two string localizations
+// at the same time.
+const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH[] =
+{
+ { "IF" , SC_OPCODE_IF },
+ { "IFERROR" , SC_OPCODE_IF_ERROR },
+ { "IFNA" , SC_OPCODE_IF_NA },
+ { "CHOOSE" , SC_OPCODE_CHOOSE },
+ { "(" , SC_OPCODE_OPEN },
+ { ")" , SC_OPCODE_CLOSE },
+ { "[" , SC_OPCODE_TABLE_REF_OPEN },
+ { "]" , SC_OPCODE_TABLE_REF_CLOSE },
+ { "#All" , SC_OPCODE_TABLE_REF_ITEM_ALL },
+ { "#Headers" , SC_OPCODE_TABLE_REF_ITEM_HEADERS },
+ { "#Data" , SC_OPCODE_TABLE_REF_ITEM_DATA },
+ { "#Totals" , SC_OPCODE_TABLE_REF_ITEM_TOTALS },
+ { "#This Row" , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW },
+ { "{" , SC_OPCODE_ARRAY_OPEN },
+ { "}" , SC_OPCODE_ARRAY_CLOSE },
+ { "|" , SC_OPCODE_ARRAY_ROW_SEP },
+ { ";" , SC_OPCODE_ARRAY_COL_SEP },
+ { ";" , SC_OPCODE_SEP },
+ { "%" , SC_OPCODE_PERCENT_SIGN },
+ { "+" , SC_OPCODE_ADD },
+ { "-" , SC_OPCODE_SUB },
+ { "*" , SC_OPCODE_MUL },
+ { "/" , SC_OPCODE_DIV },
+ { "&" , SC_OPCODE_AMPERSAND },
+ { "^" , SC_OPCODE_POW },
+ { "=" , SC_OPCODE_EQUAL },
+ { "<>" , SC_OPCODE_NOT_EQUAL },
+ { "<" , SC_OPCODE_LESS },
+ { ">" , SC_OPCODE_GREATER },
+ { "<=" , SC_OPCODE_LESS_EQUAL },
+ { ">=" , SC_OPCODE_GREATER_EQUAL },
+ { "AND" , SC_OPCODE_AND },
+ { "OR" , SC_OPCODE_OR },
+ { "XOR" , SC_OPCODE_XOR },
+ { "!" , SC_OPCODE_INTERSECT },
+ { "~" , SC_OPCODE_UNION },
+ { ":" , SC_OPCODE_RANGE },
+ { "NOT" , SC_OPCODE_NOT },
+ { "NEG" , SC_OPCODE_NEG },
+ { "-" , SC_OPCODE_NEG_SUB },
+ { "PI" , SC_OPCODE_PI },
+ { "RAND" , SC_OPCODE_RANDOM },
+ { "TRUE" , SC_OPCODE_TRUE },
+ { "FALSE" , SC_OPCODE_FALSE },
+ { "TODAY" , SC_OPCODE_GET_ACT_DATE },
+ { "NOW" , SC_OPCODE_GET_ACT_TIME },
+ { "NA" , SC_OPCODE_NO_VALUE },
+ { "CURRENT" , SC_OPCODE_CURRENT },
+ { "DEGREES" , SC_OPCODE_DEG },
+ { "RADIANS" , SC_OPCODE_RAD },
+ { "SIN" , SC_OPCODE_SIN },
+ { "COS" , SC_OPCODE_COS },
+ { "TAN" , SC_OPCODE_TAN },
+ { "COT" , SC_OPCODE_COT },
+ { "ASIN" , SC_OPCODE_ARC_SIN },
+ { "ACOS" , SC_OPCODE_ARC_COS },
+ { "ATAN" , SC_OPCODE_ARC_TAN },
+ { "ACOT" , SC_OPCODE_ARC_COT },
+ { "SINH" , SC_OPCODE_SIN_HYP },
+ { "COSH" , SC_OPCODE_COS_HYP },
+ { "TANH" , SC_OPCODE_TAN_HYP },
+ { "COTH" , SC_OPCODE_COT_HYP },
+ { "ASINH" , SC_OPCODE_ARC_SIN_HYP },
+ { "ACOSH" , SC_OPCODE_ARC_COS_HYP },
+ { "ATANH" , SC_OPCODE_ARC_TAN_HYP },
+ { "ACOTH" , SC_OPCODE_ARC_COT_HYP },
+ { "CSC" , SC_OPCODE_COSECANT },
+ { "SEC" , SC_OPCODE_SECANT },
+ { "CSCH" , SC_OPCODE_COSECANT_HYP },
+ { "SECH" , SC_OPCODE_SECANT_HYP },
+ { "EXP" , SC_OPCODE_EXP },
+ { "LN" , SC_OPCODE_LN },
+ { "SQRT" , SC_OPCODE_SQRT },
+ { "FACT" , SC_OPCODE_FACT },
+ { "YEAR" , SC_OPCODE_GET_YEAR },
+ { "MONTH" , SC_OPCODE_GET_MONTH },
+ { "DAY" , SC_OPCODE_GET_DAY },
+ { "HOUR" , SC_OPCODE_GET_HOUR },
+ { "MINUTE" , SC_OPCODE_GET_MIN },
+ { "SECOND" , SC_OPCODE_GET_SEC },
+ { "SIGN" , SC_OPCODE_PLUS_MINUS },
+ { "ABS" , SC_OPCODE_ABS },
+ { "INT" , SC_OPCODE_INT },
+ { "PHI" , SC_OPCODE_PHI },
+ { "GAUSS" , SC_OPCODE_GAUSS },
+ { "ISBLANK" , SC_OPCODE_IS_EMPTY },
+ { "ISTEXT" , SC_OPCODE_IS_STRING },
+ { "ISNONTEXT" , SC_OPCODE_IS_NON_STRING },
+ { "ISLOGICAL" , SC_OPCODE_IS_LOGICAL },
+ { "TYPE" , SC_OPCODE_TYPE },
+ { "CELL" , SC_OPCODE_CELL },
+ { "ISREF" , SC_OPCODE_IS_REF },
+ { "ISNUMBER" , SC_OPCODE_IS_VALUE },
+ { "ISFORMULA" , SC_OPCODE_IS_FORMULA },
+ { "ISNA" , SC_OPCODE_IS_NV },
+ { "ISERR" , SC_OPCODE_IS_ERR },
+ { "ISERROR" , SC_OPCODE_IS_ERROR },
+ { "ISEVEN" , SC_OPCODE_IS_EVEN },
+ { "ISODD" , SC_OPCODE_IS_ODD },
+ { "N" , SC_OPCODE_N },
+ { "DATEVALUE" , SC_OPCODE_GET_DATE_VALUE },
+ { "TIMEVALUE" , SC_OPCODE_GET_TIME_VALUE },
+ { "CODE" , SC_OPCODE_CODE },
+ { "TRIM" , SC_OPCODE_TRIM },
+ { "UPPER" , SC_OPCODE_UPPER },
+ { "PROPER" , SC_OPCODE_PROPER },
+ { "LOWER" , SC_OPCODE_LOWER },
+ { "LEN" , SC_OPCODE_LEN },
+ { "T" , SC_OPCODE_T },
+ { "VALUE" , SC_OPCODE_VALUE },
+ { "CLEAN" , SC_OPCODE_CLEAN },
+ { "CHAR" , SC_OPCODE_CHAR },
+ { "JIS" , SC_OPCODE_JIS },
+ { "ASC" , SC_OPCODE_ASC },
+ { "UNICODE" , SC_OPCODE_UNICODE },
+ { "UNICHAR" , SC_OPCODE_UNICHAR },
+ { "LOG10" , SC_OPCODE_LOG10 },
+ { "EVEN" , SC_OPCODE_EVEN },
+ { "ODD" , SC_OPCODE_ODD },
+ { "NORMSDIST" , SC_OPCODE_STD_NORM_DIST },
+ { "NORM.S.DIST" , SC_OPCODE_STD_NORM_DIST_MS },
+ { "FISHER" , SC_OPCODE_FISHER },
+ { "FISHERINV" , SC_OPCODE_FISHER_INV },
+ { "NORMSINV" , SC_OPCODE_S_NORM_INV },
+ { "NORM.S.INV" , SC_OPCODE_S_NORM_INV_MS },
+ { "GAMMALN" , SC_OPCODE_GAMMA_LN },
+ { "GAMMALN.PRECISE" , SC_OPCODE_GAMMA_LN_MS },
+ { "ERRORTYPE" , SC_OPCODE_ERROR_TYPE },
+ { "ERROR.TYPE" , SC_OPCODE_ERROR_TYPE_ODF },
+ { "FORMULA" , SC_OPCODE_FORMULA },
+ { "ATAN2" , SC_OPCODE_ARC_TAN_2 },
+ { "CEILING.MATH" , SC_OPCODE_CEIL_MATH },
+ { "CEILING" , SC_OPCODE_CEIL },
+ { "CEILING.XCL" , SC_OPCODE_CEIL_MS },
+ { "CEILING.PRECISE" , SC_OPCODE_CEIL_PRECISE },
+ { "ISO.CEILING" , SC_OPCODE_CEIL_ISO },
+ { "FLOOR" , SC_OPCODE_FLOOR },
+ { "FLOOR.XCL" , SC_OPCODE_FLOOR_MS },
+ { "FLOOR.MATH" , SC_OPCODE_FLOOR_MATH },
+ { "FLOOR.PRECISE" , SC_OPCODE_FLOOR_PRECISE },
+ { "ROUND" , SC_OPCODE_ROUND },
+ { "ROUNDUP" , SC_OPCODE_ROUND_UP },
+ { "ROUNDDOWN" , SC_OPCODE_ROUND_DOWN },
+ { "TRUNC" , SC_OPCODE_TRUNC },
+ { "LOG" , SC_OPCODE_LOG },
+ { "POWER" , SC_OPCODE_POWER },
+ { "GCD" , SC_OPCODE_GCD },
+ { "LCM" , SC_OPCODE_LCM },
+ { "MOD" , SC_OPCODE_MOD },
+ { "SUMPRODUCT" , SC_OPCODE_SUM_PRODUCT },
+ { "SUMSQ" , SC_OPCODE_SUM_SQ },
+ { "SUMX2MY2" , SC_OPCODE_SUM_X2MY2 },
+ { "SUMX2PY2" , SC_OPCODE_SUM_X2DY2 },
+ { "SUMXMY2" , SC_OPCODE_SUM_XMY2 },
+ { "DATE" , SC_OPCODE_GET_DATE },
+ { "TIME" , SC_OPCODE_GET_TIME },
+ { "DAYS" , SC_OPCODE_GET_DIFF_DATE },
+ { "DAYS360" , SC_OPCODE_GET_DIFF_DATE_360 },
+ { "DATEDIF" , SC_OPCODE_GET_DATEDIF },
+ { "MIN" , SC_OPCODE_MIN },
+ { "MINA" , SC_OPCODE_MIN_A },
+ { "MAX" , SC_OPCODE_MAX },
+ { "MAXA" , SC_OPCODE_MAX_A },
+ { "SUM" , SC_OPCODE_SUM },
+ { "PRODUCT" , SC_OPCODE_PRODUCT },
+ { "AVERAGE" , SC_OPCODE_AVERAGE },
+ { "AVERAGEA" , SC_OPCODE_AVERAGE_A },
+ { "COUNT" , SC_OPCODE_COUNT },
+ { "COUNTA" , SC_OPCODE_COUNT_2 },
+ { "NPV" , SC_OPCODE_NPV },
+ { "IRR" , SC_OPCODE_IRR },
+ { "MIRR" , SC_OPCODE_MIRR },
+ { "ISPMT" , SC_OPCODE_ISPMT },
+ { "VAR" , SC_OPCODE_VAR },
+ { "VARA" , SC_OPCODE_VAR_A },
+ { "VARP" , SC_OPCODE_VAR_P },
+ { "VARPA" , SC_OPCODE_VAR_P_A },
+ { "VAR.P" , SC_OPCODE_VAR_P_MS },
+ { "VAR.S" , SC_OPCODE_VAR_S },
+ { "STDEV" , SC_OPCODE_ST_DEV },
+ { "STDEVA" , SC_OPCODE_ST_DEV_A },
+ { "STDEVP" , SC_OPCODE_ST_DEV_P },
+ { "STDEVPA" , SC_OPCODE_ST_DEV_P_A },
+ { "STDEV.P" , SC_OPCODE_ST_DEV_P_MS },
+ { "STDEV.S" , SC_OPCODE_ST_DEV_S },
+ { "B" , SC_OPCODE_B },
+ { "NORMDIST" , SC_OPCODE_NORM_DIST },
+ { "NORM.DIST" , SC_OPCODE_NORM_DIST_MS },
+ { "EXPONDIST" , SC_OPCODE_EXP_DIST },
+ { "EXPON.DIST" , SC_OPCODE_EXP_DIST_MS },
+ { "BINOMDIST" , SC_OPCODE_BINOM_DIST },
+ { "BINOM.DIST" , SC_OPCODE_BINOM_DIST_MS },
+ { "POISSON" , SC_OPCODE_POISSON_DIST },
+ { "POISSON.DIST" , SC_OPCODE_POISSON_DIST_MS },
+ { "COMBIN" , SC_OPCODE_COMBIN },
+ { "COMBINA" , SC_OPCODE_COMBIN_A },
+ { "PERMUT" , SC_OPCODE_PERMUT },
+ { "PERMUTATIONA" , SC_OPCODE_PERMUTATION_A },
+ { "PV" , SC_OPCODE_PV },
+ { "SYD" , SC_OPCODE_SYD },
+ { "DDB" , SC_OPCODE_DDB },
+ { "DB" , SC_OPCODE_DB },
+ { "VDB" , SC_OPCODE_VBD },
+ { "PDURATION" , SC_OPCODE_PDURATION },
+ { "SLN" , SC_OPCODE_SLN },
+ { "PMT" , SC_OPCODE_PMT },
+ { "COLUMNS" , SC_OPCODE_COLUMNS },
+ { "ROWS" , SC_OPCODE_ROWS },
+ { "SHEETS" , SC_OPCODE_SHEETS },
+ { "COLUMN" , SC_OPCODE_COLUMN },
+ { "ROW" , SC_OPCODE_ROW },
+ { "SHEET" , SC_OPCODE_SHEET },
+ { "ZGZ" , SC_OPCODE_RRI },
+ { "FV" , SC_OPCODE_FV },
+ { "NPER" , SC_OPCODE_NPER },
+ { "RATE" , SC_OPCODE_RATE },
+ { "IPMT" , SC_OPCODE_IPMT },
+ { "PPMT" , SC_OPCODE_PPMT },
+ { "CUMIPMT" , SC_OPCODE_CUM_IPMT },
+ { "CUMPRINC" , SC_OPCODE_CUM_PRINC },
+ { "EFFECTIVE" , SC_OPCODE_EFFECT },
+ { "NOMINAL" , SC_OPCODE_NOMINAL },
+ { "SUBTOTAL" , SC_OPCODE_SUB_TOTAL },
+ { "DSUM" , SC_OPCODE_DB_SUM },
+ { "DCOUNT" , SC_OPCODE_DB_COUNT },
+ { "DCOUNTA" , SC_OPCODE_DB_COUNT_2 },
+ { "DAVERAGE" , SC_OPCODE_DB_AVERAGE },
+ { "DGET" , SC_OPCODE_DB_GET },
+ { "DMAX" , SC_OPCODE_DB_MAX },
+ { "DMIN" , SC_OPCODE_DB_MIN },
+ { "DPRODUCT" , SC_OPCODE_DB_PRODUCT },
+ { "DSTDEV" , SC_OPCODE_DB_STD_DEV },
+ { "DSTDEVP" , SC_OPCODE_DB_STD_DEV_P },
+ { "DVAR" , SC_OPCODE_DB_VAR },
+ { "DVARP" , SC_OPCODE_DB_VAR_P },
+ { "INDIRECT" , SC_OPCODE_INDIRECT },
+ { "ADDRESS" , SC_OPCODE_ADDRESS },
+ { "MATCH" , SC_OPCODE_MATCH },
+ { "COUNTBLANK" , SC_OPCODE_COUNT_EMPTY_CELLS },
+ { "COUNTIF" , SC_OPCODE_COUNT_IF },
+ { "SUMIF" , SC_OPCODE_SUM_IF },
+ { "AVERAGEIF" , SC_OPCODE_AVERAGE_IF },
+ { "SUMIFS" , SC_OPCODE_SUM_IFS },
+ { "AVERAGEIFS" , SC_OPCODE_AVERAGE_IFS },
+ { "COUNTIFS" , SC_OPCODE_COUNT_IFS },
+ { "LOOKUP" , SC_OPCODE_LOOKUP },
+ { "VLOOKUP" , SC_OPCODE_V_LOOKUP },
+ { "HLOOKUP" , SC_OPCODE_H_LOOKUP },
+ { "MULTIRANGE" , SC_OPCODE_MULTI_AREA },
+ { "OFFSET" , SC_OPCODE_OFFSET },
+ { "INDEX" , SC_OPCODE_INDEX },
+ { "AREAS" , SC_OPCODE_AREAS },
+ { "DOLLAR" , SC_OPCODE_CURRENCY },
+ { "REPLACE" , SC_OPCODE_REPLACE },
+ { "FIXED" , SC_OPCODE_FIXED },
+ { "FIND" , SC_OPCODE_FIND },
+ { "EXACT" , SC_OPCODE_EXACT },
+ { "LEFT" , SC_OPCODE_LEFT },
+ { "RIGHT" , SC_OPCODE_RIGHT },
+ { "SEARCH" , SC_OPCODE_SEARCH },
+ { "MID" , SC_OPCODE_MID },
+ { "LENB" , SC_OPCODE_LENB },
+ { "RIGHTB" , SC_OPCODE_RIGHTB },
+ { "LEFTB" , SC_OPCODE_LEFTB },
+ { "REPLACEB" , SC_OPCODE_REPLACEB },
+ { "MIDB" , SC_OPCODE_MIDB },
+ { "TEXT" , SC_OPCODE_TEXT },
+ { "SUBSTITUTE" , SC_OPCODE_SUBSTITUTE },
+ { "REPT" , SC_OPCODE_REPT },
+ { "CONCATENATE" , SC_OPCODE_CONCAT },
+ { "CONCAT" , SC_OPCODE_CONCAT_MS },
+ { "TEXTJOIN" , SC_OPCODE_TEXTJOIN_MS },
+ { "IFS" , SC_OPCODE_IFS_MS },
+ { "SWITCH" , SC_OPCODE_SWITCH_MS },
+ { "MINIFS" , SC_OPCODE_MINIFS_MS },
+ { "MAXIFS" , SC_OPCODE_MAXIFS_MS },
+ { "MVALUE" , SC_OPCODE_MAT_VALUE },
+ { "MDETERM" , SC_OPCODE_MAT_DET },
+ { "MINVERSE" , SC_OPCODE_MAT_INV },
+ { "MMULT" , SC_OPCODE_MAT_MULT },
+ { "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
+ { "MUNIT" , SC_OPCODE_MATRIX_UNIT },
+ { "GOALSEEK" , SC_OPCODE_BACK_SOLVER },
+ { "HYPGEOMDIST" , SC_OPCODE_HYP_GEOM_DIST },
+ { "HYPGEOM.DIST" , SC_OPCODE_HYP_GEOM_DIST_MS },
+ { "LOGNORMDIST" , SC_OPCODE_LOG_NORM_DIST },
+ { "LOGNORM.DIST" , SC_OPCODE_LOG_NORM_DIST_MS },
+ { "TDIST" , SC_OPCODE_T_DIST },
+ { "T.DIST.2T" , SC_OPCODE_T_DIST_2T },
+ { "T.DIST" , SC_OPCODE_T_DIST_MS },
+ { "T.DIST.RT" , SC_OPCODE_T_DIST_RT },
+ { "FDIST" , SC_OPCODE_F_DIST },
+ { "F.DIST" , SC_OPCODE_F_DIST_LT },
+ { "F.DIST.RT" , SC_OPCODE_F_DIST_RT },
+ { "CHIDIST" , SC_OPCODE_CHI_DIST },
+ { "CHISQ.DIST.RT" , SC_OPCODE_CHI_DIST_MS },
+ { "WEIBULL" , SC_OPCODE_WEIBULL },
+ { "WEIBULL.DIST" , SC_OPCODE_WEIBULL_MS },
+ { "NEGBINOMDIST" , SC_OPCODE_NEG_BINOM_VERT },
+ { "NEGBINOM.DIST" , SC_OPCODE_NEG_BINOM_DIST_MS },
+ { "CRITBINOM" , SC_OPCODE_CRIT_BINOM },
+ { "BINOM.INV" , SC_OPCODE_BINOM_INV },
+ { "KURT" , SC_OPCODE_KURT },
+ { "HARMEAN" , SC_OPCODE_HAR_MEAN },
+ { "GEOMEAN" , SC_OPCODE_GEO_MEAN },
+ { "STANDARDIZE" , SC_OPCODE_STANDARD },
+ { "AVEDEV" , SC_OPCODE_AVE_DEV },
+ { "SKEW" , SC_OPCODE_SKEW },
+ { "SKEWP" , SC_OPCODE_SKEWP },
+ { "DEVSQ" , SC_OPCODE_DEV_SQ },
+ { "MEDIAN" , SC_OPCODE_MEDIAN },
+ { "MODE" , SC_OPCODE_MODAL_VALUE },
+ { "MODE.SNGL" , SC_OPCODE_MODAL_VALUE_MS },
+ { "MODE.MULT" , SC_OPCODE_MODAL_VALUE_MULTI },
+ { "ZTEST" , SC_OPCODE_Z_TEST },
+ { "Z.TEST" , SC_OPCODE_Z_TEST_MS },
+ { "AGGREGATE" , SC_OPCODE_AGGREGATE },
+ { "TTEST" , SC_OPCODE_T_TEST },
+ { "T.TEST" , SC_OPCODE_T_TEST_MS },
+ { "RANK" , SC_OPCODE_RANK },
+ { "PERCENTILE" , SC_OPCODE_PERCENTILE },
+ { "PERCENTRANK" , SC_OPCODE_PERCENT_RANK },
+ { "PERCENTILE.INC" , SC_OPCODE_PERCENTILE_INC },
+ { "PERCENTRANK.INC" , SC_OPCODE_PERCENT_RANK_INC },
+ { "QUARTILE.INC" , SC_OPCODE_QUARTILE_INC },
+ { "RANK.EQ" , SC_OPCODE_RANK_EQ },
+ { "PERCENTILE.EXC" , SC_OPCODE_PERCENTILE_EXC },
+ { "PERCENTRANK.EXC" , SC_OPCODE_PERCENT_RANK_EXC },
+ { "QUARTILE.EXC" , SC_OPCODE_QUARTILE_EXC },
+ { "RANK.AVG" , SC_OPCODE_RANK_AVG },
+ { "LARGE" , SC_OPCODE_LARGE },
+ { "SMALL" , SC_OPCODE_SMALL },
+ { "FREQUENCY" , SC_OPCODE_FREQUENCY },
+ { "QUARTILE" , SC_OPCODE_QUARTILE },
+ { "NORMINV" , SC_OPCODE_NORM_INV },
+ { "NORM.INV" , SC_OPCODE_NORM_INV_MS },
+ { "CONFIDENCE" , SC_OPCODE_CONFIDENCE },
+ { "CONFIDENCE.NORM" , SC_OPCODE_CONFIDENCE_N },
+ { "CONFIDENCE.T" , SC_OPCODE_CONFIDENCE_T },
+ { "FTEST" , SC_OPCODE_F_TEST },
+ { "F.TEST" , SC_OPCODE_F_TEST_MS },
+ { "TRIMMEAN" , SC_OPCODE_TRIM_MEAN },
+ { "PROB" , SC_OPCODE_PROB },
+ { "CORREL" , SC_OPCODE_CORREL },
+ { "COVAR" , SC_OPCODE_COVAR },
+ { "COVARIANCE.P" , SC_OPCODE_COVARIANCE_P },
+ { "COVARIANCE.S" , SC_OPCODE_COVARIANCE_S },
+ { "PEARSON" , SC_OPCODE_PEARSON },
+ { "RSQ" , SC_OPCODE_RSQ },
+ { "STEYX" , SC_OPCODE_STEYX },
+ { "SLOPE" , SC_OPCODE_SLOPE },
+ { "INTERCEPT" , SC_OPCODE_INTERCEPT },
+ { "TREND" , SC_OPCODE_TREND },
+ { "GROWTH" , SC_OPCODE_GROWTH },
+ { "LINEST" , SC_OPCODE_LINEST },
+ { "LOGEST" , SC_OPCODE_LOGEST },
+ { "FORECAST" , SC_OPCODE_FORECAST },
+ { "FORECAST.ETS.ADD" , SC_OPCODE_FORECAST_ETS_ADD },
+ { "FORECAST.ETS.SEASONALITY" , SC_OPCODE_FORECAST_ETS_SEA },
+ { "FORECAST.ETS.MULT" , SC_OPCODE_FORECAST_ETS_MUL },
+ { "FORECAST.ETS.PI.ADD" , SC_OPCODE_FORECAST_ETS_PIA },
+ { "FORECAST.ETS.PI.MULT" , SC_OPCODE_FORECAST_ETS_PIM },
+ { "FORECAST.ETS.STAT.ADD" , SC_OPCODE_FORECAST_ETS_STA },
+ { "FORECAST.ETS.STAT.MULT" , SC_OPCODE_FORECAST_ETS_STM },
+ { "FORECAST.LINEAR" , SC_OPCODE_FORECAST_LIN },
+ { "CHIINV" , SC_OPCODE_CHI_INV },
+ { "CHISQ.INV.RT" , SC_OPCODE_CHI_INV_MS },
+ { "GAMMADIST" , SC_OPCODE_GAMMA_DIST },
+ { "GAMMA.DIST" , SC_OPCODE_GAMMA_DIST_MS },
+ { "GAMMAINV" , SC_OPCODE_GAMMA_INV },
+ { "GAMMA.INV" , SC_OPCODE_GAMMA_INV_MS },
+ { "TINV" , SC_OPCODE_T_INV },
+ { "T.INV.2T" , SC_OPCODE_T_INV_2T },
+ { "T.INV" , SC_OPCODE_T_INV_MS },
+ { "FINV" , SC_OPCODE_F_INV },
+ { "F.INV" , SC_OPCODE_F_INV_LT },
+ { "F.INV.RT" , SC_OPCODE_F_INV_RT },
+ { "CHITEST" , SC_OPCODE_CHI_TEST },
+ { "CHISQ.TEST" , SC_OPCODE_CHI_TEST_MS },
+ { "LOGINV" , SC_OPCODE_LOG_INV },
+ { "LOGNORM.INV" , SC_OPCODE_LOG_INV_MS },
+ { "TABLE" , SC_OPCODE_TABLE_OP },
+ { "BETADIST" , SC_OPCODE_BETA_DIST },
+ { "BETAINV" , SC_OPCODE_BETA_INV },
+ { "BETA.DIST" , SC_OPCODE_BETA_DIST_MS },
+ { "BETA.INV" , SC_OPCODE_BETA_INV_MS },
+ { "WEEKNUM" , SC_OPCODE_WEEK },
+ { "ISOWEEKNUM" , SC_OPCODE_ISOWEEKNUM },
+ { "WEEKNUM_OOO" , SC_OPCODE_WEEKNUM_OOO },
+ { "EASTERSUNDAY" , SC_OPCODE_EASTERSUNDAY },
+ { "WEEKDAY" , SC_OPCODE_GET_DAY_OF_WEEK },
+ { "NETWORKDAYS" , SC_OPCODE_NETWORKDAYS },
+ { "NETWORKDAYS.INTL" , SC_OPCODE_NETWORKDAYS_MS },
+ { "WORKDAY.INTL" , SC_OPCODE_WORKDAY_MS },
+ { "#NAME!" , SC_OPCODE_NO_NAME },
+ { "STYLE" , SC_OPCODE_STYLE },
+ { "DDE" , SC_OPCODE_DDE },
+ { "BASE" , SC_OPCODE_BASE },
+ { "DECIMAL" , SC_OPCODE_DECIMAL },
+ { "CONVERT_OOO" , SC_OPCODE_CONVERT_OOO },
+ { "ROMAN" , SC_OPCODE_ROMAN },
+ { "ARABIC" , SC_OPCODE_ARABIC },
+ { "HYPERLINK" , SC_OPCODE_HYPERLINK },
+ { "INFO" , SC_OPCODE_INFO },
+ { "BAHTTEXT" , SC_OPCODE_BAHTTEXT },
+ { "GETPIVOTDATA" , SC_OPCODE_GET_PIVOT_DATA },
+ { "EUROCONVERT" , SC_OPCODE_EUROCONVERT },
+ { "NUMBERVALUE" , SC_OPCODE_NUMBERVALUE },
+ { "GAMMA" , SC_OPCODE_GAMMA },
+ { "CHISQDIST" , SC_OPCODE_CHISQ_DIST },
+ { "CHISQ.DIST" , SC_OPCODE_CHISQ_DIST_MS },
+ { "CHISQ.INV" , SC_OPCODE_CHISQ_INV_MS },
+ { "CHISQINV" , SC_OPCODE_CHISQ_INV },
+ { "BITAND" , SC_OPCODE_BITAND },
+ { "BITOR" , SC_OPCODE_BITOR },
+ { "BITXOR" , SC_OPCODE_BITXOR },
+ { "BITRSHIFT" , SC_OPCODE_BITRSHIFT },
+ { "BITLSHIFT" , SC_OPCODE_BITLSHIFT },
+ { "#NULL!" , SC_OPCODE_ERROR_NULL },
+ { "#DIV/0!" , SC_OPCODE_ERROR_DIVZERO },
+ { "#VALUE!" , SC_OPCODE_ERROR_VALUE },
+ { "#REF!" , SC_OPCODE_ERROR_REF },
+ { "#NAME?" , SC_OPCODE_ERROR_NAME },
+ { "#NUM!" , SC_OPCODE_ERROR_NUM },
+ { "#N/A" , SC_OPCODE_ERROR_NA },
+ /* END defined ERROR.TYPE() values. */
+ { "FILTERXML" , SC_OPCODE_FILTERXML },
+ { "WEBSERVICE" , SC_OPCODE_WEBSERVICE },
+ { "COLOR" , SC_OPCODE_COLOR },
+ { "ERF.PRECISE" , SC_OPCODE_ERF_MS },
+ { "ERFC.PRECISE" , SC_OPCODE_ERFC_MS },
+ { "ENCODEURL" , SC_OPCODE_ENCODEURL },
+ { "RAWSUBTRACT" , SC_OPCODE_RAWSUBTRACT },
+ { "ROUNDSIG" , SC_OPCODE_ROUNDSIG },
+ { nullptr, -1 }
+};
+
+/** Function names that can be localized if [en-US]. Same names should be used
+ in RID_STRLIST_FUNCTION_NAMES_ENGLISH above. Names can be changed, the
+ change has to be mentioned in the release notes, i.e.
+ https://wiki.documentfoundation.org/ReleaseNotes/...
+ */
+const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES[] =
+{
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "IF") , SC_OPCODE_IF },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "IFERROR") , SC_OPCODE_IF_ERROR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "IFNA") , SC_OPCODE_IF_NA },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHOOSE") , SC_OPCODE_CHOOSE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#All") , SC_OPCODE_TABLE_REF_ITEM_ALL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#Headers") , SC_OPCODE_TABLE_REF_ITEM_HEADERS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#Data") , SC_OPCODE_TABLE_REF_ITEM_DATA },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#Totals") , SC_OPCODE_TABLE_REF_ITEM_TOTALS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#This Row") , SC_OPCODE_TABLE_REF_ITEM_THIS_ROW },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "AND") , SC_OPCODE_AND },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "OR") , SC_OPCODE_OR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "XOR") , SC_OPCODE_XOR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NOT") , SC_OPCODE_NOT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NEG") , SC_OPCODE_NEG },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PI") , SC_OPCODE_PI }, // ???
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RAND") , SC_OPCODE_RANDOM },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TRUE") , SC_OPCODE_TRUE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FALSE") , SC_OPCODE_FALSE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TODAY") , SC_OPCODE_GET_ACT_DATE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NOW") , SC_OPCODE_GET_ACT_TIME },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NA") , SC_OPCODE_NO_VALUE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CURRENT") , SC_OPCODE_CURRENT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DEGREES") , SC_OPCODE_DEG },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RADIANS") , SC_OPCODE_RAD },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SIN") , SC_OPCODE_SIN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COS") , SC_OPCODE_COS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TAN") , SC_OPCODE_TAN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COT") , SC_OPCODE_COT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ASIN") , SC_OPCODE_ARC_SIN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOS") , SC_OPCODE_ARC_COS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ATAN") , SC_OPCODE_ARC_TAN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOT") , SC_OPCODE_ARC_COT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SINH") , SC_OPCODE_SIN_HYP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COSH") , SC_OPCODE_COS_HYP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TANH") , SC_OPCODE_TAN_HYP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COTH") , SC_OPCODE_COT_HYP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ASINH") , SC_OPCODE_ARC_SIN_HYP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOSH") , SC_OPCODE_ARC_COS_HYP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ATANH") , SC_OPCODE_ARC_TAN_HYP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ACOTH") , SC_OPCODE_ARC_COT_HYP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CSC") , SC_OPCODE_COSECANT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SEC") , SC_OPCODE_SECANT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CSCH") , SC_OPCODE_COSECANT_HYP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SECH") , SC_OPCODE_SECANT_HYP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "EXP") , SC_OPCODE_EXP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LN") , SC_OPCODE_LN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SQRT") , SC_OPCODE_SQRT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FACT") , SC_OPCODE_FACT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "YEAR") , SC_OPCODE_GET_YEAR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MONTH") , SC_OPCODE_GET_MONTH },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DAY") , SC_OPCODE_GET_DAY },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "HOUR") , SC_OPCODE_GET_HOUR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MINUTE") , SC_OPCODE_GET_MIN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SECOND") , SC_OPCODE_GET_SEC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SIGN") , SC_OPCODE_PLUS_MINUS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ABS") , SC_OPCODE_ABS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "INT") , SC_OPCODE_INT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PHI") , SC_OPCODE_PHI },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GAUSS") , SC_OPCODE_GAUSS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISBLANK") , SC_OPCODE_IS_EMPTY },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISTEXT") , SC_OPCODE_IS_STRING },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISNONTEXT") , SC_OPCODE_IS_NON_STRING },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISLOGICAL") , SC_OPCODE_IS_LOGICAL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TYPE") , SC_OPCODE_TYPE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CELL") , SC_OPCODE_CELL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISREF") , SC_OPCODE_IS_REF },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISNUMBER") , SC_OPCODE_IS_VALUE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISFORMULA") , SC_OPCODE_IS_FORMULA },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISNA") , SC_OPCODE_IS_NV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISERR") , SC_OPCODE_IS_ERR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISERROR") , SC_OPCODE_IS_ERROR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISEVEN") , SC_OPCODE_IS_EVEN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISODD") , SC_OPCODE_IS_ODD },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "N") , SC_OPCODE_N },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DATEVALUE") , SC_OPCODE_GET_DATE_VALUE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TIMEVALUE") , SC_OPCODE_GET_TIME_VALUE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CODE") , SC_OPCODE_CODE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TRIM") , SC_OPCODE_TRIM },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "UPPER") , SC_OPCODE_UPPER },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PROPER") , SC_OPCODE_PROPER },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LOWER") , SC_OPCODE_LOWER },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LEN") , SC_OPCODE_LEN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "T") , SC_OPCODE_T },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "VALUE") , SC_OPCODE_VALUE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CLEAN") , SC_OPCODE_CLEAN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHAR") , SC_OPCODE_CHAR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "JIS") , SC_OPCODE_JIS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ASC") , SC_OPCODE_ASC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "UNICODE") , SC_OPCODE_UNICODE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "UNICHAR") , SC_OPCODE_UNICHAR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LOG10") , SC_OPCODE_LOG10 },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "EVEN") , SC_OPCODE_EVEN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ODD") , SC_OPCODE_ODD },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMSDIST") , SC_OPCODE_STD_NORM_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.S.DIST") , SC_OPCODE_STD_NORM_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FISHER") , SC_OPCODE_FISHER },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FISHERINV") , SC_OPCODE_FISHER_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMSINV") , SC_OPCODE_S_NORM_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.S.INV") , SC_OPCODE_S_NORM_INV_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMALN") , SC_OPCODE_GAMMA_LN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMALN.PRECISE") , SC_OPCODE_GAMMA_LN_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ERRORTYPE") , SC_OPCODE_ERROR_TYPE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ERROR.TYPE") , SC_OPCODE_ERROR_TYPE_ODF },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FORMULA") , SC_OPCODE_FORMULA },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ARABIC") , SC_OPCODE_ARABIC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ATAN2") , SC_OPCODE_ARC_TAN_2 },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING.MATH") , SC_OPCODE_CEIL_MATH },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING") , SC_OPCODE_CEIL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING.XCL") , SC_OPCODE_CEIL_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CEILING.PRECISE") , SC_OPCODE_CEIL_PRECISE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISO.CEILING") , SC_OPCODE_CEIL_ISO },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR") , SC_OPCODE_FLOOR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR.XCL") , SC_OPCODE_FLOOR_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR.MATH") , SC_OPCODE_FLOOR_MATH },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FLOOR.PRECISE") , SC_OPCODE_FLOOR_PRECISE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUND") , SC_OPCODE_ROUND },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUNDUP") , SC_OPCODE_ROUND_UP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUNDDOWN") , SC_OPCODE_ROUND_DOWN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TRUNC") , SC_OPCODE_TRUNC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LOG") , SC_OPCODE_LOG },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "POWER") , SC_OPCODE_POWER },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GCD") , SC_OPCODE_GCD },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LCM") , SC_OPCODE_LCM },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MOD") , SC_OPCODE_MOD },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMPRODUCT") , SC_OPCODE_SUM_PRODUCT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMSQ") , SC_OPCODE_SUM_SQ },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMX2MY2") , SC_OPCODE_SUM_X2MY2 },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMX2PY2") , SC_OPCODE_SUM_X2DY2 },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMXMY2") , SC_OPCODE_SUM_XMY2 },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DATE") , SC_OPCODE_GET_DATE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TIME") , SC_OPCODE_GET_TIME },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DAYS") , SC_OPCODE_GET_DIFF_DATE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DAYS360") , SC_OPCODE_GET_DIFF_DATE_360 },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DATEDIF") , SC_OPCODE_GET_DATEDIF },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MIN") , SC_OPCODE_MIN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MINA") , SC_OPCODE_MIN_A },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MAX") , SC_OPCODE_MAX },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MAXA") , SC_OPCODE_MAX_A },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SUM") , SC_OPCODE_SUM },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PRODUCT") , SC_OPCODE_PRODUCT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGE") , SC_OPCODE_AVERAGE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGEA") , SC_OPCODE_AVERAGE_A },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNT") , SC_OPCODE_COUNT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTA") , SC_OPCODE_COUNT_2 },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NPV") , SC_OPCODE_NPV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "IRR") , SC_OPCODE_IRR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MIRR") , SC_OPCODE_MIRR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISPMT") , SC_OPCODE_ISPMT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "VAR") , SC_OPCODE_VAR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "VARA") , SC_OPCODE_VAR_A },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "VARP") , SC_OPCODE_VAR_P },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "VARPA") , SC_OPCODE_VAR_P_A },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "VAR.P") , SC_OPCODE_VAR_P_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "VAR.S") , SC_OPCODE_VAR_S },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEV") , SC_OPCODE_ST_DEV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEVA") , SC_OPCODE_ST_DEV_A },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEVP") , SC_OPCODE_ST_DEV_P },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEVPA") , SC_OPCODE_ST_DEV_P_A },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEV.P") , SC_OPCODE_ST_DEV_P_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "STDEV.S") , SC_OPCODE_ST_DEV_S },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "B") , SC_OPCODE_B },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMDIST") , SC_OPCODE_NORM_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.DIST") , SC_OPCODE_NORM_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "EXPONDIST") , SC_OPCODE_EXP_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "EXPON.DIST") , SC_OPCODE_EXP_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BINOMDIST") , SC_OPCODE_BINOM_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BINOM.DIST") , SC_OPCODE_BINOM_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "POISSON") , SC_OPCODE_POISSON_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "POISSON.DIST") , SC_OPCODE_POISSON_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COMBIN") , SC_OPCODE_COMBIN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COMBINA") , SC_OPCODE_COMBIN_A },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PERMUT") , SC_OPCODE_PERMUT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PERMUTATIONA") , SC_OPCODE_PERMUTATION_A },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PV") , SC_OPCODE_PV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SYD") , SC_OPCODE_SYD },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DDB") , SC_OPCODE_DDB },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DB") , SC_OPCODE_DB },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "VDB") , SC_OPCODE_VBD },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PDURATION") , SC_OPCODE_PDURATION },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SLN") , SC_OPCODE_SLN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PMT") , SC_OPCODE_PMT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COLUMNS") , SC_OPCODE_COLUMNS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ROWS") , SC_OPCODE_ROWS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SHEETS") , SC_OPCODE_SHEETS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COLUMN") , SC_OPCODE_COLUMN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ROW") , SC_OPCODE_ROW },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SHEET") , SC_OPCODE_SHEET },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RRI") , SC_OPCODE_RRI },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FV") , SC_OPCODE_FV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NPER") , SC_OPCODE_NPER },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RATE") , SC_OPCODE_RATE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "IPMT") , SC_OPCODE_IPMT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PPMT") , SC_OPCODE_PPMT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CUMIPMT") , SC_OPCODE_CUM_IPMT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CUMPRINC") , SC_OPCODE_CUM_PRINC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "EFFECT") , SC_OPCODE_EFFECT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NOMINAL") , SC_OPCODE_NOMINAL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SUBTOTAL") , SC_OPCODE_SUB_TOTAL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DSUM") , SC_OPCODE_DB_SUM },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DCOUNT") , SC_OPCODE_DB_COUNT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DCOUNTA") , SC_OPCODE_DB_COUNT_2 },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DAVERAGE") , SC_OPCODE_DB_AVERAGE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DGET") , SC_OPCODE_DB_GET },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DMAX") , SC_OPCODE_DB_MAX },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DMIN") , SC_OPCODE_DB_MIN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DPRODUCT") , SC_OPCODE_DB_PRODUCT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DSTDEV") , SC_OPCODE_DB_STD_DEV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DSTDEVP") , SC_OPCODE_DB_STD_DEV_P },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DVAR") , SC_OPCODE_DB_VAR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DVARP") , SC_OPCODE_DB_VAR_P },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "INDIRECT") , SC_OPCODE_INDIRECT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ADDRESS") , SC_OPCODE_ADDRESS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MATCH") , SC_OPCODE_MATCH },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTBLANK") , SC_OPCODE_COUNT_EMPTY_CELLS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTIF") , SC_OPCODE_COUNT_IF },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMIF") , SC_OPCODE_SUM_IF },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGEIF") , SC_OPCODE_AVERAGE_IF },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SUMIFS") , SC_OPCODE_SUM_IFS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "AVERAGEIFS") , SC_OPCODE_AVERAGE_IFS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COUNTIFS") , SC_OPCODE_COUNT_IFS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LOOKUP") , SC_OPCODE_LOOKUP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "VLOOKUP") , SC_OPCODE_V_LOOKUP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "HLOOKUP") , SC_OPCODE_H_LOOKUP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MULTIRANGE") , SC_OPCODE_MULTI_AREA }, // legacy for range list (union)
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "OFFSET") , SC_OPCODE_OFFSET },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "INDEX") , SC_OPCODE_INDEX }, // ?? first character = I ??
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "AREAS") , SC_OPCODE_AREAS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DOLLAR") , SC_OPCODE_CURRENCY },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "REPLACE") , SC_OPCODE_REPLACE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FIXED") , SC_OPCODE_FIXED },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FIND") , SC_OPCODE_FIND },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "EXACT") , SC_OPCODE_EXACT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LEFT") , SC_OPCODE_LEFT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RIGHT") , SC_OPCODE_RIGHT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SEARCH") , SC_OPCODE_SEARCH },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MID") , SC_OPCODE_MID },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LENB") , SC_OPCODE_LENB },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RIGHTB") , SC_OPCODE_RIGHTB },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LEFTB") , SC_OPCODE_LEFTB },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "REPLACEB") , SC_OPCODE_REPLACEB },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MIDB") , SC_OPCODE_MIDB },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TEXT") , SC_OPCODE_TEXT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SUBSTITUTE") , SC_OPCODE_SUBSTITUTE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "REPT") , SC_OPCODE_REPT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CONCATENATE") , SC_OPCODE_CONCAT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CONCAT") , SC_OPCODE_CONCAT_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TEXTJOIN") , SC_OPCODE_TEXTJOIN_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "IFS") , SC_OPCODE_IFS_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SWITCH") , SC_OPCODE_SWITCH_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MINIFS") , SC_OPCODE_MINIFS_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MAXIFS") , SC_OPCODE_MAXIFS_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MVALUE") , SC_OPCODE_MAT_VALUE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MDETERM") , SC_OPCODE_MAT_DET },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MINVERSE") , SC_OPCODE_MAT_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MMULT") , SC_OPCODE_MAT_MULT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TRANSPOSE") , SC_OPCODE_MAT_TRANS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MUNIT") , SC_OPCODE_MATRIX_UNIT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GOALSEEK") , SC_OPCODE_BACK_SOLVER },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "HYPGEOMDIST") , SC_OPCODE_HYP_GEOM_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "HYPGEOM.DIST") , SC_OPCODE_HYP_GEOM_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGNORMDIST") , SC_OPCODE_LOG_NORM_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGNORM.DIST") , SC_OPCODE_LOG_NORM_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TDIST") , SC_OPCODE_T_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "T.DIST.2T") , SC_OPCODE_T_DIST_2T },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "T.DIST") , SC_OPCODE_T_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "T.DIST.RT") , SC_OPCODE_T_DIST_RT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FDIST") , SC_OPCODE_F_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "F.DIST") , SC_OPCODE_F_DIST_LT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "F.DIST.RT") , SC_OPCODE_F_DIST_RT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHIDIST") , SC_OPCODE_CHI_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.DIST.RT") , SC_OPCODE_CHI_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "WEIBULL") , SC_OPCODE_WEIBULL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "WEIBULL.DIST") , SC_OPCODE_WEIBULL_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NEGBINOMDIST") , SC_OPCODE_NEG_BINOM_VERT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NEGBINOM.DIST") , SC_OPCODE_NEG_BINOM_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CRITBINOM") , SC_OPCODE_CRIT_BINOM },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BINOM.INV") , SC_OPCODE_BINOM_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "KURT") , SC_OPCODE_KURT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "HARMEAN") , SC_OPCODE_HAR_MEAN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GEOMEAN") , SC_OPCODE_GEO_MEAN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "STANDARDIZE") , SC_OPCODE_STANDARD },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "AVEDEV") , SC_OPCODE_AVE_DEV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SKEW") , SC_OPCODE_SKEW },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SKEWP") , SC_OPCODE_SKEWP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DEVSQ") , SC_OPCODE_DEV_SQ },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MEDIAN") , SC_OPCODE_MEDIAN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MODE") , SC_OPCODE_MODAL_VALUE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MODE.SNGL") , SC_OPCODE_MODAL_VALUE_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MODE.MULT") , SC_OPCODE_MODAL_VALUE_MULTI },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ZTEST") , SC_OPCODE_Z_TEST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "Z.TEST") , SC_OPCODE_Z_TEST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "AGGREGATE") , SC_OPCODE_AGGREGATE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TTEST") , SC_OPCODE_T_TEST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "T.TEST") , SC_OPCODE_T_TEST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RANK") , SC_OPCODE_RANK },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTILE") , SC_OPCODE_PERCENTILE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTRANK") , SC_OPCODE_PERCENT_RANK },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTILE.INC") , SC_OPCODE_PERCENTILE_INC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTRANK.INC") , SC_OPCODE_PERCENT_RANK_INC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "QUARTILE.INC") , SC_OPCODE_QUARTILE_INC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RANK.EQ") , SC_OPCODE_RANK_EQ },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTILE.EXC") , SC_OPCODE_PERCENTILE_EXC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PERCENTRANK.EXC") , SC_OPCODE_PERCENT_RANK_EXC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "QUARTILE.EXC") , SC_OPCODE_QUARTILE_EXC },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RANK.AVG") , SC_OPCODE_RANK_AVG },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LARGE") , SC_OPCODE_LARGE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SMALL") , SC_OPCODE_SMALL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FREQUENCY") , SC_OPCODE_FREQUENCY },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "QUARTILE") , SC_OPCODE_QUARTILE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NORMINV") , SC_OPCODE_NORM_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NORM.INV") , SC_OPCODE_NORM_INV_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CONFIDENCE") , SC_OPCODE_CONFIDENCE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CONFIDENCE.NORM") , SC_OPCODE_CONFIDENCE_N },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CONFIDENCE.T") , SC_OPCODE_CONFIDENCE_T },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FTEST") , SC_OPCODE_F_TEST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "F.TEST") , SC_OPCODE_F_TEST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TRIMMEAN") , SC_OPCODE_TRIM_MEAN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PROB") , SC_OPCODE_PROB },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CORREL") , SC_OPCODE_CORREL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COVAR") , SC_OPCODE_COVAR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COVARIANCE.P") , SC_OPCODE_COVARIANCE_P },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COVARIANCE.S") , SC_OPCODE_COVARIANCE_S },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "PEARSON") , SC_OPCODE_PEARSON },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RSQ") , SC_OPCODE_RSQ },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "STEYX") , SC_OPCODE_STEYX },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "SLOPE") , SC_OPCODE_SLOPE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "INTERCEPT") , SC_OPCODE_INTERCEPT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TREND") , SC_OPCODE_TREND },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GROWTH") , SC_OPCODE_GROWTH },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LINEST") , SC_OPCODE_LINEST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGEST") , SC_OPCODE_LOGEST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST") , SC_OPCODE_FORECAST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.ADD") , SC_OPCODE_FORECAST_ETS_ADD },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.SEASONALITY") , SC_OPCODE_FORECAST_ETS_SEA },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.MULT") , SC_OPCODE_FORECAST_ETS_MUL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.PI.ADD") , SC_OPCODE_FORECAST_ETS_PIA },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.PI.MULT") , SC_OPCODE_FORECAST_ETS_PIM },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.STAT.ADD") , SC_OPCODE_FORECAST_ETS_STA },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.ETS.STAT.MULT") , SC_OPCODE_FORECAST_ETS_STM },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FORECAST.LINEAR") , SC_OPCODE_FORECAST_LIN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHIINV") , SC_OPCODE_CHI_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.INV.RT") , SC_OPCODE_CHI_INV_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMADIST") , SC_OPCODE_GAMMA_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMA.DIST") , SC_OPCODE_GAMMA_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMAINV") , SC_OPCODE_GAMMA_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMA.INV") , SC_OPCODE_GAMMA_INV_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "TINV") , SC_OPCODE_T_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "T.INV.2T") , SC_OPCODE_T_INV_2T },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "T.INV") , SC_OPCODE_T_INV_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FINV") , SC_OPCODE_F_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "F.INV") , SC_OPCODE_F_INV_LT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "F.INV.RT") , SC_OPCODE_F_INV_RT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHITEST") , SC_OPCODE_CHI_TEST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.TEST") , SC_OPCODE_CHI_TEST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGINV") , SC_OPCODE_LOG_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "LOGNORM.INV") , SC_OPCODE_LOG_INV_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "MULTIPLE.OPERATIONS") , SC_OPCODE_TABLE_OP },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BETADIST") , SC_OPCODE_BETA_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BETAINV") , SC_OPCODE_BETA_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BETA.DIST") , SC_OPCODE_BETA_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BETA.INV") , SC_OPCODE_BETA_INV_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "WEEKNUM") , SC_OPCODE_WEEK },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ISOWEEKNUM") , SC_OPCODE_ISOWEEKNUM },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "WEEKNUM_OOO") , SC_OPCODE_WEEKNUM_OOO },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "EASTERSUNDAY") , SC_OPCODE_EASTERSUNDAY },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "WEEKDAY") , SC_OPCODE_GET_DAY_OF_WEEK },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NETWORKDAYS") , SC_OPCODE_NETWORKDAYS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NETWORKDAYS.INTL") , SC_OPCODE_NETWORKDAYS_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "WORKDAY.INTL") , SC_OPCODE_WORKDAY_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#NAME!") , SC_OPCODE_NO_NAME },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "STYLE") , SC_OPCODE_STYLE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DDE") , SC_OPCODE_DDE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BASE") , SC_OPCODE_BASE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "DECIMAL") , SC_OPCODE_DECIMAL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CONVERT_OOO") , SC_OPCODE_CONVERT_OOO },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ROMAN") , SC_OPCODE_ROMAN },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "HYPERLINK") , SC_OPCODE_HYPERLINK },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "INFO") , SC_OPCODE_INFO },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BAHTTEXT") , SC_OPCODE_BAHTTEXT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GETPIVOTDATA") , SC_OPCODE_GET_PIVOT_DATA },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "EUROCONVERT") , SC_OPCODE_EUROCONVERT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "NUMBERVALUE") , SC_OPCODE_NUMBERVALUE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "GAMMA") , SC_OPCODE_GAMMA },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQDIST") , SC_OPCODE_CHISQ_DIST },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.DIST") , SC_OPCODE_CHISQ_DIST_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQINV") , SC_OPCODE_CHISQ_INV },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "CHISQ.INV") , SC_OPCODE_CHISQ_INV_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BITAND") , SC_OPCODE_BITAND },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BITOR") , SC_OPCODE_BITOR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BITXOR") , SC_OPCODE_BITXOR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BITRSHIFT") , SC_OPCODE_BITRSHIFT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "BITLSHIFT") , SC_OPCODE_BITLSHIFT },
+ /* BEGIN defined ERROR.TYPE() values. */
+ /* ERROR.TYPE( #NULL! ) == 1 */
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#NULL!") , SC_OPCODE_ERROR_NULL },
+ /* ERROR.TYPE( #DIV/0! ) == 2 */
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#DIV/0!") , SC_OPCODE_ERROR_DIVZERO },
+ /* ERROR.TYPE( #VALUE! ) == 3 */
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#VALUE!") , SC_OPCODE_ERROR_VALUE },
+ /* ERROR.TYPE( #REF! ) == 4 */
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#REF!") , SC_OPCODE_ERROR_REF },
+ /* ERROR.TYPE( #NAME! ) == 5 */
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#NAME?") , SC_OPCODE_ERROR_NAME },
+ /* ERROR.TYPE( #NUM! ) == 6 */
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#NUM!") , SC_OPCODE_ERROR_NUM },
+ /* ERROR.TYPE( #N/A ) == 7 */
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "#N/A") , SC_OPCODE_ERROR_NA },
+ /* END defined ERROR.TYPE() values. */
+
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "FILTERXML") , SC_OPCODE_FILTERXML },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "COLOR") , SC_OPCODE_COLOR },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "WEBSERVICE") , SC_OPCODE_WEBSERVICE },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ERF.PRECISE") , SC_OPCODE_ERF_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ERFC.PRECISE") , SC_OPCODE_ERFC_MS },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ENCODEURL") , SC_OPCODE_ENCODEURL },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "RAWSUBTRACT") , SC_OPCODE_RAWSUBTRACT },
+ { NC_("RID_STRLIST_FUNCTION_NAMES", "ROUNDSIG") , SC_OPCODE_ROUNDSIG },
+
+ { nullptr, -1 }
+};
+
+const std::pair<const char*, int> RID_STRLIST_FUNCTION_NAMES_SYMBOLS[] =
+{
+ { "(" , SC_OPCODE_OPEN },
+ { ")" , SC_OPCODE_CLOSE },
+ { "[" , SC_OPCODE_TABLE_REF_OPEN },
+ { "]" , SC_OPCODE_TABLE_REF_CLOSE },
+ { "{" , SC_OPCODE_ARRAY_OPEN },
+ { "}" , SC_OPCODE_ARRAY_CLOSE },
+ { "|" , SC_OPCODE_ARRAY_ROW_SEP },
+ { ";" , SC_OPCODE_ARRAY_COL_SEP },
+ { ";" , SC_OPCODE_SEP },
+ { "%" , SC_OPCODE_PERCENT_SIGN },
+ { "+" , SC_OPCODE_ADD },
+ { "-" , SC_OPCODE_SUB },
+ { "*" , SC_OPCODE_MUL },
+ { "/" , SC_OPCODE_DIV },
+ { "&" , SC_OPCODE_AMPERSAND },
+ { "^" , SC_OPCODE_POW },
+ { "=" , SC_OPCODE_EQUAL },
+ { "<>" , SC_OPCODE_NOT_EQUAL },
+ { "<" , SC_OPCODE_LESS },
+ { ">" , SC_OPCODE_GREATER },
+ { "<=" , SC_OPCODE_LESS_EQUAL },
+ { ">=" , SC_OPCODE_GREATER_EQUAL },
+ { "!" , SC_OPCODE_INTERSECT },
+ { "~" , SC_OPCODE_UNION },
+ { ":" , SC_OPCODE_RANGE },
+ { "-" , SC_OPCODE_NEG_SUB },
+ { nullptr, -1 }
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/formula/source/ui/dlg/formdlgs.src b/formula/inc/strings.hrc
index d342c1d772c9..1d654c08e7da 100644
--- a/formula/source/ui/dlg/formdlgs.src
+++ b/formula/inc/strings.hrc
@@ -17,31 +17,20 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "formdlgs.hrc"
-#include "ForResId.hrc"
+#ifndef INCLUDED_VCL_INC_STRINGS_HRC
+#define INCLUDED_VCL_INC_STRINGS_HRC
-String STR_TITLE1
-{
- Text [ en-US ] = "Function Wizard" ;
-};
+#define NC_(Context, String) (Context "\004" u8##String)
-String STR_TITLE2
-{
- Text [ en-US ] = "Function Wizard -" ;
-};
+#define STR_OPTIONAL NC_("STR_OPTIONAL", "(optional)")
+#define STR_REQUIRED NC_("STR_REQUIRED", "(required)")
-String STR_END
-{
- Text [ en-US ] = "~End" ;
-};
-String RID_STR_SHRINK
-{
- Text [ en-US ] = "Shrink" ;
-};
+#define STR_TITLE1 NC_("STR_TITLE1", "Function Wizard")
+#define STR_TITLE2 NC_("STR_TITLE2", "Function Wizard -")
+#define STR_END NC_("STR_END", "~End")
+#define RID_STR_SHRINK NC_("RID_STR_SHRINK", "Shrink")
+#define RID_STR_EXPAND NC_("RID_STR_EXPAND", "Expand")
-String RID_STR_EXPAND
-{
- Text [ en-US ] = "Expand" ;
-};
+#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx
index 8fe5738b7417..1429951649e1 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -27,8 +27,7 @@
#include "osl/mutex.hxx"
#include <svl/zforlist.hxx>
-#include <tools/rcid.h>
-#include <tools/resary.hxx>
+#include <tools/resmgr.hxx>
#include <com/sun/star/sheet/FormulaOpCodeMapEntry.hpp>
#include <com/sun/star/sheet/FormulaMapGroup.hpp>
#include <com/sun/star/sheet/FormulaMapGroupSpecialOffset.hpp>
@@ -145,7 +144,7 @@ class OpCodeList
{
public:
- OpCodeList( sal_uInt16, const FormulaCompiler::NonConstOpCodeMapPtr&,
+ OpCodeList(bool bLocalized, const std::pair<const char*, int>* pSymbols, const FormulaCompiler::NonConstOpCodeMapPtr&,
FormulaCompiler::SeparatorType = FormulaCompiler::SeparatorType::SEMICOLON_BASE );
private:
@@ -154,13 +153,15 @@ private:
private:
FormulaCompiler::SeparatorType meSepType;
- ResStringArray maStringList;
+ const std::pair<const char*, int>* mpSymbols;
+ bool mbLocalized;
};
-OpCodeList::OpCodeList( sal_uInt16 nRID, const FormulaCompiler::NonConstOpCodeMapPtr& xMap,
- FormulaCompiler::SeparatorType eSepType )
+OpCodeList::OpCodeList(bool bLocalized, const std::pair<const char*, int>* pSymbols, const FormulaCompiler::NonConstOpCodeMapPtr& xMap,
+ FormulaCompiler::SeparatorType eSepType)
: meSepType(eSepType)
- , maStringList(ResId(nRID, *ResourceManager::getResManager()))
+ , mpSymbols(pSymbols)
+ , mbLocalized(bLocalized)
{
SvtSysLocale aSysLocale;
const CharClass* pCharClass = (xMap->isEnglish() ? nullptr : aSysLocale.GetCharClassPtr());
@@ -223,9 +224,19 @@ bool OpCodeList::getOpCodeString( OUString& rStr, sal_uInt16 nOp )
void OpCodeList::putDefaultOpCode( const FormulaCompiler::NonConstOpCodeMapPtr& xMap, sal_uInt16 nOp,
const CharClass* pCharClass )
{
- sal_uInt32 nIndex = maStringList.FindIndex(nOp);
- if (nIndex != RESARRAY_INDEX_NOTFOUND)
- xMap->putOpCode(maStringList.GetString(nIndex), OpCode(nOp), pCharClass);
+ const char* pKey = nullptr;
+ for (const std::pair<const char*, int>* pSymbol = mpSymbols; pSymbol->first; ++pSymbol)
+ {
+ if (nOp == pSymbol->second)
+ {
+ pKey = pSymbol->first;
+ break;
+ }
+ }
+ if (!pKey)
+ return;
+ OUString sKey = !mbLocalized ? OUString::createFromAscii(pKey) : Translate::get(pKey, ResourceManager::getResLocale());
+ xMap->putOpCode(sKey, OpCode(nOp), pCharClass);
}
// static
@@ -843,8 +854,8 @@ void lcl_fillNativeSymbols( FormulaCompiler::NonConstOpCodeMapPtr& xMap, bool bD
new FormulaCompiler::OpCodeMap(
SC_OPCODE_LAST_OPCODE_ID + 1, true, FormulaGrammar::GRAM_NATIVE_UI));
OModuleClient aModuleClient;
- OpCodeList aOpCodeListSymbols(RID_STRLIST_FUNCTION_NAMES_SYMBOLS, aSymbolMap.mxSymbolMap);
- OpCodeList aOpCodeListNative(RID_STRLIST_FUNCTION_NAMES, aSymbolMap.mxSymbolMap);
+ OpCodeList aOpCodeListSymbols(false, RID_STRLIST_FUNCTION_NAMES_SYMBOLS, aSymbolMap.mxSymbolMap);
+ OpCodeList aOpCodeListNative(true, RID_STRLIST_FUNCTION_NAMES, aSymbolMap.mxSymbolMap);
// No AddInMap for native core mapping.
}
@@ -931,7 +942,7 @@ void FormulaCompiler::InitSymbolsOOXML() const
}
-void FormulaCompiler::loadSymbols( sal_uInt16 nSymbols, FormulaGrammar::Grammar eGrammar,
+void FormulaCompiler::loadSymbols(const std::pair<const char*, int>* pSymbols, FormulaGrammar::Grammar eGrammar,
NonConstOpCodeMapPtr& rxMap, SeparatorType eSepType) const
{
if ( !rxMap.get() )
@@ -939,7 +950,7 @@ void FormulaCompiler::loadSymbols( sal_uInt16 nSymbols, FormulaGrammar::Grammar
// not Core
rxMap.reset( new OpCodeMap( SC_OPCODE_LAST_OPCODE_ID + 1, eGrammar != FormulaGrammar::GRAM_ODFF, eGrammar ));
OModuleClient aModuleClient;
- OpCodeList aOpCodeList( nSymbols, rxMap, eSepType);
+ OpCodeList aOpCodeList(false, pSymbols, rxMap, eSepType);
fillFromAddInMap( rxMap, eGrammar);
// Fill from collection for AddIns not already present.
diff --git a/formula/source/core/inc/core_resource.hrc b/formula/source/core/inc/core_resource.hrc
deleted file mode 100644
index 750be5afbef3..000000000000
--- a/formula/source/core/inc/core_resource.hrc
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_FORMULA_SOURCE_CORE_INC_CORE_RESOURCE_HRC
-#define INCLUDED_FORMULA_SOURCE_CORE_INC_CORE_RESOURCE_HRC
-
-#include <svl/solar.hrc>
-
-#define RID_CORE_STRINGS_START RID_FORMULA_START
-#define RID_CORE_OTHER_START RID_FORMULA_START
-
-//- String-IDs
-#define RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF (RID_CORE_OTHER_START + 0)
-#define RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML (RID_CORE_OTHER_START + 1)
-#define RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF (RID_CORE_OTHER_START + 2)
-#define RID_STRLIST_FUNCTION_NAMES_ENGLISH_API (RID_CORE_OTHER_START + 3)
-#define RID_STRLIST_FUNCTION_NAMES_ENGLISH (RID_CORE_OTHER_START + 4)
-#define RID_STRLIST_FUNCTION_NAMES_SYMBOLS (RID_CORE_OTHER_START + 5)
-#define RID_STRLIST_FUNCTION_NAMES (RID_CORE_OTHER_START + 6)
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/formula/source/core/inc/core_resource.hxx b/formula/source/core/inc/core_resource.hxx
index aaf3b5a9bb53..3dc321b57834 100644
--- a/formula/source/core/inc/core_resource.hxx
+++ b/formula/source/core/inc/core_resource.hxx
@@ -22,8 +22,6 @@
#include <rtl/ustring.hxx>
-class ResMgr;
-
namespace formula
{
@@ -34,7 +32,7 @@ namespace formula
{
friend class OModuleClient;
static sal_Int32 s_nClients; /// number of registered clients
- static ResMgr* m_pImpl;
+ static std::locale* m_pImpl;
private:
// no instantiation allowed
@@ -50,7 +48,7 @@ namespace formula
public:
- static ResMgr* getResManager();
+ static const std::locale& getResLocale();
};
diff --git a/formula/source/core/resource/core_resource.cxx b/formula/source/core/resource/core_resource.cxx
index 6c9df0139704..b03668d3c783 100644
--- a/formula/source/core/resource/core_resource.cxx
+++ b/formula/source/core/resource/core_resource.cxx
@@ -39,26 +39,24 @@ namespace formula
// access safety
struct theResourceManagerMutex : public rtl::Static< osl::Mutex, theResourceManagerMutex > {};
}
- sal_Int32 ResourceManager::s_nClients = 0;
- ResMgr* ResourceManager::m_pImpl = nullptr;
+ sal_Int32 ResourceManager::s_nClients = 0;
+ std::locale* ResourceManager::m_pImpl = nullptr;
void ResourceManager::ensureImplExists()
{
if (m_pImpl)
return;
- m_pImpl = ResMgr::CreateResMgr("for", Application::GetSettings().GetUILanguageTag());
+ m_pImpl = new std::locale(Translate::Create("for", Application::GetSettings().GetUILanguageTag()));
}
-
void ResourceManager::registerClient()
{
::osl::MutexGuard aGuard(theResourceManagerMutex::get());
++s_nClients;
}
-
void ResourceManager::revokeClient()
{
::osl::MutexGuard aGuard(theResourceManagerMutex::get());
@@ -68,10 +66,11 @@ namespace formula
m_pImpl = nullptr;
}
}
- ResMgr* ResourceManager::getResManager()
+
+ const std::locale& ResourceManager::getResLocale()
{
ensureImplExists();
- return m_pImpl;
+ return *m_pImpl;
}
diff --git a/formula/source/core/resource/core_resource.src b/formula/source/core/resource/core_resource.src
deleted file mode 100644
index 1c98ff43263e..000000000000
--- a/formula/source/core/resource/core_resource.src
+++ /dev/null
@@ -1,2708 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include "core_resource.hrc"
-#include "formula/compiler.hrc"
-
-/** These English names are used to store/load ODFF as of ODF v1.2. */
-// NAMES CAN ONLY BE CHANGED WHEN PROVIDING BACKWARD AND FORWARD COMPATIBILITY
-// such that at least two releases can already read the new name to be
-// introduced by a later release.
-// If there is a reason for another name for some function then add an
-// *additional* name to be recognized to sc/source/core/tool/compiler.cxx
-// ScCompiler::IsOpCode() in the if (mxSymbols->isODFF()) block.
-StringArray RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF
-{
- ItemList =
- {
- < "IF" ; SC_OPCODE_IF; >;
- < "IFERROR" ; SC_OPCODE_IF_ERROR; >;
- < "IFNA" ; SC_OPCODE_IF_NA; >;
- < "CHOOSE" ; SC_OPCODE_CHOOSE; >;
- < "(" ; SC_OPCODE_OPEN; >;
- < ")" ; SC_OPCODE_CLOSE; >;
- // SC_OPCODE_TABLE_REF_... not supported in ODFF
- < "{" ; SC_OPCODE_ARRAY_OPEN; >;
- < "}" ; SC_OPCODE_ARRAY_CLOSE; >;
- < "|" ; SC_OPCODE_ARRAY_ROW_SEP; >;
- < ";" ; SC_OPCODE_ARRAY_COL_SEP; >;
- < ";" ; SC_OPCODE_SEP; >;
- < "%" ; SC_OPCODE_PERCENT_SIGN; >;
- < "+" ; SC_OPCODE_ADD; >;
- < "-" ; SC_OPCODE_SUB; >;
- < "*" ; SC_OPCODE_MUL; >;
- < "/" ; SC_OPCODE_DIV; >;
- < "&" ; SC_OPCODE_AMPERSAND; >;
- < "^" ; SC_OPCODE_POW; >;
- < "=" ; SC_OPCODE_EQUAL; >;
- < "<>" ; SC_OPCODE_NOT_EQUAL; >;
- < "<" ; SC_OPCODE_LESS; >;
- < ">" ; SC_OPCODE_GREATER; >;
- < "<=" ; SC_OPCODE_LESS_EQUAL; >;
- < ">=" ; SC_OPCODE_GREATER_EQUAL; >;
- < "AND" ; SC_OPCODE_AND; >;
- < "OR" ; SC_OPCODE_OR; >;
- < "XOR" ; SC_OPCODE_XOR; >;
- < "!" ; SC_OPCODE_INTERSECT; >;
- < "~" ; SC_OPCODE_UNION; >;
- < ":" ; SC_OPCODE_RANGE; >;
- < "NOT" ; SC_OPCODE_NOT; >;
- < "NEG" ; SC_OPCODE_NEG; >;
- < "-" ; SC_OPCODE_NEG_SUB; >;
- < "PI" ; SC_OPCODE_PI; >;
- < "RAND" ; SC_OPCODE_RANDOM; >;
- < "TRUE" ; SC_OPCODE_TRUE; >;
- < "FALSE" ; SC_OPCODE_FALSE; >;
- < "TODAY" ; SC_OPCODE_GET_ACT_DATE; >;
- < "NOW" ; SC_OPCODE_GET_ACT_TIME; >;
- < "NA" ; SC_OPCODE_NO_VALUE; >;
- < "ORG.OPENOFFICE.CURRENT" ; SC_OPCODE_CURRENT; >;
- < "DEGREES" ; SC_OPCODE_DEG; >;
- < "RADIANS" ; SC_OPCODE_RAD; >;
- < "SIN" ; SC_OPCODE_SIN; >;
- < "COS" ; SC_OPCODE_COS; >;
- < "TAN" ; SC_OPCODE_TAN; >;
- < "COT" ; SC_OPCODE_COT; >;
- < "ASIN" ; SC_OPCODE_ARC_SIN; >;
- < "ACOS" ; SC_OPCODE_ARC_COS; >;
- < "ATAN" ; SC_OPCODE_ARC_TAN; >;
- < "ACOT" ; SC_OPCODE_ARC_COT; >;
- < "SINH" ; SC_OPCODE_SIN_HYP; >;
- < "COSH" ; SC_OPCODE_COS_HYP; >;
- < "TANH" ; SC_OPCODE_TAN_HYP; >;
- < "COTH" ; SC_OPCODE_COT_HYP; >;
- < "ASINH" ; SC_OPCODE_ARC_SIN_HYP; >;
- < "ACOSH" ; SC_OPCODE_ARC_COS_HYP; >;
- < "ATANH" ; SC_OPCODE_ARC_TAN_HYP; >;
- < "ACOTH" ; SC_OPCODE_ARC_COT_HYP; >;
- < "CSC" ; SC_OPCODE_COSECANT; >;
- < "SEC" ; SC_OPCODE_SECANT; >;
- < "CSCH" ; SC_OPCODE_COSECANT_HYP; >;
- < "SECH" ; SC_OPCODE_SECANT_HYP; >;
- < "EXP" ; SC_OPCODE_EXP; >;
- < "LN" ; SC_OPCODE_LN; >;
- < "SQRT" ; SC_OPCODE_SQRT; >;
- < "FACT" ; SC_OPCODE_FACT; >;
- < "YEAR" ; SC_OPCODE_GET_YEAR; >;
- < "MONTH" ; SC_OPCODE_GET_MONTH; >;
- < "DAY" ; SC_OPCODE_GET_DAY; >;
- < "HOUR" ; SC_OPCODE_GET_HOUR; >;
- < "MINUTE" ; SC_OPCODE_GET_MIN; >;
- < "SECOND" ; SC_OPCODE_GET_SEC; >;
- < "SIGN" ; SC_OPCODE_PLUS_MINUS; >;
- < "ABS" ; SC_OPCODE_ABS; >;
- < "INT" ; SC_OPCODE_INT; >;
- < "PHI" ; SC_OPCODE_PHI; >;
- < "GAUSS" ; SC_OPCODE_GAUSS; >;
- < "ISBLANK" ; SC_OPCODE_IS_EMPTY; >;
- < "ISTEXT" ; SC_OPCODE_IS_STRING; >;
- < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING; >;
- < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL; >;
- < "TYPE" ; SC_OPCODE_TYPE; >;
- < "CELL" ; SC_OPCODE_CELL; >;
- < "ISREF" ; SC_OPCODE_IS_REF; >;
- < "ISNUMBER" ; SC_OPCODE_IS_VALUE; >;
- < "ISFORMULA" ; SC_OPCODE_IS_FORMULA; >;
- < "ISNA" ; SC_OPCODE_IS_NV; >;
- < "ISERR" ; SC_OPCODE_IS_ERR; >;
- < "ISERROR" ; SC_OPCODE_IS_ERROR; >;
- < "ISEVEN" ; SC_OPCODE_IS_EVEN; >;
- < "ISODD" ; SC_OPCODE_IS_ODD; >;
- < "N" ; SC_OPCODE_N; >;
- < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE; >;
- < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE; >;
- < "CODE" ; SC_OPCODE_CODE; >;
- < "TRIM" ; SC_OPCODE_TRIM; >;
- < "UPPER" ; SC_OPCODE_UPPER; >;
- < "PROPER" ; SC_OPCODE_PROPER; >;
- < "LOWER" ; SC_OPCODE_LOWER; >;
- < "LEN" ; SC_OPCODE_LEN; >;
- < "T" ; SC_OPCODE_T; >;
- < "VALUE" ; SC_OPCODE_VALUE; >;
- < "CLEAN" ; SC_OPCODE_CLEAN; >;
- < "CHAR" ; SC_OPCODE_CHAR; >;
- < "JIS" ; SC_OPCODE_JIS; >;
- < "ASC" ; SC_OPCODE_ASC; >;
- < "UNICODE" ; SC_OPCODE_UNICODE; >;
- < "UNICHAR" ; SC_OPCODE_UNICHAR; >;
- < "LOG10" ; SC_OPCODE_LOG10; >;
- < "EVEN" ; SC_OPCODE_EVEN; >;
- < "ODD" ; SC_OPCODE_ODD; >;
- < "LEGACY.NORMSDIST" ; SC_OPCODE_STD_NORM_DIST; >;
- < "COM.MICROSOFT.NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS; >;
- < "FISHER" ; SC_OPCODE_FISHER; >;
- < "FISHERINV" ; SC_OPCODE_FISHER_INV; >;
- < "LEGACY.NORMSINV" ; SC_OPCODE_S_NORM_INV; >;
- < "COM.MICROSOFT.NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS; >;
- < "GAMMALN" ; SC_OPCODE_GAMMA_LN; >;
- < "COM.MICROSOFT.GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS; >;
- < "ORG.OPENOFFICE.ERRORTYPE" ; SC_OPCODE_ERROR_TYPE; >;
- < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF; >;
- < "FORMULA" ; SC_OPCODE_FORMULA; >;
- < "ATAN2" ; SC_OPCODE_ARC_TAN_2; >;
- < "COM.MICROSOFT.CEILING.MATH" ; SC_OPCODE_CEIL_MATH; >;
- < "CEILING" ; SC_OPCODE_CEIL; >;
- < "COM.MICROSOFT.CEILING" ; SC_OPCODE_CEIL_MS; >;
- < "COM.MICROSOFT.CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE; >;
- < "COM.MICROSOFT.ISO.CEILING" ; SC_OPCODE_CEIL_ISO; >;
- < "FLOOR" ; SC_OPCODE_FLOOR; >;
- < "COM.MICROSOFT.FLOOR" ; SC_OPCODE_FLOOR_MS; >;
- < "COM.MICROSOFT.FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH; >;
- < "COM.MICROSOFT.FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE; >;
- < "ROUND" ; SC_OPCODE_ROUND; >;
- < "ROUNDUP" ; SC_OPCODE_ROUND_UP; >;
- < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN; >;
- < "TRUNC" ; SC_OPCODE_TRUNC; >;
- < "LOG" ; SC_OPCODE_LOG; >;
- < "POWER" ; SC_OPCODE_POWER; >;
- < "GCD" ; SC_OPCODE_GCD; >;
- < "LCM" ; SC_OPCODE_LCM; >;
- < "MOD" ; SC_OPCODE_MOD; >;
- < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT; >;
- < "SUMSQ" ; SC_OPCODE_SUM_SQ; >;
- < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2; >;
- < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2; >;
- < "SUMXMY2" ; SC_OPCODE_SUM_XMY2; >;
- < "DATE" ; SC_OPCODE_GET_DATE; >;
- < "TIME" ; SC_OPCODE_GET_TIME; >;
- < "DAYS" ; SC_OPCODE_GET_DIFF_DATE; >;
- < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360; >;
- < "DATEDIF" ; SC_OPCODE_GET_DATEDIF; >;
- < "MIN" ; SC_OPCODE_MIN; >;
- < "MINA" ; SC_OPCODE_MIN_A; >;
- < "MAX" ; SC_OPCODE_MAX; >;
- < "MAXA" ; SC_OPCODE_MAX_A; >;
- < "SUM" ; SC_OPCODE_SUM; >;
- < "PRODUCT" ; SC_OPCODE_PRODUCT; >;
- < "AVERAGE" ; SC_OPCODE_AVERAGE; >;
- < "AVERAGEA" ; SC_OPCODE_AVERAGE_A; >;
- < "COUNT" ; SC_OPCODE_COUNT; >;
- < "COUNTA" ; SC_OPCODE_COUNT_2; >;
- < "NPV" ; SC_OPCODE_NPV; >;
- < "IRR" ; SC_OPCODE_IRR; >;
- < "MIRR" ; SC_OPCODE_MIRR; >;
- < "ISPMT" ; SC_OPCODE_ISPMT; >;
- < "VAR" ; SC_OPCODE_VAR; >;
- < "VARA" ; SC_OPCODE_VAR_A; >;
- < "VARP" ; SC_OPCODE_VAR_P; >;
- < "VARPA" ; SC_OPCODE_VAR_P_A; >;
- < "COM.MICROSOFT.VAR.P" ; SC_OPCODE_VAR_P_MS; >;
- < "COM.MICROSOFT.VAR.S" ; SC_OPCODE_VAR_S; >;
- < "STDEV" ; SC_OPCODE_ST_DEV; >;
- < "STDEVA" ; SC_OPCODE_ST_DEV_A; >;
- < "STDEVP" ; SC_OPCODE_ST_DEV_P; >;
- < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A; >;
- < "COM.MICROSOFT.STDEV.P" ; SC_OPCODE_ST_DEV_P_MS; >;
- < "COM.MICROSOFT.STDEV.S" ; SC_OPCODE_ST_DEV_S; >;
- < "BINOM.DIST.RANGE" ; SC_OPCODE_B; >;
- < "NORMDIST" ; SC_OPCODE_NORM_DIST; >;
- < "COM.MICROSOFT.NORM.DIST" ; SC_OPCODE_NORM_DIST_MS; >;
- < "EXPONDIST" ; SC_OPCODE_EXP_DIST; >;
- < "COM.MICROSOFT.EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS; >;
- < "BINOMDIST" ; SC_OPCODE_BINOM_DIST; >;
- < "COM.MICROSOFT.BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS; >;
- < "POISSON" ; SC_OPCODE_POISSON_DIST; >;
- < "COM.MICROSOFT.POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS; >;
- < "COMBIN" ; SC_OPCODE_COMBIN; >;
- < "COMBINA" ; SC_OPCODE_COMBIN_A; >;
- < "PERMUT" ; SC_OPCODE_PERMUT; >;
- < "PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A; >;
- < "PV" ; SC_OPCODE_PV; >;
- < "SYD" ; SC_OPCODE_SYD; >;
- < "DDB" ; SC_OPCODE_DDB; >;
- < "DB" ; SC_OPCODE_DB; >;
- < "VDB" ; SC_OPCODE_VBD; >;
- < "PDURATION" ; SC_OPCODE_PDURATION; >;
- < "SLN" ; SC_OPCODE_SLN; >;
- < "PMT" ; SC_OPCODE_PMT; >;
- < "COLUMNS" ; SC_OPCODE_COLUMNS; >;
- < "ROWS" ; SC_OPCODE_ROWS; >;
- < "SHEETS" ; SC_OPCODE_SHEETS; >;
- < "COLUMN" ; SC_OPCODE_COLUMN; >;
- < "ROW" ; SC_OPCODE_ROW; >;
- < "SHEET" ; SC_OPCODE_SHEET; >;
- < "RRI" ; SC_OPCODE_RRI; >;
- < "FV" ; SC_OPCODE_FV; >;
- < "NPER" ; SC_OPCODE_NPER; >;
- < "RATE" ; SC_OPCODE_RATE; >;
- < "IPMT" ; SC_OPCODE_IPMT; >;
- < "PPMT" ; SC_OPCODE_PPMT; >;
- < "CUMIPMT" ; SC_OPCODE_CUM_IPMT; >;
- < "CUMPRINC" ; SC_OPCODE_CUM_PRINC; >;
- < "EFFECT" ; SC_OPCODE_EFFECT; >;
- < "NOMINAL" ; SC_OPCODE_NOMINAL; >;
- < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL; >;
- < "DSUM" ; SC_OPCODE_DB_SUM; >;
- < "DCOUNT" ; SC_OPCODE_DB_COUNT; >;
- < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2; >;
- < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE; >;
- < "DGET" ; SC_OPCODE_DB_GET; >;
- < "DMAX" ; SC_OPCODE_DB_MAX; >;
- < "DMIN" ; SC_OPCODE_DB_MIN; >;
- < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT; >;
- < "DSTDEV" ; SC_OPCODE_DB_STD_DEV; >;
- < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P; >;
- < "DVAR" ; SC_OPCODE_DB_VAR; >;
- < "DVARP" ; SC_OPCODE_DB_VAR_P; >;
- < "INDIRECT" ; SC_OPCODE_INDIRECT; >;
- < "ADDRESS" ; SC_OPCODE_ADDRESS; >;
- < "MATCH" ; SC_OPCODE_MATCH; >;
- < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS; >;
- < "COUNTIF" ; SC_OPCODE_COUNT_IF; >;
- < "SUMIF" ; SC_OPCODE_SUM_IF; >;
- < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF; >;
- < "SUMIFS" ; SC_OPCODE_SUM_IFS; >;
- < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS; >;
- < "COUNTIFS" ; SC_OPCODE_COUNT_IFS; >;
- < "LOOKUP" ; SC_OPCODE_LOOKUP; >;
- < "VLOOKUP" ; SC_OPCODE_V_LOOKUP; >;
- < "HLOOKUP" ; SC_OPCODE_H_LOOKUP; >;
- < "ORG.OPENOFFICE.MULTIRANGE" ; SC_OPCODE_MULTI_AREA; >; // legacy for range list (union)
- < "OFFSET" ; SC_OPCODE_OFFSET; >;
- < "INDEX" ; SC_OPCODE_INDEX; >;
- < "AREAS" ; SC_OPCODE_AREAS; >;
- < "DOLLAR" ; SC_OPCODE_CURRENCY; >;
- < "REPLACE" ; SC_OPCODE_REPLACE; >;
- < "FIXED" ; SC_OPCODE_FIXED; >;
- < "FIND" ; SC_OPCODE_FIND; >;
- < "EXACT" ; SC_OPCODE_EXACT; >;
- < "LEFT" ; SC_OPCODE_LEFT; >;
- < "RIGHT" ; SC_OPCODE_RIGHT; >;
- < "SEARCH" ; SC_OPCODE_SEARCH; >;
- < "MID" ; SC_OPCODE_MID; >;
- < "LENB" ; SC_OPCODE_LENB; >;
- < "RIGHTB" ; SC_OPCODE_RIGHTB; >;
- < "LEFTB" ; SC_OPCODE_LEFTB; >;
- < "REPLACEB" ; SC_OPCODE_REPLACEB; >;
- < "MIDB" ; SC_OPCODE_MIDB; >;
- < "TEXT" ; SC_OPCODE_TEXT; >;
- < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE; >;
- < "REPT" ; SC_OPCODE_REPT; >;
- < "CONCATENATE" ; SC_OPCODE_CONCAT; >;
- < "COM.MICROSOFT.CONCAT" ; SC_OPCODE_CONCAT_MS; >;
- < "COM.MICROSOFT.TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS; >;
- < "COM.MICROSOFT.IFS" ; SC_OPCODE_IFS_MS; >;
- < "COM.MICROSOFT.SWITCH" ; SC_OPCODE_SWITCH_MS; >;
- < "COM.MICROSOFT.MINIFS" ; SC_OPCODE_MINIFS_MS; >;
- < "COM.MICROSOFT.MAXIFS" ; SC_OPCODE_MAXIFS_MS; >;
- < "MVALUE" ; SC_OPCODE_MAT_VALUE; >;
- < "MDETERM" ; SC_OPCODE_MAT_DET; >;
- < "MINVERSE" ; SC_OPCODE_MAT_INV; >;
- < "MMULT" ; SC_OPCODE_MAT_MULT; >;
- < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS; >;
- < "MUNIT" ; SC_OPCODE_MATRIX_UNIT; >;
- < "ORG.OPENOFFICE.GOALSEEK" ; SC_OPCODE_BACK_SOLVER; >;
- < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST; >;
- < "COM.MICROSOFT.HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS; >;
- < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST; >;
- < "COM.MICROSOFT.LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS; >;
- < "LEGACY.TDIST" ; SC_OPCODE_T_DIST; >;
- < "COM.MICROSOFT.T.DIST.2T" ; SC_OPCODE_T_DIST_2T; >;
- < "COM.MICROSOFT.T.DIST" ; SC_OPCODE_T_DIST_MS; >;
- < "COM.MICROSOFT.T.DIST.RT" ; SC_OPCODE_T_DIST_RT; >;
- < "LEGACY.FDIST" ; SC_OPCODE_F_DIST; >;
- < "FDIST" ; SC_OPCODE_F_DIST_LT; >;
- < "COM.MICROSOFT.F.DIST.RT" ; SC_OPCODE_F_DIST_RT; >;
- < "LEGACY.CHIDIST" ; SC_OPCODE_CHI_DIST; >;
- < "COM.MICROSOFT.CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS; >;
- < "WEIBULL" ; SC_OPCODE_WEIBULL; >;
- < "COM.MICROSOFT.WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS; >;
- < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT; >;
- < "COM.MICROSOFT.NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS; >;
- < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM; >;
- < "COM.MICROSOFT.BINOM.INV" ; SC_OPCODE_BINOM_INV; >;
- < "KURT" ; SC_OPCODE_KURT; >;
- < "HARMEAN" ; SC_OPCODE_HAR_MEAN; >;
- < "GEOMEAN" ; SC_OPCODE_GEO_MEAN; >;
- < "STANDARDIZE" ; SC_OPCODE_STANDARD; >;
- < "AVEDEV" ; SC_OPCODE_AVE_DEV; >;
- < "SKEW" ; SC_OPCODE_SKEW; >;
- < "SKEWP" ; SC_OPCODE_SKEWP; >;
- < "DEVSQ" ; SC_OPCODE_DEV_SQ; >;
- < "MEDIAN" ; SC_OPCODE_MEDIAN; >;
- < "MODE" ; SC_OPCODE_MODAL_VALUE; >;
- < "COM.MICROSOFT.MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS; >;
- < "COM.MICROSOFT.MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI; >;
- < "ZTEST" ; SC_OPCODE_Z_TEST; >;
- < "COM.MICROSOFT.Z.TEST" ; SC_OPCODE_Z_TEST_MS; >;
- < "COM.MICROSOFT.AGGREGATE" ; SC_OPCODE_AGGREGATE; >;
- < "TTEST" ; SC_OPCODE_T_TEST; >;
- < "COM.MICROSOFT.T.TEST" ; SC_OPCODE_T_TEST_MS; >;
- < "RANK" ; SC_OPCODE_RANK; >;
- < "PERCENTILE" ; SC_OPCODE_PERCENTILE; >;
- < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK; >;
- < "COM.MICROSOFT.PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC; >;
- < "COM.MICROSOFT.PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC; >;
- < "COM.MICROSOFT.QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC; >;
- < "COM.MICROSOFT.RANK.EQ" ; SC_OPCODE_RANK_EQ; >;
- < "COM.MICROSOFT.PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC; >;
- < "COM.MICROSOFT.PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC; >;
- < "COM.MICROSOFT.QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC; >;
- < "COM.MICROSOFT.RANK.AVG" ; SC_OPCODE_RANK_AVG; >;
- < "LARGE" ; SC_OPCODE_LARGE; >;
- < "SMALL" ; SC_OPCODE_SMALL; >;
- < "FREQUENCY" ; SC_OPCODE_FREQUENCY; >;
- < "QUARTILE" ; SC_OPCODE_QUARTILE; >;
- < "NORMINV" ; SC_OPCODE_NORM_INV; >;
- < "COM.MICROSOFT.NORM.INV" ; SC_OPCODE_NORM_INV_MS; >;
- < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE; >;
- < "COM.MICROSOFT.CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N; >;
- < "COM.MICROSOFT.CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T; >;
- < "FTEST" ; SC_OPCODE_F_TEST; >;
- < "COM.MICROSOFT.F.TEST" ; SC_OPCODE_F_TEST_MS; >;
- < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN; >;
- < "PROB" ; SC_OPCODE_PROB; >;
- < "CORREL" ; SC_OPCODE_CORREL; >;
- < "COVAR" ; SC_OPCODE_COVAR; >;
- < "COM.MICROSOFT.COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P; >;
- < "COM.MICROSOFT.COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S; >;
- < "PEARSON" ; SC_OPCODE_PEARSON; >;
- < "RSQ" ; SC_OPCODE_RSQ; >;
- < "STEYX" ; SC_OPCODE_STEYX; >;
- < "SLOPE" ; SC_OPCODE_SLOPE; >;
- < "INTERCEPT" ; SC_OPCODE_INTERCEPT; >;
- < "TREND" ; SC_OPCODE_TREND; >;
- < "GROWTH" ; SC_OPCODE_GROWTH; >;
- < "LINEST" ; SC_OPCODE_LINEST; >;
- < "LOGEST" ; SC_OPCODE_LOGEST; >;
- < "FORECAST" ; SC_OPCODE_FORECAST; >;
- < "COM.MICROSOFT.FORECAST.ETS" ; SC_OPCODE_FORECAST_ETS_ADD; >;
- < "COM.MICROSOFT.FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA; >;
- < "ORG.LIBREOFFICE.FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL; >;
- < "COM.MICROSOFT.FORECAST.ETS.CONFINT" ; SC_OPCODE_FORECAST_ETS_PIA; >;
- < "ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM; >;
- < "COM.MICROSOFT.FORECAST.ETS.STAT" ; SC_OPCODE_FORECAST_ETS_STA; >;
- < "ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM; >;
- < "COM.MICROSOFT.FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN; >;
- < "LEGACY.CHIINV" ; SC_OPCODE_CHI_INV; >;
- < "COM.MICROSOFT.CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS; >;
- < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST; >;
- < "COM.MICROSOFT.GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS; >;
- < "GAMMAINV" ; SC_OPCODE_GAMMA_INV; >;
- < "COM.MICROSOFT.GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS; >;
- < "TINV" ; SC_OPCODE_T_INV; >;
- < "COM.MICROSOFT.T.INV.2T" ; SC_OPCODE_T_INV_2T; >;
- < "COM.MICROSOFT.T.INV" ; SC_OPCODE_T_INV_MS; >;
- < "LEGACY.FINV" ; SC_OPCODE_F_INV; >;
- < "FINV" ; SC_OPCODE_F_INV_LT; >;
- < "COM.MICROSOFT.F.INV.RT" ; SC_OPCODE_F_INV_RT; >;
- < "LEGACY.CHITEST" ; SC_OPCODE_CHI_TEST; >;
- < "COM.MICROSOFT.CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS; >;
- < "LOGINV" ; SC_OPCODE_LOG_INV; >;
- < "COM.MICROSOFT.LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS; >;
- < "MULTIPLE.OPERATIONS" ; SC_OPCODE_TABLE_OP; >;
- < "BETADIST" ; SC_OPCODE_BETA_DIST; >;
- < "BETAINV" ; SC_OPCODE_BETA_INV; >;
- < "COM.MICROSOFT.BETA.DIST" ; SC_OPCODE_BETA_DIST_MS; >;
- < "COM.MICROSOFT.BETA.INV" ; SC_OPCODE_BETA_INV_MS; >;
- < "WEEKNUM" ; SC_OPCODE_WEEK; >;
- < "ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM; >;
- < "ORG.LIBREOFFICE.WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO; >;
- < "ORG.OPENOFFICE.EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY; >;
- < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK; >;
- < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS; >;
- < "COM.MICROSOFT.NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS; >;
- < "COM.MICROSOFT.WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS; >;
- < "#NAME!" ; SC_OPCODE_NO_NAME; >;
- < "ORG.OPENOFFICE.STYLE" ; SC_OPCODE_STYLE; >;
- < "DDE" ; SC_OPCODE_DDE; >;
- < "BASE" ; SC_OPCODE_BASE; >;
- < "DECIMAL" ; SC_OPCODE_DECIMAL; >;
- < "ORG.OPENOFFICE.CONVERT" ; SC_OPCODE_CONVERT_OOO; >;
- < "ROMAN" ; SC_OPCODE_ROMAN; >;
- < "ARABIC" ; SC_OPCODE_ARABIC; >;
- < "HYPERLINK" ; SC_OPCODE_HYPERLINK; >;
- < "INFO" ; SC_OPCODE_INFO; >;
- < "COM.MICROSOFT.BAHTTEXT" ; SC_OPCODE_BAHTTEXT; >;
- < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA; >;
- < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT; >;
- < "NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE; >;
- < "GAMMA" ; SC_OPCODE_GAMMA; >;
- < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST; >;
- < "COM.MICROSOFT.CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS; >;
- < "CHISQINV" ; SC_OPCODE_CHISQ_INV; >;
- < "COM.MICROSOFT.CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS; >;
- < "BITAND" ; SC_OPCODE_BITAND; >;
- < "BITOR" ; SC_OPCODE_BITOR; >;
- < "BITXOR" ; SC_OPCODE_BITXOR; >;
- < "BITRSHIFT" ; SC_OPCODE_BITRSHIFT; >;
- < "BITLSHIFT" ; SC_OPCODE_BITLSHIFT; >;
- /* BEGIN defined ERROR.TYPE() values. */
- < "#NULL!" ; SC_OPCODE_ERROR_NULL; >;
- < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO; >;
- < "#VALUE!" ; SC_OPCODE_ERROR_VALUE; >;
- < "#REF!" ; SC_OPCODE_ERROR_REF; >;
- < "#NAME?" ; SC_OPCODE_ERROR_NAME; >;
- < "#NUM!" ; SC_OPCODE_ERROR_NUM; >;
- < "#N/A" ; SC_OPCODE_ERROR_NA; >;
- /* END defined ERROR.TYPE() values. */
- < "COM.MICROSOFT.FILTERXML" ; SC_OPCODE_FILTERXML; >;
- < "COM.MICROSOFT.WEBSERVICE" ; SC_OPCODE_WEBSERVICE; >;
- < "ORG.LIBREOFFICE.COLOR" ; SC_OPCODE_COLOR; >;
- < "COM.MICROSOFT.ERF.PRECISE" ; SC_OPCODE_ERF_MS; >;
- < "COM.MICROSOFT.ERFC.PRECISE" ; SC_OPCODE_ERFC_MS; >;
- < "COM.MICROSOFT.ENCODEURL" ; SC_OPCODE_ENCODEURL; >;
- < "ORG.LIBREOFFICE.RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT; >;
- < "ORG.LIBREOFFICE.ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >;
- };
-};
-
-/** These function names are used in the OOXML XLSX import/export. */
-StringArray RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML
-{
- ItemList =
- {
- < "IF" ; SC_OPCODE_IF; >;
- < "IFERROR" ; SC_OPCODE_IF_ERROR; >;
- < "_xlfn.IFNA" ; SC_OPCODE_IF_NA; >;
- < "CHOOSE" ; SC_OPCODE_CHOOSE; >;
- < "(" ; SC_OPCODE_OPEN; >;
- < ")" ; SC_OPCODE_CLOSE; >;
- < "[" ; SC_OPCODE_TABLE_REF_OPEN; >;
- < "]" ; SC_OPCODE_TABLE_REF_CLOSE; >;
- < "#All" ; SC_OPCODE_TABLE_REF_ITEM_ALL; >;
- < "#Headers" ; SC_OPCODE_TABLE_REF_ITEM_HEADERS; >;
- < "#Data" ; SC_OPCODE_TABLE_REF_ITEM_DATA; >;
- < "#Totals" ; SC_OPCODE_TABLE_REF_ITEM_TOTALS; >;
- < "#This Row" ; SC_OPCODE_TABLE_REF_ITEM_THIS_ROW; >;
- < "{" ; SC_OPCODE_ARRAY_OPEN; >;
- < "}" ; SC_OPCODE_ARRAY_CLOSE; >;
- < ";" ; SC_OPCODE_ARRAY_ROW_SEP; >;
- < "," ; SC_OPCODE_ARRAY_COL_SEP; >;
- < "," ; SC_OPCODE_SEP; >;
- < "%" ; SC_OPCODE_PERCENT_SIGN; >;
- < "+" ; SC_OPCODE_ADD; >;
- < "-" ; SC_OPCODE_SUB; >;
- < "*" ; SC_OPCODE_MUL; >;
- < "/" ; SC_OPCODE_DIV; >;
- < "&" ; SC_OPCODE_AMPERSAND; >;
- < "^" ; SC_OPCODE_POW; >;
- < "=" ; SC_OPCODE_EQUAL; >;
- < "<>" ; SC_OPCODE_NOT_EQUAL; >;
- < "<" ; SC_OPCODE_LESS; >;
- < ">" ; SC_OPCODE_GREATER; >;
- < "<=" ; SC_OPCODE_LESS_EQUAL; >;
- < ">=" ; SC_OPCODE_GREATER_EQUAL; >;
- < "AND" ; SC_OPCODE_AND; >;
- < "OR" ; SC_OPCODE_OR; >;
- < "_xlfn.XOR" ; SC_OPCODE_XOR; >;
- < " " ; SC_OPCODE_INTERSECT; >;
- < "~" ; SC_OPCODE_UNION; >;
- < ":" ; SC_OPCODE_RANGE; >;
- < "NOT" ; SC_OPCODE_NOT; >;
- < "NEG" ; SC_OPCODE_NEG; >;
- < "-" ; SC_OPCODE_NEG_SUB; >;
- < "PI" ; SC_OPCODE_PI; >;
- < "RAND" ; SC_OPCODE_RANDOM; >;
- < "TRUE" ; SC_OPCODE_TRUE; >;
- < "FALSE" ; SC_OPCODE_FALSE; >;
- < "TODAY" ; SC_OPCODE_GET_ACT_DATE; >;
- < "NOW" ; SC_OPCODE_GET_ACT_TIME; >;
- < "NA" ; SC_OPCODE_NO_VALUE; >;
- < "_xlfn.ORG.OPENOFFICE.CURRENT" ; SC_OPCODE_CURRENT; >;
- < "DEGREES" ; SC_OPCODE_DEG; >;
- < "RADIANS" ; SC_OPCODE_RAD; >;
- < "SIN" ; SC_OPCODE_SIN; >;
- < "COS" ; SC_OPCODE_COS; >;
- < "TAN" ; SC_OPCODE_TAN; >;
- < "_xlfn.COT" ; SC_OPCODE_COT; >;
- < "ASIN" ; SC_OPCODE_ARC_SIN; >;
- < "ACOS" ; SC_OPCODE_ARC_COS; >;
- < "ATAN" ; SC_OPCODE_ARC_TAN; >;
- < "_xlfn.ACOT" ; SC_OPCODE_ARC_COT; >;
- < "SINH" ; SC_OPCODE_SIN_HYP; >;
- < "COSH" ; SC_OPCODE_COS_HYP; >;
- < "TANH" ; SC_OPCODE_TAN_HYP; >;
- < "_xlfn.COTH" ; SC_OPCODE_COT_HYP; >;
- < "ASINH" ; SC_OPCODE_ARC_SIN_HYP; >;
- < "ACOSH" ; SC_OPCODE_ARC_COS_HYP; >;
- < "ATANH" ; SC_OPCODE_ARC_TAN_HYP; >;
- < "_xlfn.ACOTH" ; SC_OPCODE_ARC_COT_HYP; >;
- < "_xlfn.CSC" ; SC_OPCODE_COSECANT; >;
- < "_xlfn.SEC" ; SC_OPCODE_SECANT; >;
- < "_xlfn.CSCH" ; SC_OPCODE_COSECANT_HYP; >;
- < "_xlfn.SECH" ; SC_OPCODE_SECANT_HYP; >;
- < "EXP" ; SC_OPCODE_EXP; >;
- < "LN" ; SC_OPCODE_LN; >;
- < "SQRT" ; SC_OPCODE_SQRT; >;
- < "FACT" ; SC_OPCODE_FACT; >;
- < "YEAR" ; SC_OPCODE_GET_YEAR; >;
- < "MONTH" ; SC_OPCODE_GET_MONTH; >;
- < "DAY" ; SC_OPCODE_GET_DAY; >;
- < "HOUR" ; SC_OPCODE_GET_HOUR; >;
- < "MINUTE" ; SC_OPCODE_GET_MIN; >;
- < "SECOND" ; SC_OPCODE_GET_SEC; >;
- < "SIGN" ; SC_OPCODE_PLUS_MINUS; >;
- < "ABS" ; SC_OPCODE_ABS; >;
- < "INT" ; SC_OPCODE_INT; >;
- < "_xlfn.PHI" ; SC_OPCODE_PHI; >;
- < "_xlfn.GAUSS" ; SC_OPCODE_GAUSS; >;
- < "ISBLANK" ; SC_OPCODE_IS_EMPTY; >;
- < "ISTEXT" ; SC_OPCODE_IS_STRING; >;
- < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING; >;
- < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL; >;
- < "TYPE" ; SC_OPCODE_TYPE; >;
- < "CELL" ; SC_OPCODE_CELL; >;
- < "ISREF" ; SC_OPCODE_IS_REF; >;
- < "ISNUMBER" ; SC_OPCODE_IS_VALUE; >;
- < "_xlfn.ISFORMULA" ; SC_OPCODE_IS_FORMULA; >;
- < "ISNA" ; SC_OPCODE_IS_NV; >;
- < "ISERR" ; SC_OPCODE_IS_ERR; >;
- < "ISERROR" ; SC_OPCODE_IS_ERROR; >;
- < "ISEVEN" ; SC_OPCODE_IS_EVEN; >;
- < "ISODD" ; SC_OPCODE_IS_ODD; >;
- < "N" ; SC_OPCODE_N; >;
- < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE; >;
- < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE; >;
- < "CODE" ; SC_OPCODE_CODE; >;
- < "TRIM" ; SC_OPCODE_TRIM; >;
- < "UPPER" ; SC_OPCODE_UPPER; >;
- < "PROPER" ; SC_OPCODE_PROPER; >;
- < "LOWER" ; SC_OPCODE_LOWER; >;
- < "LEN" ; SC_OPCODE_LEN; >;
- < "T" ; SC_OPCODE_T; >;
- < "VALUE" ; SC_OPCODE_VALUE; >;
- < "CLEAN" ; SC_OPCODE_CLEAN; >;
- < "CHAR" ; SC_OPCODE_CHAR; >;
- < "JIS" ; SC_OPCODE_JIS; >;
- < "ASC" ; SC_OPCODE_ASC; >;
- < "_xlfn.UNICODE" ; SC_OPCODE_UNICODE; >;
- < "_xlfn.UNICHAR" ; SC_OPCODE_UNICHAR; >;
- < "LOG10" ; SC_OPCODE_LOG10; >;
- < "EVEN" ; SC_OPCODE_EVEN; >;
- < "ODD" ; SC_OPCODE_ODD; >;
- < "NORMSDIST" ; SC_OPCODE_STD_NORM_DIST; >;
- < "_xlfn.NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS; >;
- < "FISHER" ; SC_OPCODE_FISHER; >;
- < "FISHERINV" ; SC_OPCODE_FISHER_INV; >;
- < "NORMSINV" ; SC_OPCODE_S_NORM_INV; >;
- < "_xlfn.NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS; >;
- < "GAMMALN" ; SC_OPCODE_GAMMA_LN; >;
- < "_xlfn.GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS; >;
- < "_xlfn.ORG.OPENOFFICE.ERRORTYPE" ; SC_OPCODE_ERROR_TYPE; >;
- < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF; >;
- < "_xlfn.FORMULATEXT" ; SC_OPCODE_FORMULA; >;
- < "ATAN2" ; SC_OPCODE_ARC_TAN_2; >;
- < "_xlfn.CEILING.MATH" ; SC_OPCODE_CEIL_MATH; >;
- < "_xlfn.CEILING.MATH" ; SC_OPCODE_CEIL; >;
- < "CEILING" ; SC_OPCODE_CEIL_MS; >;
- < "_xlfn.CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE; >;
- < "ISO.CEILING" ; SC_OPCODE_CEIL_ISO; >;
- < "FLOOR" ; SC_OPCODE_FLOOR_MS; >;
- < "_xlfn.FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH; >;
- < "_xlfn.FLOOR.MATH" ; SC_OPCODE_FLOOR; >;
- < "_xlfn.FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE; >;
- < "ROUND" ; SC_OPCODE_ROUND; >;
- < "ROUNDUP" ; SC_OPCODE_ROUND_UP; >;
- < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN; >;
- < "TRUNC" ; SC_OPCODE_TRUNC; >;
- < "LOG" ; SC_OPCODE_LOG; >;
- < "POWER" ; SC_OPCODE_POWER; >;
- < "GCD" ; SC_OPCODE_GCD; >;
- < "LCM" ; SC_OPCODE_LCM; >;
- < "MOD" ; SC_OPCODE_MOD; >;
- < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT; >;
- < "SUMSQ" ; SC_OPCODE_SUM_SQ; >;
- < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2; >;
- < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2; >;
- < "SUMXMY2" ; SC_OPCODE_SUM_XMY2; >;
- < "DATE" ; SC_OPCODE_GET_DATE; >;
- < "TIME" ; SC_OPCODE_GET_TIME; >;
- < "_xlfn.DAYS" ; SC_OPCODE_GET_DIFF_DATE; >;
- < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360; >;
- < "DATEDIF" ; SC_OPCODE_GET_DATEDIF; >;
- < "MIN" ; SC_OPCODE_MIN; >;
- < "MINA" ; SC_OPCODE_MIN_A; >;
- < "MAX" ; SC_OPCODE_MAX; >;
- < "MAXA" ; SC_OPCODE_MAX_A; >;
- < "SUM" ; SC_OPCODE_SUM; >;
- < "PRODUCT" ; SC_OPCODE_PRODUCT; >;
- < "AVERAGE" ; SC_OPCODE_AVERAGE; >;
- < "AVERAGEA" ; SC_OPCODE_AVERAGE_A; >;
- < "COUNT" ; SC_OPCODE_COUNT; >;
- < "COUNTA" ; SC_OPCODE_COUNT_2; >;
- < "NPV" ; SC_OPCODE_NPV; >;
- < "IRR" ; SC_OPCODE_IRR; >;
- < "MIRR" ; SC_OPCODE_MIRR; >;
- < "ISPMT" ; SC_OPCODE_ISPMT; >;
- < "VAR" ; SC_OPCODE_VAR; >;
- < "VARA" ; SC_OPCODE_VAR_A; >;
- < "VARP" ; SC_OPCODE_VAR_P; >;
- < "VARPA" ; SC_OPCODE_VAR_P_A; >;
- < "_xlfn.VAR.P" ; SC_OPCODE_VAR_P_MS; >;
- < "_xlfn.VAR.S" ; SC_OPCODE_VAR_S; >;
- < "STDEV" ; SC_OPCODE_ST_DEV; >;
- < "STDEVA" ; SC_OPCODE_ST_DEV_A; >;
- < "STDEVP" ; SC_OPCODE_ST_DEV_P; >;
- < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A; >;
- < "_xlfn.STDEV.P" ; SC_OPCODE_ST_DEV_P_MS; >;
- < "_xlfn.STDEV.S" ; SC_OPCODE_ST_DEV_S; >;
- < "B" ; SC_OPCODE_B; >;
- < "NORMDIST" ; SC_OPCODE_NORM_DIST; >;
- < "_xlfn.NORM.DIST" ; SC_OPCODE_NORM_DIST_MS; >;
- < "EXPONDIST" ; SC_OPCODE_EXP_DIST; >;
- < "_xlfn.EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS; >;
- < "BINOMDIST" ; SC_OPCODE_BINOM_DIST; >;
- < "_xlfn.BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS; >;
- < "POISSON" ; SC_OPCODE_POISSON_DIST; >;
- < "_xlfn.POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS; >;
- < "COMBIN" ; SC_OPCODE_COMBIN; >;
- < "_xlfn.COMBINA" ; SC_OPCODE_COMBIN_A; >;
- < "PERMUT" ; SC_OPCODE_PERMUT; >;
- < "_xlfn.PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A; >;
- < "PV" ; SC_OPCODE_PV; >;
- < "SYD" ; SC_OPCODE_SYD; >;
- < "DDB" ; SC_OPCODE_DDB; >;
- < "DB" ; SC_OPCODE_DB; >;
- < "VDB" ; SC_OPCODE_VBD; >;
- < "_xlfn.PDURATION" ; SC_OPCODE_PDURATION; >;
- < "SLN" ; SC_OPCODE_SLN; >;
- < "PMT" ; SC_OPCODE_PMT; >;
- < "COLUMNS" ; SC_OPCODE_COLUMNS; >;
- < "ROWS" ; SC_OPCODE_ROWS; >;
- < "_xlfn.SHEETS" ; SC_OPCODE_SHEETS; >;
- < "COLUMN" ; SC_OPCODE_COLUMN; >;
- < "ROW" ; SC_OPCODE_ROW; >;
- < "_xlfn.SHEET" ; SC_OPCODE_SHEET; >;
- < "_xlfn.RRI" ; SC_OPCODE_RRI; >;
- < "FV" ; SC_OPCODE_FV; >;
- < "NPER" ; SC_OPCODE_NPER; >;
- < "RATE" ; SC_OPCODE_RATE; >;
- < "IPMT" ; SC_OPCODE_IPMT; >;
- < "PPMT" ; SC_OPCODE_PPMT; >;
- < "CUMIPMT" ; SC_OPCODE_CUM_IPMT; >;
- < "CUMPRINC" ; SC_OPCODE_CUM_PRINC; >;
- < "EFFECT" ; SC_OPCODE_EFFECT; >;
- < "NOMINAL" ; SC_OPCODE_NOMINAL; >;
- < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL; >;
- < "DSUM" ; SC_OPCODE_DB_SUM; >;
- < "DCOUNT" ; SC_OPCODE_DB_COUNT; >;
- < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2; >;
- < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE; >;
- < "DGET" ; SC_OPCODE_DB_GET; >;
- < "DMAX" ; SC_OPCODE_DB_MAX; >;
- < "DMIN" ; SC_OPCODE_DB_MIN; >;
- < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT; >;
- < "DSTDEV" ; SC_OPCODE_DB_STD_DEV; >;
- < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P; >;
- < "DVAR" ; SC_OPCODE_DB_VAR; >;
- < "DVARP" ; SC_OPCODE_DB_VAR_P; >;
- < "INDIRECT" ; SC_OPCODE_INDIRECT; >;
- < "ADDRESS" ; SC_OPCODE_ADDRESS; >;
- < "MATCH" ; SC_OPCODE_MATCH; >;
- < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS; >;
- < "COUNTIF" ; SC_OPCODE_COUNT_IF; >;
- < "SUMIF" ; SC_OPCODE_SUM_IF; >;
- < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF; >;
- < "SUMIFS" ; SC_OPCODE_SUM_IFS; >;
- < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS; >;
- < "COUNTIFS" ; SC_OPCODE_COUNT_IFS; >;
- < "LOOKUP" ; SC_OPCODE_LOOKUP; >;
- < "VLOOKUP" ; SC_OPCODE_V_LOOKUP; >;
- < "HLOOKUP" ; SC_OPCODE_H_LOOKUP; >;
- < "_xlfn.ORG.OPENOFFICE.MULTIRANGE" ; SC_OPCODE_MULTI_AREA; >; // legacy for range list (union)
- < "OFFSET" ; SC_OPCODE_OFFSET; >;
- < "INDEX" ; SC_OPCODE_INDEX; >;
- < "AREAS" ; SC_OPCODE_AREAS; >;
- < "DOLLAR" ; SC_OPCODE_CURRENCY; >;
- < "REPLACE" ; SC_OPCODE_REPLACE; >;
- < "FIXED" ; SC_OPCODE_FIXED; >;
- < "FIND" ; SC_OPCODE_FIND; >;
- < "EXACT" ; SC_OPCODE_EXACT; >;
- < "LEFT" ; SC_OPCODE_LEFT; >;
- < "RIGHT" ; SC_OPCODE_RIGHT; >;
- < "SEARCH" ; SC_OPCODE_SEARCH; >;
- < "MID" ; SC_OPCODE_MID; >;
- < "LENB" ; SC_OPCODE_LENB; >;
- < "RIGHTB" ; SC_OPCODE_RIGHTB; >;
- < "LEFTB" ; SC_OPCODE_LEFTB; >;
- < "REPLACEB" ; SC_OPCODE_REPLACEB; >;
- < "MIDB" ; SC_OPCODE_MIDB; >;
- < "TEXT" ; SC_OPCODE_TEXT; >;
- < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE; >;
- < "REPT" ; SC_OPCODE_REPT; >;
- < "CONCATENATE" ; SC_OPCODE_CONCAT; >;
- < "_xlfn.CONCAT" ; SC_OPCODE_CONCAT_MS; >;
- < "_xlfn.TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS; >;
- < "_xlfn.IFS" ; SC_OPCODE_IFS_MS; >;
- < "_xlfn.SWITCH" ; SC_OPCODE_SWITCH_MS; >;
- < "_xlfn.MINIFS" ; SC_OPCODE_MINIFS_MS; >;
- < "_xlfn.MAXIFS" ; SC_OPCODE_MAXIFS_MS; >;
- < "MVALUE" ; SC_OPCODE_MAT_VALUE; >;
- < "MDETERM" ; SC_OPCODE_MAT_DET; >;
- < "MINVERSE" ; SC_OPCODE_MAT_INV; >;
- < "MMULT" ; SC_OPCODE_MAT_MULT; >;
- < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS; >;
- < "_xlfn.MUNIT" ; SC_OPCODE_MATRIX_UNIT; >;
- < "_xlfn.ORG.OPENOFFICE.GOALSEEK" ; SC_OPCODE_BACK_SOLVER; >;
- < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST; >;
- < "_xlfn.HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS; >;
- < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST; >;
- < "_xlfn.LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS; >;
- < "TDIST" ; SC_OPCODE_T_DIST; >;
- < "_xlfn.T.DIST.2T" ; SC_OPCODE_T_DIST_2T; >;
- < "_xlfn.T.DIST" ; SC_OPCODE_T_DIST_MS; >;
- < "_xlfn.T.DIST.RT" ; SC_OPCODE_T_DIST_RT; >;
- < "FDIST" ; SC_OPCODE_F_DIST; >;
- < "_xlfn.F.DIST" ; SC_OPCODE_F_DIST_LT; >;
- < "_xlfn.F.DIST.RT" ; SC_OPCODE_F_DIST_RT; >;
- < "CHIDIST" ; SC_OPCODE_CHI_DIST; >;
- < "_xlfn.CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS; >;
- < "WEIBULL" ; SC_OPCODE_WEIBULL; >;
- < "_xlfn.WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS; >;
- < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT; >;
- < "_xlfn.NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS; >;
- < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM; >;
- < "_xlfn.BINOM.INV" ; SC_OPCODE_BINOM_INV; >;
- < "KURT" ; SC_OPCODE_KURT; >;
- < "HARMEAN" ; SC_OPCODE_HAR_MEAN; >;
- < "GEOMEAN" ; SC_OPCODE_GEO_MEAN; >;
- < "STANDARDIZE" ; SC_OPCODE_STANDARD; >;
- < "AVEDEV" ; SC_OPCODE_AVE_DEV; >;
- < "SKEW" ; SC_OPCODE_SKEW; >;
- < "_xlfn.SKEW.P" ; SC_OPCODE_SKEWP; >;
- < "DEVSQ" ; SC_OPCODE_DEV_SQ; >;
- < "MEDIAN" ; SC_OPCODE_MEDIAN; >;
- < "MODE" ; SC_OPCODE_MODAL_VALUE; >;
- < "_xlfn.MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS; >;
- < "_xlfn.MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI; >;
- < "ZTEST" ; SC_OPCODE_Z_TEST; >;
- < "_xlfn.Z.TEST" ; SC_OPCODE_Z_TEST_MS; >;
- < "_xlfn.AGGREGATE" ; SC_OPCODE_AGGREGATE; >;
- < "TTEST" ; SC_OPCODE_T_TEST; >;
- < "_xlfn.T.TEST" ; SC_OPCODE_T_TEST_MS; >;
- < "RANK" ; SC_OPCODE_RANK; >;
- < "PERCENTILE" ; SC_OPCODE_PERCENTILE; >;
- < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK; >;
- < "_xlfn.PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC; >;
- < "_xlfn.PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC; >;
- < "_xlfn.QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC; >;
- < "_xlfn.RANK.EQ" ; SC_OPCODE_RANK_EQ; >;
- < "_xlfn.PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC; >;
- < "_xlfn.PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC; >;
- < "_xlfn.QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC; >;
- < "_xlfn.RANK.AVG" ; SC_OPCODE_RANK_AVG; >;
- < "LARGE" ; SC_OPCODE_LARGE; >;
- < "SMALL" ; SC_OPCODE_SMALL; >;
- < "FREQUENCY" ; SC_OPCODE_FREQUENCY; >;
- < "QUARTILE" ; SC_OPCODE_QUARTILE; >;
- < "NORMINV" ; SC_OPCODE_NORM_INV; >;
- < "_xlfn.NORM.INV" ; SC_OPCODE_NORM_INV_MS; >;
- < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE; >;
- < "_xlfn.CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N; >;
- < "_xlfn.CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T; >;
- < "FTEST" ; SC_OPCODE_F_TEST; >;
- < "_xlfn.F.TEST" ; SC_OPCODE_F_TEST_MS; >;
- < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN; >;
- < "PROB" ; SC_OPCODE_PROB; >;
- < "CORREL" ; SC_OPCODE_CORREL; >;
- < "COVAR" ; SC_OPCODE_COVAR; >;
- < "_xlfn.COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P; >;
- < "_xlfn.COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S; >;
- < "PEARSON" ; SC_OPCODE_PEARSON; >;
- < "RSQ" ; SC_OPCODE_RSQ; >;
- < "STEYX" ; SC_OPCODE_STEYX; >;
- < "SLOPE" ; SC_OPCODE_SLOPE; >;
- < "INTERCEPT" ; SC_OPCODE_INTERCEPT; >;
- < "TREND" ; SC_OPCODE_TREND; >;
- < "GROWTH" ; SC_OPCODE_GROWTH; >;
- < "LINEST" ; SC_OPCODE_LINEST; >;
- < "LOGEST" ; SC_OPCODE_LOGEST; >;
- < "FORECAST" ; SC_OPCODE_FORECAST; >;
- < "_xlfn.FORECAST.ETS" ; SC_OPCODE_FORECAST_ETS_ADD; >;
- < "_xlfn.FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA; >;
- < "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL; >;
- < "_xlfn.FORECAST.ETS.CONFINT" ; SC_OPCODE_FORECAST_ETS_PIA; >;
- < "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM; >;
- < "_xlfn.FORECAST.ETS.STAT" ; SC_OPCODE_FORECAST_ETS_STA; >;
- < "_xlfn.ORG.LIBREOFFICE.FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM; >;
- < "_xlfn.FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN; >;
- < "CHIINV" ; SC_OPCODE_CHI_INV; >;
- < "_xlfn.CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS; >;
- < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST; >;
- < "_xlfn.GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS; >;
- < "GAMMAINV" ; SC_OPCODE_GAMMA_INV; >;
- < "_xlfn.GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS; >;
- < "TINV" ; SC_OPCODE_T_INV; >;
- < "_xlfn.T.INV.2T" ; SC_OPCODE_T_INV_2T; >;
- < "_xlfn.T.INV" ; SC_OPCODE_T_INV_MS; >;
- < "FINV" ; SC_OPCODE_F_INV; >;
- < "_xlfn.F.INV" ; SC_OPCODE_F_INV_LT; >;
- < "_xlfn.F.INV.RT" ; SC_OPCODE_F_INV_RT; >;
- < "CHITEST" ; SC_OPCODE_CHI_TEST; >;
- < "_xlfn.CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS; >;
- < "LOGINV" ; SC_OPCODE_LOG_INV; >;
- < "_xlfn.LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS; >;
- < "TABLE" ; SC_OPCODE_TABLE_OP; >;
- < "BETADIST" ; SC_OPCODE_BETA_DIST; >;
- < "BETAINV" ; SC_OPCODE_BETA_INV; >;
- < "_xlfn.BETA.DIST" ; SC_OPCODE_BETA_DIST_MS; >;
- < "_xlfn.BETA.INV" ; SC_OPCODE_BETA_INV_MS; >;
- < "WEEKNUM" ; SC_OPCODE_WEEK; >;
- < "_xlfn.ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM; >;
- < "_xlfn.ORG.LIBREOFFICE.WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO; >;
- < "_xlfn.ORG.OPENOFFICE.EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY; >;
- < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK; >;
- < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS; >;
- < "NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS; >;
- < "WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS; >;
- < "#NAME!" ; SC_OPCODE_NO_NAME; >;
- < "_xlfn.ORG.OPENOFFICE.STYLE" ; SC_OPCODE_STYLE; >;
- < "DDE" ; SC_OPCODE_DDE; >;
- < "_xlfn.BASE" ; SC_OPCODE_BASE; >;
- < "_xlfn.DECIMAL" ; SC_OPCODE_DECIMAL; >;
- < "_xlfn.ORG.OPENOFFICE.CONVERT" ; SC_OPCODE_CONVERT_OOO; >;
- < "ROMAN" ; SC_OPCODE_ROMAN; >;
- < "_xlfn.ARABIC" ; SC_OPCODE_ARABIC; >;
- < "HYPERLINK" ; SC_OPCODE_HYPERLINK; >;
- < "INFO" ; SC_OPCODE_INFO; >;
- < "_xlfn.BAHTTEXT" ; SC_OPCODE_BAHTTEXT; >;
- < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA; >;
- < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT; >;
- < "_xlfn.NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE; >;
- < "_xlfn.GAMMA" ; SC_OPCODE_GAMMA; >;
- < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST; >;
- < "_xlfn.CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS; >;
- < "CHISQINV" ; SC_OPCODE_CHISQ_INV; >;
- < "_xlfn.CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS; >;
- < "_xlfn.BITAND" ; SC_OPCODE_BITAND; >;
- < "_xlfn.BITOR" ; SC_OPCODE_BITOR; >;
- < "_xlfn.BITXOR" ; SC_OPCODE_BITXOR; >;
- < "_xlfn.BITRSHIFT" ; SC_OPCODE_BITRSHIFT; >;
- < "_xlfn.BITLSHIFT" ; SC_OPCODE_BITLSHIFT; >;
- < "#NULL!" ; SC_OPCODE_ERROR_NULL; >;
- < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO; >;
- < "#VALUE!" ; SC_OPCODE_ERROR_VALUE; >;
- < "#REF!" ; SC_OPCODE_ERROR_REF; >;
- < "#NAME?" ; SC_OPCODE_ERROR_NAME; >;
- < "#NUM!" ; SC_OPCODE_ERROR_NUM; >;
- < "#N/A" ; SC_OPCODE_ERROR_NA; >;
- /* END defined ERROR.TYPE() values. */
- < "_xlfn.FILTERXML" ; SC_OPCODE_FILTERXML; >;
- < "_xlfn.WEBSERVICE" ; SC_OPCODE_WEBSERVICE; >;
- < "_xlfn.ORG.LIBREOFFICE.COLOR" ; SC_OPCODE_COLOR; >;
- < "_xlfn.ERF.PRECISE" ; SC_OPCODE_ERF_MS; >;
- < "_xlfn.ERFC.PRECISE" ; SC_OPCODE_ERFC_MS; >;
- < "_xlfn.ENCODEURL" ; SC_OPCODE_ENCODEURL; >;
- < "_xlfn.ORG.LIBREOFFICE.RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT; >;
- < "_xlfn.ORG.LIBREOFFICE.ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >;
- };
-};
-
-/** These English names are used to store/load ODF v1.0/v1.1. */
-// DO NOT CHANGE NAMES! Only add functions.
-// If there is a reason for another name for some function then add an
-// *additional* name to be recognized to sc/source/core/tool/compiler.cxx
-// ScCompiler::IsOpCode() in the else if (mxSymbols->isPODF()) block.
-StringArray RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF
-{
- ItemList =
- {
- < "IF" ; SC_OPCODE_IF; >;
- < "IFERROR" ; SC_OPCODE_IF_ERROR; >;
- < "IFNA" ; SC_OPCODE_IF_NA; >;
- < "CHOOSE" ; SC_OPCODE_CHOOSE; >;
- < "(" ; SC_OPCODE_OPEN; >;
- < ")" ; SC_OPCODE_CLOSE; >;
- < "[" ; SC_OPCODE_TABLE_REF_OPEN; >;
- < "]" ; SC_OPCODE_TABLE_REF_CLOSE; >;
- < "#All" ; SC_OPCODE_TABLE_REF_ITEM_ALL; >;
- < "#Headers" ; SC_OPCODE_TABLE_REF_ITEM_HEADERS; >;
- < "#Data" ; SC_OPCODE_TABLE_REF_ITEM_DATA; >;
- < "#Totals" ; SC_OPCODE_TABLE_REF_ITEM_TOTALS; >;
- < "#This Row" ; SC_OPCODE_TABLE_REF_ITEM_THIS_ROW; >;
- < "{" ; SC_OPCODE_ARRAY_OPEN; >;
- < "}" ; SC_OPCODE_ARRAY_CLOSE; >;
- < "|" ; SC_OPCODE_ARRAY_ROW_SEP; >;
- < ";" ; SC_OPCODE_ARRAY_COL_SEP; >;
- < ";" ; SC_OPCODE_SEP; >;
- < "%" ; SC_OPCODE_PERCENT_SIGN; >;
- < "+" ; SC_OPCODE_ADD; >;
- < "-" ; SC_OPCODE_SUB; >;
- < "*" ; SC_OPCODE_MUL; >;
- < "/" ; SC_OPCODE_DIV; >;
- < "&" ; SC_OPCODE_AMPERSAND; >;
- < "^" ; SC_OPCODE_POW; >;
- < "=" ; SC_OPCODE_EQUAL; >;
- < "<>" ; SC_OPCODE_NOT_EQUAL; >;
- < "<" ; SC_OPCODE_LESS; >;
- < ">" ; SC_OPCODE_GREATER; >;
- < "<=" ; SC_OPCODE_LESS_EQUAL; >;
- < ">=" ; SC_OPCODE_GREATER_EQUAL; >;
- < "AND" ; SC_OPCODE_AND; >;
- < "OR" ; SC_OPCODE_OR; >;
- < "XOR" ; SC_OPCODE_XOR; >;
- < "!" ; SC_OPCODE_INTERSECT; >;
- < "~" ; SC_OPCODE_UNION; >;
- < ":" ; SC_OPCODE_RANGE; >;
- < "NOT" ; SC_OPCODE_NOT; >;
- < "NEG" ; SC_OPCODE_NEG; >;
- < "-" ; SC_OPCODE_NEG_SUB; >;
- < "PI" ; SC_OPCODE_PI; >;
- < "RAND" ; SC_OPCODE_RANDOM; >;
- < "TRUE" ; SC_OPCODE_TRUE; >;
- < "FALSE" ; SC_OPCODE_FALSE; >;
- < "TODAY" ; SC_OPCODE_GET_ACT_DATE; >;
- < "NOW" ; SC_OPCODE_GET_ACT_TIME; >;
- < "NA" ; SC_OPCODE_NO_VALUE; >;
- < "CURRENT" ; SC_OPCODE_CURRENT; >;
- < "DEGREES" ; SC_OPCODE_DEG; >;
- < "RADIANS" ; SC_OPCODE_RAD; >;
- < "SIN" ; SC_OPCODE_SIN; >;
- < "COS" ; SC_OPCODE_COS; >;
- < "TAN" ; SC_OPCODE_TAN; >;
- < "COT" ; SC_OPCODE_COT; >;
- < "ASIN" ; SC_OPCODE_ARC_SIN; >;
- < "ACOS" ; SC_OPCODE_ARC_COS; >;
- < "ATAN" ; SC_OPCODE_ARC_TAN; >;
- < "ACOT" ; SC_OPCODE_ARC_COT; >;
- < "SINH" ; SC_OPCODE_SIN_HYP; >;
- < "COSH" ; SC_OPCODE_COS_HYP; >;
- < "TANH" ; SC_OPCODE_TAN_HYP; >;
- < "COTH" ; SC_OPCODE_COT_HYP; >;
- < "ASINH" ; SC_OPCODE_ARC_SIN_HYP; >;
- < "ACOSH" ; SC_OPCODE_ARC_COS_HYP; >;
- < "ATANH" ; SC_OPCODE_ARC_TAN_HYP; >;
- < "ACOTH" ; SC_OPCODE_ARC_COT_HYP; >;
- < "CSC" ; SC_OPCODE_COSECANT; >;
- < "SEC" ; SC_OPCODE_SECANT; >;
- < "CSCH" ; SC_OPCODE_COSECANT_HYP; >;
- < "SECH" ; SC_OPCODE_SECANT_HYP; >;
- < "EXP" ; SC_OPCODE_EXP; >;
- < "LN" ; SC_OPCODE_LN; >;
- < "SQRT" ; SC_OPCODE_SQRT; >;
- < "FACT" ; SC_OPCODE_FACT; >;
- < "YEAR" ; SC_OPCODE_GET_YEAR; >;
- < "MONTH" ; SC_OPCODE_GET_MONTH; >;
- < "DAY" ; SC_OPCODE_GET_DAY; >;
- < "HOUR" ; SC_OPCODE_GET_HOUR; >;
- < "MINUTE" ; SC_OPCODE_GET_MIN; >;
- < "SECOND" ; SC_OPCODE_GET_SEC; >;
- < "SIGN" ; SC_OPCODE_PLUS_MINUS; >;
- < "ABS" ; SC_OPCODE_ABS; >;
- < "INT" ; SC_OPCODE_INT; >;
- < "PHI" ; SC_OPCODE_PHI; >;
- < "GAUSS" ; SC_OPCODE_GAUSS; >;
- < "ISBLANK" ; SC_OPCODE_IS_EMPTY; >;
- < "ISTEXT" ; SC_OPCODE_IS_STRING; >;
- < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING; >;
- < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL; >;
- < "TYPE" ; SC_OPCODE_TYPE; >;
- < "CELL" ; SC_OPCODE_CELL; >;
- < "ISREF" ; SC_OPCODE_IS_REF; >;
- < "ISNUMBER" ; SC_OPCODE_IS_VALUE; >;
- < "ISFORMULA" ; SC_OPCODE_IS_FORMULA; >;
- < "ISNA" ; SC_OPCODE_IS_NV; >;
- < "ISERR" ; SC_OPCODE_IS_ERR; >;
- < "ISERROR" ; SC_OPCODE_IS_ERROR; >;
- < "ISEVEN" ; SC_OPCODE_IS_EVEN; >;
- < "ISODD" ; SC_OPCODE_IS_ODD; >;
- < "N" ; SC_OPCODE_N; >;
- < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE; >;
- < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE; >;
- < "CODE" ; SC_OPCODE_CODE; >;
- < "TRIM" ; SC_OPCODE_TRIM; >;
- < "UPPER" ; SC_OPCODE_UPPER; >;
- < "PROPER" ; SC_OPCODE_PROPER; >;
- < "LOWER" ; SC_OPCODE_LOWER; >;
- < "LEN" ; SC_OPCODE_LEN; >;
- < "T" ; SC_OPCODE_T; >;
- < "VALUE" ; SC_OPCODE_VALUE; >;
- < "CLEAN" ; SC_OPCODE_CLEAN; >;
- < "CHAR" ; SC_OPCODE_CHAR; >;
- < "JIS" ; SC_OPCODE_JIS; >;
- < "ASC" ; SC_OPCODE_ASC; >;
- < "UNICODE" ; SC_OPCODE_UNICODE; >;
- < "UNICHAR" ; SC_OPCODE_UNICHAR; >;
- < "LOG10" ; SC_OPCODE_LOG10; >;
- < "EVEN" ; SC_OPCODE_EVEN; >;
- < "ODD" ; SC_OPCODE_ODD; >;
- < "NORMSDIST" ; SC_OPCODE_STD_NORM_DIST; >;
- < "NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS; >;
- < "FISHER" ; SC_OPCODE_FISHER; >;
- < "FISHERINV" ; SC_OPCODE_FISHER_INV; >;
- < "NORMSINV" ; SC_OPCODE_S_NORM_INV; >;
- < "NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS; >;
- < "GAMMALN" ; SC_OPCODE_GAMMA_LN; >;
- < "GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS; >;
- < "ERRORTYPE" ; SC_OPCODE_ERROR_TYPE; >;
- < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF; >;
- < "FORMULA" ; SC_OPCODE_FORMULA; >;
- < "ATAN2" ; SC_OPCODE_ARC_TAN_2; >;
- < "CEILING.MATH" ; SC_OPCODE_CEIL_MATH; >;
- < "CEILING" ; SC_OPCODE_CEIL; >;
- < "CEILING.XCL" ; SC_OPCODE_CEIL_MS; >;
- < "CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE; >;
- < "ISO.CEILING" ; SC_OPCODE_CEIL_ISO; >;
- < "FLOOR" ; SC_OPCODE_FLOOR; >;
- < "FLOOR.XCL" ; SC_OPCODE_FLOOR_MS; >;
- < "FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH; >;
- < "FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE; >;
- < "ROUND" ; SC_OPCODE_ROUND; >;
- < "ROUNDUP" ; SC_OPCODE_ROUND_UP; >;
- < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN; >;
- < "TRUNC" ; SC_OPCODE_TRUNC; >;
- < "LOG" ; SC_OPCODE_LOG; >;
- < "POWER" ; SC_OPCODE_POWER; >;
- < "GCD" ; SC_OPCODE_GCD; >;
- < "LCM" ; SC_OPCODE_LCM; >;
- < "MOD" ; SC_OPCODE_MOD; >;
- < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT; >;
- < "SUMSQ" ; SC_OPCODE_SUM_SQ; >;
- < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2; >;
- < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2; >;
- < "SUMXMY2" ; SC_OPCODE_SUM_XMY2; >;
- < "DATE" ; SC_OPCODE_GET_DATE; >;
- < "TIME" ; SC_OPCODE_GET_TIME; >;
- < "DAYS" ; SC_OPCODE_GET_DIFF_DATE; >;
- < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360; >;
- < "DATEDIF" ; SC_OPCODE_GET_DATEDIF; >;
- < "MIN" ; SC_OPCODE_MIN; >;
- < "MINA" ; SC_OPCODE_MIN_A; >;
- < "MAX" ; SC_OPCODE_MAX; >;
- < "MAXA" ; SC_OPCODE_MAX_A; >;
- < "SUM" ; SC_OPCODE_SUM; >;
- < "PRODUCT" ; SC_OPCODE_PRODUCT; >;
- < "AVERAGE" ; SC_OPCODE_AVERAGE; >;
- < "AVERAGEA" ; SC_OPCODE_AVERAGE_A; >;
- < "COUNT" ; SC_OPCODE_COUNT; >;
- < "COUNTA" ; SC_OPCODE_COUNT_2; >;
- < "NPV" ; SC_OPCODE_NPV; >;
- < "IRR" ; SC_OPCODE_IRR; >;
- < "MIRR" ; SC_OPCODE_MIRR; >;
- < "ISPMT" ; SC_OPCODE_ISPMT; >;
- < "VAR" ; SC_OPCODE_VAR; >;
- < "VARA" ; SC_OPCODE_VAR_A; >;
- < "VARP" ; SC_OPCODE_VAR_P; >;
- < "VARPA" ; SC_OPCODE_VAR_P_A; >;
- < "VAR.P" ; SC_OPCODE_VAR_P_MS; >;
- < "VAR.S" ; SC_OPCODE_VAR_S; >;
- < "STDEV" ; SC_OPCODE_ST_DEV; >;
- < "STDEVA" ; SC_OPCODE_ST_DEV_A; >;
- < "STDEVP" ; SC_OPCODE_ST_DEV_P; >;
- < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A; >;
- < "STDEV.P" ; SC_OPCODE_ST_DEV_P_MS; >;
- < "STDEV.S" ; SC_OPCODE_ST_DEV_S; >;
- < "B" ; SC_OPCODE_B; >;
- < "NORMDIST" ; SC_OPCODE_NORM_DIST; >;
- < "NORM.DIST" ; SC_OPCODE_NORM_DIST_MS; >;
- < "EXPONDIST" ; SC_OPCODE_EXP_DIST; >;
- < "EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS; >;
- < "BINOMDIST" ; SC_OPCODE_BINOM_DIST; >;
- < "BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS; >;
- < "POISSON" ; SC_OPCODE_POISSON_DIST; >;
- < "POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS; >;
- < "COMBIN" ; SC_OPCODE_COMBIN; >;
- < "COMBINA" ; SC_OPCODE_COMBIN_A; >;
- < "PERMUT" ; SC_OPCODE_PERMUT; >;
- < "PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A; >;
- < "PV" ; SC_OPCODE_PV; >;
- < "SYD" ; SC_OPCODE_SYD; >;
- < "DDB" ; SC_OPCODE_DDB; >;
- < "DB" ; SC_OPCODE_DB; >;
- < "VDB" ; SC_OPCODE_VBD; >;
- < "DURATION" ; SC_OPCODE_PDURATION; >; // wrong but ODF1.1, keep it.
- < "SLN" ; SC_OPCODE_SLN; >;
- < "PMT" ; SC_OPCODE_PMT; >;
- < "COLUMNS" ; SC_OPCODE_COLUMNS; >;
- < "ROWS" ; SC_OPCODE_ROWS; >;
- < "SHEETS" ; SC_OPCODE_SHEETS; >;
- < "COLUMN" ; SC_OPCODE_COLUMN; >;
- < "ROW" ; SC_OPCODE_ROW; >;
- < "SHEET" ; SC_OPCODE_SHEET; >;
- < "ZGZ" ; SC_OPCODE_RRI; >;
- < "FV" ; SC_OPCODE_FV; >;
- < "NPER" ; SC_OPCODE_NPER; >;
- < "RATE" ; SC_OPCODE_RATE; >;
- < "IPMT" ; SC_OPCODE_IPMT; >;
- < "PPMT" ; SC_OPCODE_PPMT; >;
- < "CUMIPMT" ; SC_OPCODE_CUM_IPMT; >;
- < "CUMPRINC" ; SC_OPCODE_CUM_PRINC; >;
- < "EFFECTIVE" ; SC_OPCODE_EFFECT; >;
- < "NOMINAL" ; SC_OPCODE_NOMINAL; >;
- < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL; >;
- < "DSUM" ; SC_OPCODE_DB_SUM; >;
- < "DCOUNT" ; SC_OPCODE_DB_COUNT; >;
- < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2; >;
- < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE; >;
- < "DGET" ; SC_OPCODE_DB_GET; >;
- < "DMAX" ; SC_OPCODE_DB_MAX; >;
- < "DMIN" ; SC_OPCODE_DB_MIN; >;
- < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT; >;
- < "DSTDEV" ; SC_OPCODE_DB_STD_DEV; >;
- < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P; >;
- < "DVAR" ; SC_OPCODE_DB_VAR; >;
- < "DVARP" ; SC_OPCODE_DB_VAR_P; >;
- < "INDIRECT" ; SC_OPCODE_INDIRECT; >;
- < "ADDRESS" ; SC_OPCODE_ADDRESS; >;
- < "MATCH" ; SC_OPCODE_MATCH; >;
- < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS; >;
- < "COUNTIF" ; SC_OPCODE_COUNT_IF; >;
- < "SUMIF" ; SC_OPCODE_SUM_IF; >;
- < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF; >;
- < "SUMIFS" ; SC_OPCODE_SUM_IFS; >;
- < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS; >;
- < "COUNTIFS" ; SC_OPCODE_COUNT_IFS; >;
- < "LOOKUP" ; SC_OPCODE_LOOKUP; >;
- < "VLOOKUP" ; SC_OPCODE_V_LOOKUP; >;
- < "HLOOKUP" ; SC_OPCODE_H_LOOKUP; >;
- < "MULTIRANGE" ; SC_OPCODE_MULTI_AREA; >; // legacy for range list (union)
- < "OFFSET" ; SC_OPCODE_OFFSET; >;
- < "INDEX" ; SC_OPCODE_INDEX; >;
- < "AREAS" ; SC_OPCODE_AREAS; >;
- < "DOLLAR" ; SC_OPCODE_CURRENCY; >;
- < "REPLACE" ; SC_OPCODE_REPLACE; >;
- < "FIXED" ; SC_OPCODE_FIXED; >;
- < "FIND" ; SC_OPCODE_FIND; >;
- < "EXACT" ; SC_OPCODE_EXACT; >;
- < "LEFT" ; SC_OPCODE_LEFT; >;
- < "RIGHT" ; SC_OPCODE_RIGHT; >;
- < "SEARCH" ; SC_OPCODE_SEARCH; >;
- < "MID" ; SC_OPCODE_MID; >;
- < "LENB" ; SC_OPCODE_LENB; >;
- < "RIGHTB" ; SC_OPCODE_RIGHTB; >;
- < "LEFTB" ; SC_OPCODE_LEFTB; >;
- < "REPLACEB" ; SC_OPCODE_REPLACEB; >;
- < "MIDB" ; SC_OPCODE_MIDB; >;
- < "TEXT" ; SC_OPCODE_TEXT; >;
- < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE; >;
- < "REPT" ; SC_OPCODE_REPT; >;
- < "CONCATENATE" ; SC_OPCODE_CONCAT; >;
- < "CONCAT" ; SC_OPCODE_CONCAT_MS; >;
- < "TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS; >;
- < "IFS" ; SC_OPCODE_IFS_MS; >;
- < "SWITCH" ; SC_OPCODE_SWITCH_MS; >;
- < "MINIFS" ; SC_OPCODE_MINIFS_MS; >;
- < "MAXIFS" ; SC_OPCODE_MAXIFS_MS; >;
- < "MVALUE" ; SC_OPCODE_MAT_VALUE; >;
- < "MDETERM" ; SC_OPCODE_MAT_DET; >;
- < "MINVERSE" ; SC_OPCODE_MAT_INV; >;
- < "MMULT" ; SC_OPCODE_MAT_MULT; >;
- < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS; >;
- < "MUNIT" ; SC_OPCODE_MATRIX_UNIT; >;
- < "GOALSEEK" ; SC_OPCODE_BACK_SOLVER; >;
- < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST; >;
- < "HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS; >;
- < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST; >;
- < "LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS; >;
- < "TDIST" ; SC_OPCODE_T_DIST; >;
- < "T.DIST.2T" ; SC_OPCODE_T_DIST_2T; >;
- < "T.DIST" ; SC_OPCODE_T_DIST_MS; >;
- < "T.DIST.RT" ; SC_OPCODE_T_DIST_RT; >;
- < "FDIST" ; SC_OPCODE_F_DIST; >;
- < "F.DIST" ; SC_OPCODE_F_DIST_LT; >;
- < "F.DIST.RT" ; SC_OPCODE_F_DIST_RT; >;
- < "CHIDIST" ; SC_OPCODE_CHI_DIST; >;
- < "CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS; >;
- < "WEIBULL" ; SC_OPCODE_WEIBULL; >;
- < "WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS; >;
- < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT; >;
- < "NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS; >;
- < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM; >;
- < "BINOM.INV" ; SC_OPCODE_BINOM_INV; >;
- < "KURT" ; SC_OPCODE_KURT; >;
- < "HARMEAN" ; SC_OPCODE_HAR_MEAN; >;
- < "GEOMEAN" ; SC_OPCODE_GEO_MEAN; >;
- < "STANDARDIZE" ; SC_OPCODE_STANDARD; >;
- < "AVEDEV" ; SC_OPCODE_AVE_DEV; >;
- < "SKEW" ; SC_OPCODE_SKEW; >;
- < "SKEWP" ; SC_OPCODE_SKEWP; >;
- < "DEVSQ" ; SC_OPCODE_DEV_SQ; >;
- < "MEDIAN" ; SC_OPCODE_MEDIAN; >;
- < "MODE" ; SC_OPCODE_MODAL_VALUE; >;
- < "MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS; >;
- < "MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI; >;
- < "ZTEST" ; SC_OPCODE_Z_TEST; >;
- < "Z.TEST" ; SC_OPCODE_Z_TEST_MS; >;
- < "AGGREGATE" ; SC_OPCODE_AGGREGATE; >;
- < "TTEST" ; SC_OPCODE_T_TEST; >;
- < "T.TEST" ; SC_OPCODE_T_TEST_MS; >;
- < "RANK" ; SC_OPCODE_RANK; >;
- < "PERCENTILE" ; SC_OPCODE_PERCENTILE; >;
- < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK; >;
- < "PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC; >;
- < "PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC; >;
- < "QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC; >;
- < "RANK.EQ" ; SC_OPCODE_RANK_EQ; >;
- < "PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC; >;
- < "PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC; >;
- < "QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC; >;
- < "RANK.AVG" ; SC_OPCODE_RANK_AVG; >;
- < "LARGE" ; SC_OPCODE_LARGE; >;
- < "SMALL" ; SC_OPCODE_SMALL; >;
- < "FREQUENCY" ; SC_OPCODE_FREQUENCY; >;
- < "QUARTILE" ; SC_OPCODE_QUARTILE; >;
- < "NORMINV" ; SC_OPCODE_NORM_INV; >;
- < "NORM.INV" ; SC_OPCODE_NORM_INV_MS; >;
- < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE; >;
- < "CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N; >;
- < "CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T; >;
- < "FTEST" ; SC_OPCODE_F_TEST; >;
- < "F.TEST" ; SC_OPCODE_F_TEST_MS; >;
- < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN; >;
- < "PROB" ; SC_OPCODE_PROB; >;
- < "CORREL" ; SC_OPCODE_CORREL; >;
- < "COVAR" ; SC_OPCODE_COVAR; >;
- < "COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P; >;
- < "COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S; >;
- < "PEARSON" ; SC_OPCODE_PEARSON; >;
- < "RSQ" ; SC_OPCODE_RSQ; >;
- < "STEYX" ; SC_OPCODE_STEYX; >;
- < "SLOPE" ; SC_OPCODE_SLOPE; >;
- < "INTERCEPT" ; SC_OPCODE_INTERCEPT; >;
- < "TREND" ; SC_OPCODE_TREND; >;
- < "GROWTH" ; SC_OPCODE_GROWTH; >;
- < "LINEST" ; SC_OPCODE_LINEST; >;
- < "LOGEST" ; SC_OPCODE_LOGEST; >;
- < "FORECAST" ; SC_OPCODE_FORECAST; >;
- < "FORECAST.ETS.ADD" ; SC_OPCODE_FORECAST_ETS_ADD; >;
- < "FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA; >;
- < "FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL; >;
- < "FORECAST.ETS.PI.ADD" ; SC_OPCODE_FORECAST_ETS_PIA; >;
- < "FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM; >;
- < "FORECAST.ETS.STAT.ADD" ; SC_OPCODE_FORECAST_ETS_STA; >;
- < "FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM; >;
- < "FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN; >;
- < "CHIINV" ; SC_OPCODE_CHI_INV; >;
- < "CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS; >;
- < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST; >;
- < "GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS; >;
- < "GAMMAINV" ; SC_OPCODE_GAMMA_INV; >;
- < "GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS; >;
- < "TINV" ; SC_OPCODE_T_INV; >;
- < "T.INV.2T" ; SC_OPCODE_T_INV_2T; >;
- < "T.INV" ; SC_OPCODE_T_INV_MS; >;
- < "FINV" ; SC_OPCODE_F_INV; >;
- < "F.INV" ; SC_OPCODE_F_INV_LT; >;
- < "F.INV.RT" ; SC_OPCODE_F_INV_RT; >;
- < "CHITEST" ; SC_OPCODE_CHI_TEST; >;
- < "CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS; >;
- < "LOGINV" ; SC_OPCODE_LOG_INV; >;
- < "LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS; >;
- < "TABLE" ; SC_OPCODE_TABLE_OP; >;
- < "BETADIST" ; SC_OPCODE_BETA_DIST; >;
- < "BETAINV" ; SC_OPCODE_BETA_INV; >;
- < "BETA.DIST" ; SC_OPCODE_BETA_DIST_MS; >;
- < "BETA.INV" ; SC_OPCODE_BETA_INV_MS; >;
- < "WEEKNUM" ; SC_OPCODE_WEEK; >;
- < "ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM; >;
- < "WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO; >;
- < "EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY; >;
- < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK; >;
- < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS; >;
- < "NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS; >;
- < "WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS; >;
- < "#NAME!" ; SC_OPCODE_NO_NAME; >;
- < "STYLE" ; SC_OPCODE_STYLE; >;
- < "DDE" ; SC_OPCODE_DDE; >;
- < "BASE" ; SC_OPCODE_BASE; >;
- < "DECIMAL" ; SC_OPCODE_DECIMAL; >;
- < "CONVERT" ; SC_OPCODE_CONVERT_OOO; >; // wrong but ODF1.1, keep it
- < "ROMAN" ; SC_OPCODE_ROMAN; >;
- < "ARABIC" ; SC_OPCODE_ARABIC; >;
- < "HYPERLINK" ; SC_OPCODE_HYPERLINK; >;
- < "INFO" ; SC_OPCODE_INFO; >;
- < "BAHTTEXT" ; SC_OPCODE_BAHTTEXT; >;
- < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA; >;
- < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT; >;
- < "NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE; >;
- < "GAMMA" ; SC_OPCODE_GAMMA; >;
- < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST; >;
- < "CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS; >;
- < "CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS; >;
- < "CHISQINV" ; SC_OPCODE_CHISQ_INV; >;
- < "BITAND" ; SC_OPCODE_BITAND; >;
- < "BITOR" ; SC_OPCODE_BITOR; >;
- < "BITXOR" ; SC_OPCODE_BITXOR; >;
- < "BITRSHIFT" ; SC_OPCODE_BITRSHIFT; >;
- < "BITLSHIFT" ; SC_OPCODE_BITLSHIFT; >;
- /* BEGIN defined ERROR.TYPE() values. */
- < "#NULL!" ; SC_OPCODE_ERROR_NULL; >;
- < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO; >;
- < "#VALUE!" ; SC_OPCODE_ERROR_VALUE; >;
- < "#REF!" ; SC_OPCODE_ERROR_REF; >;
- < "#NAME?" ; SC_OPCODE_ERROR_NAME; >;
- < "#NUM!" ; SC_OPCODE_ERROR_NUM; >;
- < "#N/A" ; SC_OPCODE_ERROR_NA; >;
- /* END defined ERROR.TYPE() values. */
- < "FILTERXML" ; SC_OPCODE_FILTERXML; >;
- < "WEBSERVICE" ; SC_OPCODE_WEBSERVICE; >;
- < "COLOR" ; SC_OPCODE_COLOR; >;
- < "ERF.PRECISE" ; SC_OPCODE_ERF_MS; >;
- < "ERFC.PRECISE" ; SC_OPCODE_ERFC_MS; >;
- < "ENCODEURL" ; SC_OPCODE_ENCODEURL; >;
- < "RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT; >;
- < "ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >;
- };
-};
-
-/** These English names are used for XFunctionAccess API. */
-// DO NOT CHANGE NAMES! Only add functions.
-// If there is a reason for another name for some function then add an
-// *additional* name to be recognized to sc/source/core/tool/compiler.cxx
-// ScCompiler::IsOpCode().
-StringArray RID_STRLIST_FUNCTION_NAMES_ENGLISH_API
-{
- ItemList =
- {
- < "IF" ; SC_OPCODE_IF; >;
- < "IFERROR" ; SC_OPCODE_IF_ERROR; >;
- < "IFNA" ; SC_OPCODE_IF_NA; >;
- < "CHOOSE" ; SC_OPCODE_CHOOSE; >;
- < "(" ; SC_OPCODE_OPEN; >;
- < ")" ; SC_OPCODE_CLOSE; >;
- < "[" ; SC_OPCODE_TABLE_REF_OPEN; >;
- < "]" ; SC_OPCODE_TABLE_REF_CLOSE; >;
- < "#All" ; SC_OPCODE_TABLE_REF_ITEM_ALL; >;
- < "#Headers" ; SC_OPCODE_TABLE_REF_ITEM_HEADERS; >;
- < "#Data" ; SC_OPCODE_TABLE_REF_ITEM_DATA; >;
- < "#Totals" ; SC_OPCODE_TABLE_REF_ITEM_TOTALS; >;
- < "#This Row" ; SC_OPCODE_TABLE_REF_ITEM_THIS_ROW; >;
- < "{" ; SC_OPCODE_ARRAY_OPEN; >;
- < "}" ; SC_OPCODE_ARRAY_CLOSE; >;
- < "|" ; SC_OPCODE_ARRAY_ROW_SEP; >;
- < ";" ; SC_OPCODE_ARRAY_COL_SEP; >;
- < ";" ; SC_OPCODE_SEP; >;
- < "%" ; SC_OPCODE_PERCENT_SIGN; >;
- < "+" ; SC_OPCODE_ADD; >;
- < "-" ; SC_OPCODE_SUB; >;
- < "*" ; SC_OPCODE_MUL; >;
- < "/" ; SC_OPCODE_DIV; >;
- < "&" ; SC_OPCODE_AMPERSAND; >;
- < "^" ; SC_OPCODE_POW; >;
- < "=" ; SC_OPCODE_EQUAL; >;
- < "<>" ; SC_OPCODE_NOT_EQUAL; >;
- < "<" ; SC_OPCODE_LESS; >;
- < ">" ; SC_OPCODE_GREATER; >;
- < "<=" ; SC_OPCODE_LESS_EQUAL; >;
- < ">=" ; SC_OPCODE_GREATER_EQUAL; >;
- < "AND" ; SC_OPCODE_AND; >;
- < "OR" ; SC_OPCODE_OR; >;
- < "XOR" ; SC_OPCODE_XOR; >;
- < "!" ; SC_OPCODE_INTERSECT; >;
- < "~" ; SC_OPCODE_UNION; >;
- < ":" ; SC_OPCODE_RANGE; >;
- < "NOT" ; SC_OPCODE_NOT; >;
- < "NEG" ; SC_OPCODE_NEG; >;
- < "-" ; SC_OPCODE_NEG_SUB; >;
- < "PI" ; SC_OPCODE_PI; >;
- < "RAND" ; SC_OPCODE_RANDOM; >;
- < "TRUE" ; SC_OPCODE_TRUE; >;
- < "FALSE" ; SC_OPCODE_FALSE; >;
- < "TODAY" ; SC_OPCODE_GET_ACT_DATE; >;
- < "NOW" ; SC_OPCODE_GET_ACT_TIME; >;
- < "NA" ; SC_OPCODE_NO_VALUE; >;
- < "CURRENT" ; SC_OPCODE_CURRENT; >;
- < "DEGREES" ; SC_OPCODE_DEG; >;
- < "RADIANS" ; SC_OPCODE_RAD; >;
- < "SIN" ; SC_OPCODE_SIN; >;
- < "COS" ; SC_OPCODE_COS; >;
- < "TAN" ; SC_OPCODE_TAN; >;
- < "COT" ; SC_OPCODE_COT; >;
- < "ASIN" ; SC_OPCODE_ARC_SIN; >;
- < "ACOS" ; SC_OPCODE_ARC_COS; >;
- < "ATAN" ; SC_OPCODE_ARC_TAN; >;
- < "ACOT" ; SC_OPCODE_ARC_COT; >;
- < "SINH" ; SC_OPCODE_SIN_HYP; >;
- < "COSH" ; SC_OPCODE_COS_HYP; >;
- < "TANH" ; SC_OPCODE_TAN_HYP; >;
- < "COTH" ; SC_OPCODE_COT_HYP; >;
- < "ASINH" ; SC_OPCODE_ARC_SIN_HYP; >;
- < "ACOSH" ; SC_OPCODE_ARC_COS_HYP; >;
- < "ATANH" ; SC_OPCODE_ARC_TAN_HYP; >;
- < "ACOTH" ; SC_OPCODE_ARC_COT_HYP; >;
- < "CSC" ; SC_OPCODE_COSECANT; >;
- < "SEC" ; SC_OPCODE_SECANT; >;
- < "CSCH" ; SC_OPCODE_COSECANT_HYP; >;
- < "SECH" ; SC_OPCODE_SECANT_HYP; >;
- < "EXP" ; SC_OPCODE_EXP; >;
- < "LN" ; SC_OPCODE_LN; >;
- < "SQRT" ; SC_OPCODE_SQRT; >;
- < "FACT" ; SC_OPCODE_FACT; >;
- < "YEAR" ; SC_OPCODE_GET_YEAR; >;
- < "MONTH" ; SC_OPCODE_GET_MONTH; >;
- < "DAY" ; SC_OPCODE_GET_DAY; >;
- < "HOUR" ; SC_OPCODE_GET_HOUR; >;
- < "MINUTE" ; SC_OPCODE_GET_MIN; >;
- < "SECOND" ; SC_OPCODE_GET_SEC; >;
- < "SIGN" ; SC_OPCODE_PLUS_MINUS; >;
- < "ABS" ; SC_OPCODE_ABS; >;
- < "INT" ; SC_OPCODE_INT; >;
- < "PHI" ; SC_OPCODE_PHI; >;
- < "GAUSS" ; SC_OPCODE_GAUSS; >;
- < "ISBLANK" ; SC_OPCODE_IS_EMPTY; >;
- < "ISTEXT" ; SC_OPCODE_IS_STRING; >;
- < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING; >;
- < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL; >;
- < "TYPE" ; SC_OPCODE_TYPE; >;
- < "CELL" ; SC_OPCODE_CELL; >;
- < "ISREF" ; SC_OPCODE_IS_REF; >;
- < "ISNUMBER" ; SC_OPCODE_IS_VALUE; >;
- < "ISFORMULA" ; SC_OPCODE_IS_FORMULA; >;
- < "ISNA" ; SC_OPCODE_IS_NV; >;
- < "ISERR" ; SC_OPCODE_IS_ERR; >;
- < "ISERROR" ; SC_OPCODE_IS_ERROR; >;
- < "ISEVEN" ; SC_OPCODE_IS_EVEN; >;
- < "ISODD" ; SC_OPCODE_IS_ODD; >;
- < "N" ; SC_OPCODE_N; >;
- < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE; >;
- < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE; >;
- < "CODE" ; SC_OPCODE_CODE; >;
- < "TRIM" ; SC_OPCODE_TRIM; >;
- < "UPPER" ; SC_OPCODE_UPPER; >;
- < "PROPER" ; SC_OPCODE_PROPER; >;
- < "LOWER" ; SC_OPCODE_LOWER; >;
- < "LEN" ; SC_OPCODE_LEN; >;
- < "T" ; SC_OPCODE_T; >;
- < "VALUE" ; SC_OPCODE_VALUE; >;
- < "CLEAN" ; SC_OPCODE_CLEAN; >;
- < "CHAR" ; SC_OPCODE_CHAR; >;
- < "JIS" ; SC_OPCODE_JIS; >;
- < "ASC" ; SC_OPCODE_ASC; >;
- < "UNICODE" ; SC_OPCODE_UNICODE; >;
- < "UNICHAR" ; SC_OPCODE_UNICHAR; >;
- < "LOG10" ; SC_OPCODE_LOG10; >;
- < "EVEN" ; SC_OPCODE_EVEN; >;
- < "ODD" ; SC_OPCODE_ODD; >;
- < "NORMSDIST" ; SC_OPCODE_STD_NORM_DIST; >;
- < "NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS; >;
- < "FISHER" ; SC_OPCODE_FISHER; >;
- < "FISHERINV" ; SC_OPCODE_FISHER_INV; >;
- < "NORMSINV" ; SC_OPCODE_S_NORM_INV; >;
- < "NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS; >;
- < "GAMMALN" ; SC_OPCODE_GAMMA_LN; >;
- < "GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS; >;
- < "ERRORTYPE" ; SC_OPCODE_ERROR_TYPE; >;
- < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF; >;
- < "FORMULA" ; SC_OPCODE_FORMULA; >;
- < "ATAN2" ; SC_OPCODE_ARC_TAN_2; >;
- < "CEILING.MATH" ; SC_OPCODE_CEIL_MATH; >;
- < "CEILING" ; SC_OPCODE_CEIL; >;
- < "CEILING.XCL" ; SC_OPCODE_CEIL_MS; >;
- < "CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE; >;
- < "ISO.CEILING" ; SC_OPCODE_CEIL_ISO; >;
- < "FLOOR" ; SC_OPCODE_FLOOR; >;
- < "FLOOR.XCL" ; SC_OPCODE_FLOOR_MS; >;
- < "FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH; >;
- < "FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE; >;
- < "ROUND" ; SC_OPCODE_ROUND; >;
- < "ROUNDUP" ; SC_OPCODE_ROUND_UP; >;
- < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN; >;
- < "TRUNC" ; SC_OPCODE_TRUNC; >;
- < "LOG" ; SC_OPCODE_LOG; >;
- < "POWER" ; SC_OPCODE_POWER; >;
- < "GCD" ; SC_OPCODE_GCD; >;
- < "LCM" ; SC_OPCODE_LCM; >;
- < "MOD" ; SC_OPCODE_MOD; >;
- < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT; >;
- < "SUMSQ" ; SC_OPCODE_SUM_SQ; >;
- < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2; >;
- < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2; >;
- < "SUMXMY2" ; SC_OPCODE_SUM_XMY2; >;
- < "DATE" ; SC_OPCODE_GET_DATE; >;
- < "TIME" ; SC_OPCODE_GET_TIME; >;
- < "DAYS" ; SC_OPCODE_GET_DIFF_DATE; >;
- < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360; >;
- < "DATEDIF" ; SC_OPCODE_GET_DATEDIF; >;
- < "MIN" ; SC_OPCODE_MIN; >;
- < "MINA" ; SC_OPCODE_MIN_A; >;
- < "MAX" ; SC_OPCODE_MAX; >;
- < "MAXA" ; SC_OPCODE_MAX_A; >;
- < "SUM" ; SC_OPCODE_SUM; >;
- < "PRODUCT" ; SC_OPCODE_PRODUCT; >;
- < "AVERAGE" ; SC_OPCODE_AVERAGE; >;
- < "AVERAGEA" ; SC_OPCODE_AVERAGE_A; >;
- < "COUNT" ; SC_OPCODE_COUNT; >;
- < "COUNTA" ; SC_OPCODE_COUNT_2; >;
- < "NPV" ; SC_OPCODE_NPV; >;
- < "IRR" ; SC_OPCODE_IRR; >;
- < "MIRR" ; SC_OPCODE_MIRR; >;
- < "ISPMT" ; SC_OPCODE_ISPMT; >;
- < "VAR" ; SC_OPCODE_VAR; >;
- < "VARA" ; SC_OPCODE_VAR_A; >;
- < "VARP" ; SC_OPCODE_VAR_P; >;
- < "VARPA" ; SC_OPCODE_VAR_P_A; >;
- < "VAR.P" ; SC_OPCODE_VAR_P_MS; >;
- < "VAR.S" ; SC_OPCODE_VAR_S; >;
- < "STDEV" ; SC_OPCODE_ST_DEV; >;
- < "STDEVA" ; SC_OPCODE_ST_DEV_A; >;
- < "STDEVP" ; SC_OPCODE_ST_DEV_P; >;
- < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A; >;
- < "STDEV.P" ; SC_OPCODE_ST_DEV_P_MS; >;
- < "STDEV.S" ; SC_OPCODE_ST_DEV_S; >;
- < "B" ; SC_OPCODE_B; >;
- < "NORMDIST" ; SC_OPCODE_NORM_DIST; >;
- < "NORM.DIST" ; SC_OPCODE_NORM_DIST_MS; >;
- < "EXPONDIST" ; SC_OPCODE_EXP_DIST; >;
- < "EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS; >;
- < "BINOMDIST" ; SC_OPCODE_BINOM_DIST; >;
- < "BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS; >;
- < "POISSON" ; SC_OPCODE_POISSON_DIST; >;
- < "POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS; >;
- < "COMBIN" ; SC_OPCODE_COMBIN; >;
- < "COMBINA" ; SC_OPCODE_COMBIN_A; >;
- < "PERMUT" ; SC_OPCODE_PERMUT; >;
- < "PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A; >;
- < "PV" ; SC_OPCODE_PV; >;
- < "SYD" ; SC_OPCODE_SYD; >;
- < "DDB" ; SC_OPCODE_DDB; >;
- < "DB" ; SC_OPCODE_DB; >;
- < "VDB" ; SC_OPCODE_VBD; >;
- < "DURATION" ; SC_OPCODE_PDURATION; >;
- < "SLN" ; SC_OPCODE_SLN; >;
- < "PMT" ; SC_OPCODE_PMT; >;
- < "COLUMNS" ; SC_OPCODE_COLUMNS; >;
- < "ROWS" ; SC_OPCODE_ROWS; >;
- < "SHEETS" ; SC_OPCODE_SHEETS; >;
- < "COLUMN" ; SC_OPCODE_COLUMN; >;
- < "ROW" ; SC_OPCODE_ROW; >;
- < "SHEET" ; SC_OPCODE_SHEET; >;
- < "ZGZ" ; SC_OPCODE_RRI; >;
- < "FV" ; SC_OPCODE_FV; >;
- < "NPER" ; SC_OPCODE_NPER; >;
- < "RATE" ; SC_OPCODE_RATE; >;
- < "IPMT" ; SC_OPCODE_IPMT; >;
- < "PPMT" ; SC_OPCODE_PPMT; >;
- < "CUMIPMT" ; SC_OPCODE_CUM_IPMT; >;
- < "CUMPRINC" ; SC_OPCODE_CUM_PRINC; >;
- < "EFFECTIVE" ; SC_OPCODE_EFFECT; >;
- < "NOMINAL" ; SC_OPCODE_NOMINAL; >;
- < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL; >;
- < "DSUM" ; SC_OPCODE_DB_SUM; >;
- < "DCOUNT" ; SC_OPCODE_DB_COUNT; >;
- < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2; >;
- < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE; >;
- < "DGET" ; SC_OPCODE_DB_GET; >;
- < "DMAX" ; SC_OPCODE_DB_MAX; >;
- < "DMIN" ; SC_OPCODE_DB_MIN; >;
- < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT; >;
- < "DSTDEV" ; SC_OPCODE_DB_STD_DEV; >;
- < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P; >;
- < "DVAR" ; SC_OPCODE_DB_VAR; >;
- < "DVARP" ; SC_OPCODE_DB_VAR_P; >;
- < "INDIRECT" ; SC_OPCODE_INDIRECT; >;
- < "ADDRESS" ; SC_OPCODE_ADDRESS; >;
- < "MATCH" ; SC_OPCODE_MATCH; >;
- < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS; >;
- < "COUNTIF" ; SC_OPCODE_COUNT_IF; >;
- < "SUMIF" ; SC_OPCODE_SUM_IF; >;
- < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF; >;
- < "SUMIFS" ; SC_OPCODE_SUM_IFS; >;
- < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS; >;
- < "COUNTIFS" ; SC_OPCODE_COUNT_IFS; >;
- < "LOOKUP" ; SC_OPCODE_LOOKUP; >;
- < "VLOOKUP" ; SC_OPCODE_V_LOOKUP; >;
- < "HLOOKUP" ; SC_OPCODE_H_LOOKUP; >;
- < "MULTIRANGE" ; SC_OPCODE_MULTI_AREA; >; // legacy for range list (union)
- < "OFFSET" ; SC_OPCODE_OFFSET; >;
- < "INDEX" ; SC_OPCODE_INDEX; >; // ?? first character = I ??
- < "AREAS" ; SC_OPCODE_AREAS; >;
- < "DOLLAR" ; SC_OPCODE_CURRENCY; >;
- < "REPLACE" ; SC_OPCODE_REPLACE; >;
- < "FIXED" ; SC_OPCODE_FIXED; >;
- < "FIND" ; SC_OPCODE_FIND; >;
- < "EXACT" ; SC_OPCODE_EXACT; >;
- < "LEFT" ; SC_OPCODE_LEFT; >;
- < "RIGHT" ; SC_OPCODE_RIGHT; >;
- < "SEARCH" ; SC_OPCODE_SEARCH; >;
- < "MID" ; SC_OPCODE_MID; >;
- < "LENB" ; SC_OPCODE_LENB; >;
- < "RIGHTB" ; SC_OPCODE_RIGHTB; >;
- < "LEFTB" ; SC_OPCODE_LEFTB; >;
- < "REPLACEB" ; SC_OPCODE_REPLACEB; >;
- < "MIDB" ; SC_OPCODE_MIDB; >;
- < "TEXT" ; SC_OPCODE_TEXT; >;
- < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE; >;
- < "REPT" ; SC_OPCODE_REPT; >;
- < "CONCATENATE" ; SC_OPCODE_CONCAT; >;
- < "CONCAT" ; SC_OPCODE_CONCAT_MS; >;
- < "TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS; >;
- < "IFS" ; SC_OPCODE_IFS_MS; >;
- < "SWITCH" ; SC_OPCODE_SWITCH_MS; >;
- < "MINIFS" ; SC_OPCODE_MINIFS_MS; >;
- < "MAXIFS" ; SC_OPCODE_MAXIFS_MS; >;
- < "MVALUE" ; SC_OPCODE_MAT_VALUE; >;
- < "MDETERM" ; SC_OPCODE_MAT_DET; >;
- < "MINVERSE" ; SC_OPCODE_MAT_INV; >;
- < "MMULT" ; SC_OPCODE_MAT_MULT; >;
- < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS; >;
- < "MUNIT" ; SC_OPCODE_MATRIX_UNIT; >;
- < "GOALSEEK" ; SC_OPCODE_BACK_SOLVER; >;
- < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST; >;
- < "HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS; >;
- < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST; >;
- < "LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS; >;
- < "TDIST" ; SC_OPCODE_T_DIST; >;
- < "T.DIST.2T" ; SC_OPCODE_T_DIST_2T; >;
- < "T.DIST" ; SC_OPCODE_T_DIST_MS; >;
- < "T.DIST.RT" ; SC_OPCODE_T_DIST_RT; >;
- < "FDIST" ; SC_OPCODE_F_DIST; >;
- < "F.DIST" ; SC_OPCODE_F_DIST_LT; >;
- < "F.DIST.RT" ; SC_OPCODE_F_DIST_RT; >;
- < "CHIDIST" ; SC_OPCODE_CHI_DIST; >;
- < "CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS; >;
- < "WEIBULL" ; SC_OPCODE_WEIBULL; >;
- < "WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS; >;
- < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT; >;
- < "NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS; >;
- < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM; >;
- < "BINOM.INV" ; SC_OPCODE_BINOM_INV; >;
- < "KURT" ; SC_OPCODE_KURT; >;
- < "HARMEAN" ; SC_OPCODE_HAR_MEAN; >;
- < "GEOMEAN" ; SC_OPCODE_GEO_MEAN; >;
- < "STANDARDIZE" ; SC_OPCODE_STANDARD; >;
- < "AVEDEV" ; SC_OPCODE_AVE_DEV; >;
- < "SKEW" ; SC_OPCODE_SKEW; >;
- < "SKEWP" ; SC_OPCODE_SKEWP; >;
- < "DEVSQ" ; SC_OPCODE_DEV_SQ; >;
- < "MEDIAN" ; SC_OPCODE_MEDIAN; >;
- < "MODE" ; SC_OPCODE_MODAL_VALUE; >;
- < "MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS; >;
- < "MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI; >;
- < "ZTEST" ; SC_OPCODE_Z_TEST; >;
- < "Z.TEST" ; SC_OPCODE_Z_TEST_MS; >;
- < "AGGREGATE" ; SC_OPCODE_AGGREGATE; >;
- < "TTEST" ; SC_OPCODE_T_TEST; >;
- < "T.TEST" ; SC_OPCODE_T_TEST_MS; >;
- < "RANK" ; SC_OPCODE_RANK; >;
- < "PERCENTILE" ; SC_OPCODE_PERCENTILE; >;
- < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK; >;
- < "PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC; >;
- < "PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC; >;
- < "QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC; >;
- < "RANK.EQ" ; SC_OPCODE_RANK_EQ; >;
- < "PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC; >;
- < "PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC; >;
- < "QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC; >;
- < "RANK.AVG" ; SC_OPCODE_RANK_AVG; >;
- < "LARGE" ; SC_OPCODE_LARGE; >;
- < "SMALL" ; SC_OPCODE_SMALL; >;
- < "FREQUENCY" ; SC_OPCODE_FREQUENCY; >;
- < "QUARTILE" ; SC_OPCODE_QUARTILE; >;
- < "NORMINV" ; SC_OPCODE_NORM_INV; >;
- < "NORM.INV" ; SC_OPCODE_NORM_INV_MS; >;
- < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE; >;
- < "CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N; >;
- < "CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T; >;
- < "FTEST" ; SC_OPCODE_F_TEST; >;
- < "F.TEST" ; SC_OPCODE_F_TEST_MS; >;
- < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN; >;
- < "PROB" ; SC_OPCODE_PROB; >;
- < "CORREL" ; SC_OPCODE_CORREL; >;
- < "COVAR" ; SC_OPCODE_COVAR; >;
- < "COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P; >;
- < "COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S; >;
- < "PEARSON" ; SC_OPCODE_PEARSON; >;
- < "RSQ" ; SC_OPCODE_RSQ; >;
- < "STEYX" ; SC_OPCODE_STEYX; >;
- < "SLOPE" ; SC_OPCODE_SLOPE; >;
- < "INTERCEPT" ; SC_OPCODE_INTERCEPT; >;
- < "TREND" ; SC_OPCODE_TREND; >;
- < "GROWTH" ; SC_OPCODE_GROWTH; >;
- < "LINEST" ; SC_OPCODE_LINEST; >;
- < "LOGEST" ; SC_OPCODE_LOGEST; >;
- < "FORECAST" ; SC_OPCODE_FORECAST; >;
- < "FORECAST.ETS.ADD" ; SC_OPCODE_FORECAST_ETS_ADD; >;
- < "FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA; >;
- < "FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL; >;
- < "FORECAST.ETS.PI.ADD" ; SC_OPCODE_FORECAST_ETS_PIA; >;
- < "FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM; >;
- < "FORECAST.ETS.STAT.ADD" ; SC_OPCODE_FORECAST_ETS_STA; >;
- < "FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM; >;
- < "FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN; >;
- < "CHIINV" ; SC_OPCODE_CHI_INV; >;
- < "CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS; >;
- < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST; >;
- < "GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS; >;
- < "GAMMAINV" ; SC_OPCODE_GAMMA_INV; >;
- < "GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS; >;
- < "TINV" ; SC_OPCODE_T_INV; >;
- < "T.INV.2T" ; SC_OPCODE_T_INV_2T; >;
- < "T.INV" ; SC_OPCODE_T_INV_MS; >;
- < "FINV" ; SC_OPCODE_F_INV; >;
- < "F.INV" ; SC_OPCODE_F_INV_LT; >;
- < "F.INV.RT" ; SC_OPCODE_F_INV_RT; >;
- < "CHITEST" ; SC_OPCODE_CHI_TEST; >;
- < "CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS; >;
- < "LOGINV" ; SC_OPCODE_LOG_INV; >;
- < "LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS; >;
- < "TABLE" ; SC_OPCODE_TABLE_OP; >;
- < "BETADIST" ; SC_OPCODE_BETA_DIST; >;
- < "BETAINV" ; SC_OPCODE_BETA_INV; >;
- < "BETA.DIST" ; SC_OPCODE_BETA_DIST_MS; >;
- < "BETA.INV" ; SC_OPCODE_BETA_INV_MS; >;
- < "WEEKNUM" ; SC_OPCODE_WEEK; >;
- < "ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM; >;
- < "WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO; >;
- < "EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY; >;
- < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK; >;
- < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS; >;
- < "NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS; >;
- < "WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS; >;
- < "#NAME!" ; SC_OPCODE_NO_NAME; >;
- < "STYLE" ; SC_OPCODE_STYLE; >;
- < "DDE" ; SC_OPCODE_DDE; >;
- < "BASE" ; SC_OPCODE_BASE; >;
- < "DECIMAL" ; SC_OPCODE_DECIMAL; >;
- < "CONVERT" ; SC_OPCODE_CONVERT_OOO; >;
- < "ROMAN" ; SC_OPCODE_ROMAN; >;
- < "ARABIC" ; SC_OPCODE_ARABIC; >;
- < "HYPERLINK" ; SC_OPCODE_HYPERLINK; >;
- < "INFO" ; SC_OPCODE_INFO; >;
- < "BAHTTEXT" ; SC_OPCODE_BAHTTEXT; >;
- < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA; >;
- < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT; >;
- < "NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE; >;
- < "GAMMA" ; SC_OPCODE_GAMMA; >;
- < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST; >;
- < "CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS; >;
- < "CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS; >;
- < "CHISQINV" ; SC_OPCODE_CHISQ_INV; >;
- < "BITAND" ; SC_OPCODE_BITAND; >;
- < "BITOR" ; SC_OPCODE_BITOR; >;
- < "BITXOR" ; SC_OPCODE_BITXOR; >;
- < "BITRSHIFT" ; SC_OPCODE_BITRSHIFT; >;
- < "BITLSHIFT" ; SC_OPCODE_BITLSHIFT; >;
- < "#NULL!" ; SC_OPCODE_ERROR_NULL; >;
- < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO; >;
- < "#VALUE!" ; SC_OPCODE_ERROR_VALUE; >;
- < "#REF!" ; SC_OPCODE_ERROR_REF; >;
- < "#NAME?" ; SC_OPCODE_ERROR_NAME; >;
- < "#NUM!" ; SC_OPCODE_ERROR_NUM; >;
- < "#N/A" ; SC_OPCODE_ERROR_NA; >;
- /* END defined ERROR.TYPE() values. */
- < "FILTERXML" ; SC_OPCODE_FILTERXML; >;
- < "WEBSERVICE" ; SC_OPCODE_WEBSERVICE; >;
- < "COLOR" ; SC_OPCODE_COLOR; >;
- < "ERF.PRECISE" ; SC_OPCODE_ERF_MS; >;
- < "ERFC.PRECISE" ; SC_OPCODE_ERFC_MS; >;
- < "ENCODEURL" ; SC_OPCODE_ENCODEURL; >;
- < "RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT; >;
- < "ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >;
- };
-};
-
-/** These English names can be chosen in the UI and can be changed. They
- should match the [en-US] names of RID_STRLIST_FUNCTION_NAMES below. */
-// As such they are a duplicate, but we can not have two string localizations
-// at the same time.
-StringArray RID_STRLIST_FUNCTION_NAMES_ENGLISH
-{
- ItemList =
- {
- < "IF" ; SC_OPCODE_IF; >;
- < "IFERROR" ; SC_OPCODE_IF_ERROR; >;
- < "IFNA" ; SC_OPCODE_IF_NA; >;
- < "CHOOSE" ; SC_OPCODE_CHOOSE; >;
- < "(" ; SC_OPCODE_OPEN; >;
- < ")" ; SC_OPCODE_CLOSE; >;
- < "[" ; SC_OPCODE_TABLE_REF_OPEN; >;
- < "]" ; SC_OPCODE_TABLE_REF_CLOSE; >;
- < "#All" ; SC_OPCODE_TABLE_REF_ITEM_ALL; >;
- < "#Headers" ; SC_OPCODE_TABLE_REF_ITEM_HEADERS; >;
- < "#Data" ; SC_OPCODE_TABLE_REF_ITEM_DATA; >;
- < "#Totals" ; SC_OPCODE_TABLE_REF_ITEM_TOTALS; >;
- < "#This Row" ; SC_OPCODE_TABLE_REF_ITEM_THIS_ROW; >;
- < "{" ; SC_OPCODE_ARRAY_OPEN; >;
- < "}" ; SC_OPCODE_ARRAY_CLOSE; >;
- < "|" ; SC_OPCODE_ARRAY_ROW_SEP; >;
- < ";" ; SC_OPCODE_ARRAY_COL_SEP; >;
- < ";" ; SC_OPCODE_SEP; >;
- < "%" ; SC_OPCODE_PERCENT_SIGN; >;
- < "+" ; SC_OPCODE_ADD; >;
- < "-" ; SC_OPCODE_SUB; >;
- < "*" ; SC_OPCODE_MUL; >;
- < "/" ; SC_OPCODE_DIV; >;
- < "&" ; SC_OPCODE_AMPERSAND; >;
- < "^" ; SC_OPCODE_POW; >;
- < "=" ; SC_OPCODE_EQUAL; >;
- < "<>" ; SC_OPCODE_NOT_EQUAL; >;
- < "<" ; SC_OPCODE_LESS; >;
- < ">" ; SC_OPCODE_GREATER; >;
- < "<=" ; SC_OPCODE_LESS_EQUAL; >;
- < ">=" ; SC_OPCODE_GREATER_EQUAL; >;
- < "AND" ; SC_OPCODE_AND; >;
- < "OR" ; SC_OPCODE_OR; >;
- < "XOR" ; SC_OPCODE_XOR; >;
- < "!" ; SC_OPCODE_INTERSECT; >;
- < "~" ; SC_OPCODE_UNION; >;
- < ":" ; SC_OPCODE_RANGE; >;
- < "NOT" ; SC_OPCODE_NOT; >;
- < "NEG" ; SC_OPCODE_NEG; >;
- < "-" ; SC_OPCODE_NEG_SUB; >;
- < "PI" ; SC_OPCODE_PI; >;
- < "RAND" ; SC_OPCODE_RANDOM; >;
- < "TRUE" ; SC_OPCODE_TRUE; >;
- < "FALSE" ; SC_OPCODE_FALSE; >;
- < "TODAY" ; SC_OPCODE_GET_ACT_DATE; >;
- < "NOW" ; SC_OPCODE_GET_ACT_TIME; >;
- < "NA" ; SC_OPCODE_NO_VALUE; >;
- < "CURRENT" ; SC_OPCODE_CURRENT; >;
- < "DEGREES" ; SC_OPCODE_DEG; >;
- < "RADIANS" ; SC_OPCODE_RAD; >;
- < "SIN" ; SC_OPCODE_SIN; >;
- < "COS" ; SC_OPCODE_COS; >;
- < "TAN" ; SC_OPCODE_TAN; >;
- < "COT" ; SC_OPCODE_COT; >;
- < "ASIN" ; SC_OPCODE_ARC_SIN; >;
- < "ACOS" ; SC_OPCODE_ARC_COS; >;
- < "ATAN" ; SC_OPCODE_ARC_TAN; >;
- < "ACOT" ; SC_OPCODE_ARC_COT; >;
- < "SINH" ; SC_OPCODE_SIN_HYP; >;
- < "COSH" ; SC_OPCODE_COS_HYP; >;
- < "TANH" ; SC_OPCODE_TAN_HYP; >;
- < "COTH" ; SC_OPCODE_COT_HYP; >;
- < "ASINH" ; SC_OPCODE_ARC_SIN_HYP; >;
- < "ACOSH" ; SC_OPCODE_ARC_COS_HYP; >;
- < "ATANH" ; SC_OPCODE_ARC_TAN_HYP; >;
- < "ACOTH" ; SC_OPCODE_ARC_COT_HYP; >;
- < "CSC" ; SC_OPCODE_COSECANT; >;
- < "SEC" ; SC_OPCODE_SECANT; >;
- < "CSCH" ; SC_OPCODE_COSECANT_HYP; >;
- < "SECH" ; SC_OPCODE_SECANT_HYP; >;
- < "EXP" ; SC_OPCODE_EXP; >;
- < "LN" ; SC_OPCODE_LN; >;
- < "SQRT" ; SC_OPCODE_SQRT; >;
- < "FACT" ; SC_OPCODE_FACT; >;
- < "YEAR" ; SC_OPCODE_GET_YEAR; >;
- < "MONTH" ; SC_OPCODE_GET_MONTH; >;
- < "DAY" ; SC_OPCODE_GET_DAY; >;
- < "HOUR" ; SC_OPCODE_GET_HOUR; >;
- < "MINUTE" ; SC_OPCODE_GET_MIN; >;
- < "SECOND" ; SC_OPCODE_GET_SEC; >;
- < "SIGN" ; SC_OPCODE_PLUS_MINUS; >;
- < "ABS" ; SC_OPCODE_ABS; >;
- < "INT" ; SC_OPCODE_INT; >;
- < "PHI" ; SC_OPCODE_PHI; >;
- < "GAUSS" ; SC_OPCODE_GAUSS; >;
- < "ISBLANK" ; SC_OPCODE_IS_EMPTY; >;
- < "ISTEXT" ; SC_OPCODE_IS_STRING; >;
- < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING; >;
- < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL; >;
- < "TYPE" ; SC_OPCODE_TYPE; >;
- < "CELL" ; SC_OPCODE_CELL; >;
- < "ISREF" ; SC_OPCODE_IS_REF; >;
- < "ISNUMBER" ; SC_OPCODE_IS_VALUE; >;
- < "ISFORMULA" ; SC_OPCODE_IS_FORMULA; >;
- < "ISNA" ; SC_OPCODE_IS_NV; >;
- < "ISERR" ; SC_OPCODE_IS_ERR; >;
- < "ISERROR" ; SC_OPCODE_IS_ERROR; >;
- < "ISEVEN" ; SC_OPCODE_IS_EVEN; >;
- < "ISODD" ; SC_OPCODE_IS_ODD; >;
- < "N" ; SC_OPCODE_N; >;
- < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE; >;
- < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE; >;
- < "CODE" ; SC_OPCODE_CODE; >;
- < "TRIM" ; SC_OPCODE_TRIM; >;
- < "UPPER" ; SC_OPCODE_UPPER; >;
- < "PROPER" ; SC_OPCODE_PROPER; >;
- < "LOWER" ; SC_OPCODE_LOWER; >;
- < "LEN" ; SC_OPCODE_LEN; >;
- < "T" ; SC_OPCODE_T; >;
- < "VALUE" ; SC_OPCODE_VALUE; >;
- < "CLEAN" ; SC_OPCODE_CLEAN; >;
- < "CHAR" ; SC_OPCODE_CHAR; >;
- < "JIS" ; SC_OPCODE_JIS; >;
- < "ASC" ; SC_OPCODE_ASC; >;
- < "UNICODE" ; SC_OPCODE_UNICODE; >;
- < "UNICHAR" ; SC_OPCODE_UNICHAR; >;
- < "LOG10" ; SC_OPCODE_LOG10; >;
- < "EVEN" ; SC_OPCODE_EVEN; >;
- < "ODD" ; SC_OPCODE_ODD; >;
- < "NORMSDIST" ; SC_OPCODE_STD_NORM_DIST; >;
- < "NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS; >;
- < "FISHER" ; SC_OPCODE_FISHER; >;
- < "FISHERINV" ; SC_OPCODE_FISHER_INV; >;
- < "NORMSINV" ; SC_OPCODE_S_NORM_INV; >;
- < "NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS; >;
- < "GAMMALN" ; SC_OPCODE_GAMMA_LN; >;
- < "GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS; >;
- < "ERRORTYPE" ; SC_OPCODE_ERROR_TYPE; >;
- < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF; >;
- < "FORMULA" ; SC_OPCODE_FORMULA; >;
- < "ATAN2" ; SC_OPCODE_ARC_TAN_2; >;
- < "CEILING.MATH" ; SC_OPCODE_CEIL_MATH; >;
- < "CEILING" ; SC_OPCODE_CEIL; >;
- < "CEILING.XCL" ; SC_OPCODE_CEIL_MS; >;
- < "CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE; >;
- < "ISO.CEILING" ; SC_OPCODE_CEIL_ISO; >;
- < "FLOOR" ; SC_OPCODE_FLOOR; >;
- < "FLOOR.XCL" ; SC_OPCODE_FLOOR_MS; >;
- < "FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH; >;
- < "FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE; >;
- < "ROUND" ; SC_OPCODE_ROUND; >;
- < "ROUNDUP" ; SC_OPCODE_ROUND_UP; >;
- < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN; >;
- < "TRUNC" ; SC_OPCODE_TRUNC; >;
- < "LOG" ; SC_OPCODE_LOG; >;
- < "POWER" ; SC_OPCODE_POWER; >;
- < "GCD" ; SC_OPCODE_GCD; >;
- < "LCM" ; SC_OPCODE_LCM; >;
- < "MOD" ; SC_OPCODE_MOD; >;
- < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT; >;
- < "SUMSQ" ; SC_OPCODE_SUM_SQ; >;
- < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2; >;
- < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2; >;
- < "SUMXMY2" ; SC_OPCODE_SUM_XMY2; >;
- < "DATE" ; SC_OPCODE_GET_DATE; >;
- < "TIME" ; SC_OPCODE_GET_TIME; >;
- < "DAYS" ; SC_OPCODE_GET_DIFF_DATE; >;
- < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360; >;
- < "DATEDIF" ; SC_OPCODE_GET_DATEDIF; >;
- < "MIN" ; SC_OPCODE_MIN; >;
- < "MINA" ; SC_OPCODE_MIN_A; >;
- < "MAX" ; SC_OPCODE_MAX; >;
- < "MAXA" ; SC_OPCODE_MAX_A; >;
- < "SUM" ; SC_OPCODE_SUM; >;
- < "PRODUCT" ; SC_OPCODE_PRODUCT; >;
- < "AVERAGE" ; SC_OPCODE_AVERAGE; >;
- < "AVERAGEA" ; SC_OPCODE_AVERAGE_A; >;
- < "COUNT" ; SC_OPCODE_COUNT; >;
- < "COUNTA" ; SC_OPCODE_COUNT_2; >;
- < "NPV" ; SC_OPCODE_NPV; >;
- < "IRR" ; SC_OPCODE_IRR; >;
- < "MIRR" ; SC_OPCODE_MIRR; >;
- < "ISPMT" ; SC_OPCODE_ISPMT; >;
- < "VAR" ; SC_OPCODE_VAR; >;
- < "VARA" ; SC_OPCODE_VAR_A; >;
- < "VARP" ; SC_OPCODE_VAR_P; >;
- < "VARPA" ; SC_OPCODE_VAR_P_A; >;
- < "VAR.P" ; SC_OPCODE_VAR_P_MS; >;
- < "VAR.S" ; SC_OPCODE_VAR_S; >;
- < "STDEV" ; SC_OPCODE_ST_DEV; >;
- < "STDEVA" ; SC_OPCODE_ST_DEV_A; >;
- < "STDEVP" ; SC_OPCODE_ST_DEV_P; >;
- < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A; >;
- < "STDEV.P" ; SC_OPCODE_ST_DEV_P_MS; >;
- < "STDEV.S" ; SC_OPCODE_ST_DEV_S; >;
- < "B" ; SC_OPCODE_B; >;
- < "NORMDIST" ; SC_OPCODE_NORM_DIST; >;
- < "NORM.DIST" ; SC_OPCODE_NORM_DIST_MS; >;
- < "EXPONDIST" ; SC_OPCODE_EXP_DIST; >;
- < "EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS; >;
- < "BINOMDIST" ; SC_OPCODE_BINOM_DIST; >;
- < "BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS; >;
- < "POISSON" ; SC_OPCODE_POISSON_DIST; >;
- < "POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS; >;
- < "COMBIN" ; SC_OPCODE_COMBIN; >;
- < "COMBINA" ; SC_OPCODE_COMBIN_A; >;
- < "PERMUT" ; SC_OPCODE_PERMUT; >;
- < "PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A; >;
- < "PV" ; SC_OPCODE_PV; >;
- < "SYD" ; SC_OPCODE_SYD; >;
- < "DDB" ; SC_OPCODE_DDB; >;
- < "DB" ; SC_OPCODE_DB; >;
- < "VDB" ; SC_OPCODE_VBD; >;
- < "PDURATION" ; SC_OPCODE_PDURATION; >;
- < "SLN" ; SC_OPCODE_SLN; >;
- < "PMT" ; SC_OPCODE_PMT; >;
- < "COLUMNS" ; SC_OPCODE_COLUMNS; >;
- < "ROWS" ; SC_OPCODE_ROWS; >;
- < "SHEETS" ; SC_OPCODE_SHEETS; >;
- < "COLUMN" ; SC_OPCODE_COLUMN; >;
- < "ROW" ; SC_OPCODE_ROW; >;
- < "SHEET" ; SC_OPCODE_SHEET; >;
- < "ZGZ" ; SC_OPCODE_RRI; >;
- < "FV" ; SC_OPCODE_FV; >;
- < "NPER" ; SC_OPCODE_NPER; >;
- < "RATE" ; SC_OPCODE_RATE; >;
- < "IPMT" ; SC_OPCODE_IPMT; >;
- < "PPMT" ; SC_OPCODE_PPMT; >;
- < "CUMIPMT" ; SC_OPCODE_CUM_IPMT; >;
- < "CUMPRINC" ; SC_OPCODE_CUM_PRINC; >;
- < "EFFECTIVE" ; SC_OPCODE_EFFECT; >;
- < "NOMINAL" ; SC_OPCODE_NOMINAL; >;
- < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL; >;
- < "DSUM" ; SC_OPCODE_DB_SUM; >;
- < "DCOUNT" ; SC_OPCODE_DB_COUNT; >;
- < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2; >;
- < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE; >;
- < "DGET" ; SC_OPCODE_DB_GET; >;
- < "DMAX" ; SC_OPCODE_DB_MAX; >;
- < "DMIN" ; SC_OPCODE_DB_MIN; >;
- < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT; >;
- < "DSTDEV" ; SC_OPCODE_DB_STD_DEV; >;
- < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P; >;
- < "DVAR" ; SC_OPCODE_DB_VAR; >;
- < "DVARP" ; SC_OPCODE_DB_VAR_P; >;
- < "INDIRECT" ; SC_OPCODE_INDIRECT; >;
- < "ADDRESS" ; SC_OPCODE_ADDRESS; >;
- < "MATCH" ; SC_OPCODE_MATCH; >;
- < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS; >;
- < "COUNTIF" ; SC_OPCODE_COUNT_IF; >;
- < "SUMIF" ; SC_OPCODE_SUM_IF; >;
- < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF; >;
- < "SUMIFS" ; SC_OPCODE_SUM_IFS; >;
- < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS; >;
- < "COUNTIFS" ; SC_OPCODE_COUNT_IFS; >;
- < "LOOKUP" ; SC_OPCODE_LOOKUP; >;
- < "VLOOKUP" ; SC_OPCODE_V_LOOKUP; >;
- < "HLOOKUP" ; SC_OPCODE_H_LOOKUP; >;
- < "MULTIRANGE" ; SC_OPCODE_MULTI_AREA; >;
- < "OFFSET" ; SC_OPCODE_OFFSET; >;
- < "INDEX" ; SC_OPCODE_INDEX; >;
- < "AREAS" ; SC_OPCODE_AREAS; >;
- < "DOLLAR" ; SC_OPCODE_CURRENCY; >;
- < "REPLACE" ; SC_OPCODE_REPLACE; >;
- < "FIXED" ; SC_OPCODE_FIXED; >;
- < "FIND" ; SC_OPCODE_FIND; >;
- < "EXACT" ; SC_OPCODE_EXACT; >;
- < "LEFT" ; SC_OPCODE_LEFT; >;
- < "RIGHT" ; SC_OPCODE_RIGHT; >;
- < "SEARCH" ; SC_OPCODE_SEARCH; >;
- < "MID" ; SC_OPCODE_MID; >;
- < "LENB" ; SC_OPCODE_LENB; >;
- < "RIGHTB" ; SC_OPCODE_RIGHTB; >;
- < "LEFTB" ; SC_OPCODE_LEFTB; >;
- < "REPLACEB" ; SC_OPCODE_REPLACEB; >;
- < "MIDB" ; SC_OPCODE_MIDB; >;
- < "TEXT" ; SC_OPCODE_TEXT; >;
- < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE; >;
- < "REPT" ; SC_OPCODE_REPT; >;
- < "CONCATENATE" ; SC_OPCODE_CONCAT; >;
- < "CONCAT" ; SC_OPCODE_CONCAT_MS; >;
- < "TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS; >;
- < "IFS" ; SC_OPCODE_IFS_MS; >;
- < "SWITCH" ; SC_OPCODE_SWITCH_MS; >;
- < "MINIFS" ; SC_OPCODE_MINIFS_MS; >;
- < "MAXIFS" ; SC_OPCODE_MAXIFS_MS; >;
- < "MVALUE" ; SC_OPCODE_MAT_VALUE; >;
- < "MDETERM" ; SC_OPCODE_MAT_DET; >;
- < "MINVERSE" ; SC_OPCODE_MAT_INV; >;
- < "MMULT" ; SC_OPCODE_MAT_MULT; >;
- < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS; >;
- < "MUNIT" ; SC_OPCODE_MATRIX_UNIT; >;
- < "GOALSEEK" ; SC_OPCODE_BACK_SOLVER; >;
- < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST; >;
- < "HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS; >;
- < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST; >;
- < "LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS; >;
- < "TDIST" ; SC_OPCODE_T_DIST; >;
- < "T.DIST.2T" ; SC_OPCODE_T_DIST_2T; >;
- < "T.DIST" ; SC_OPCODE_T_DIST_MS; >;
- < "T.DIST.RT" ; SC_OPCODE_T_DIST_RT; >;
- < "FDIST" ; SC_OPCODE_F_DIST; >;
- < "F.DIST" ; SC_OPCODE_F_DIST_LT; >;
- < "F.DIST.RT" ; SC_OPCODE_F_DIST_RT; >;
- < "CHIDIST" ; SC_OPCODE_CHI_DIST; >;
- < "CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS; >;
- < "WEIBULL" ; SC_OPCODE_WEIBULL; >;
- < "WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS; >;
- < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT; >;
- < "NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS; >;
- < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM; >;
- < "BINOM.INV" ; SC_OPCODE_BINOM_INV; >;
- < "KURT" ; SC_OPCODE_KURT; >;
- < "HARMEAN" ; SC_OPCODE_HAR_MEAN; >;
- < "GEOMEAN" ; SC_OPCODE_GEO_MEAN; >;
- < "STANDARDIZE" ; SC_OPCODE_STANDARD; >;
- < "AVEDEV" ; SC_OPCODE_AVE_DEV; >;
- < "SKEW" ; SC_OPCODE_SKEW; >;
- < "SKEWP" ; SC_OPCODE_SKEWP; >;
- < "DEVSQ" ; SC_OPCODE_DEV_SQ; >;
- < "MEDIAN" ; SC_OPCODE_MEDIAN; >;
- < "MODE" ; SC_OPCODE_MODAL_VALUE; >;
- < "MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS; >;
- < "MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI; >;
- < "ZTEST" ; SC_OPCODE_Z_TEST; >;
- < "Z.TEST" ; SC_OPCODE_Z_TEST_MS; >;
- < "AGGREGATE" ; SC_OPCODE_AGGREGATE; >;
- < "TTEST" ; SC_OPCODE_T_TEST; >;
- < "T.TEST" ; SC_OPCODE_T_TEST_MS; >;
- < "RANK" ; SC_OPCODE_RANK; >;
- < "PERCENTILE" ; SC_OPCODE_PERCENTILE; >;
- < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK; >;
- < "PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC; >;
- < "PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC; >;
- < "QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC; >;
- < "RANK.EQ" ; SC_OPCODE_RANK_EQ; >;
- < "PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC; >;
- < "PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC; >;
- < "QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC; >;
- < "RANK.AVG" ; SC_OPCODE_RANK_AVG; >;
- < "LARGE" ; SC_OPCODE_LARGE; >;
- < "SMALL" ; SC_OPCODE_SMALL; >;
- < "FREQUENCY" ; SC_OPCODE_FREQUENCY; >;
- < "QUARTILE" ; SC_OPCODE_QUARTILE; >;
- < "NORMINV" ; SC_OPCODE_NORM_INV; >;
- < "NORM.INV" ; SC_OPCODE_NORM_INV_MS; >;
- < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE; >;
- < "CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N; >;
- < "CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T; >;
- < "FTEST" ; SC_OPCODE_F_TEST; >;
- < "F.TEST" ; SC_OPCODE_F_TEST_MS; >;
- < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN; >;
- < "PROB" ; SC_OPCODE_PROB; >;
- < "CORREL" ; SC_OPCODE_CORREL; >;
- < "COVAR" ; SC_OPCODE_COVAR; >;
- < "COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P; >;
- < "COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S; >;
- < "PEARSON" ; SC_OPCODE_PEARSON; >;
- < "RSQ" ; SC_OPCODE_RSQ; >;
- < "STEYX" ; SC_OPCODE_STEYX; >;
- < "SLOPE" ; SC_OPCODE_SLOPE; >;
- < "INTERCEPT" ; SC_OPCODE_INTERCEPT; >;
- < "TREND" ; SC_OPCODE_TREND; >;
- < "GROWTH" ; SC_OPCODE_GROWTH; >;
- < "LINEST" ; SC_OPCODE_LINEST; >;
- < "LOGEST" ; SC_OPCODE_LOGEST; >;
- < "FORECAST" ; SC_OPCODE_FORECAST; >;
- < "FORECAST.ETS.ADD" ; SC_OPCODE_FORECAST_ETS_ADD; >;
- < "FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA; >;
- < "FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL; >;
- < "FORECAST.ETS.PI.ADD" ; SC_OPCODE_FORECAST_ETS_PIA; >;
- < "FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM; >;
- < "FORECAST.ETS.STAT.ADD" ; SC_OPCODE_FORECAST_ETS_STA; >;
- < "FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM; >;
- < "FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN; >;
- < "CHIINV" ; SC_OPCODE_CHI_INV; >;
- < "CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS; >;
- < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST; >;
- < "GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS; >;
- < "GAMMAINV" ; SC_OPCODE_GAMMA_INV; >;
- < "GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS; >;
- < "TINV" ; SC_OPCODE_T_INV; >;
- < "T.INV.2T" ; SC_OPCODE_T_INV_2T; >;
- < "T.INV" ; SC_OPCODE_T_INV_MS; >;
- < "FINV" ; SC_OPCODE_F_INV; >;
- < "F.INV" ; SC_OPCODE_F_INV_LT; >;
- < "F.INV.RT" ; SC_OPCODE_F_INV_RT; >;
- < "CHITEST" ; SC_OPCODE_CHI_TEST; >;
- < "CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS; >;
- < "LOGINV" ; SC_OPCODE_LOG_INV; >;
- < "LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS; >;
- < "TABLE" ; SC_OPCODE_TABLE_OP; >;
- < "BETADIST" ; SC_OPCODE_BETA_DIST; >;
- < "BETAINV" ; SC_OPCODE_BETA_INV; >;
- < "BETA.DIST" ; SC_OPCODE_BETA_DIST_MS; >;
- < "BETA.INV" ; SC_OPCODE_BETA_INV_MS; >;
- < "WEEKNUM" ; SC_OPCODE_WEEK; >;
- < "ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM; >;
- < "WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO; >;
- < "EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY; >;
- < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK; >;
- < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS; >;
- < "NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS; >;
- < "WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS; >;
- < "#NAME!" ; SC_OPCODE_NO_NAME; >;
- < "STYLE" ; SC_OPCODE_STYLE; >;
- < "DDE" ; SC_OPCODE_DDE; >;
- < "BASE" ; SC_OPCODE_BASE; >;
- < "DECIMAL" ; SC_OPCODE_DECIMAL; >;
- < "CONVERT_OOO" ; SC_OPCODE_CONVERT_OOO; >;
- < "ROMAN" ; SC_OPCODE_ROMAN; >;
- < "ARABIC" ; SC_OPCODE_ARABIC; >;
- < "HYPERLINK" ; SC_OPCODE_HYPERLINK; >;
- < "INFO" ; SC_OPCODE_INFO; >;
- < "BAHTTEXT" ; SC_OPCODE_BAHTTEXT; >;
- < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA; >;
- < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT; >;
- < "NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE; >;
- < "GAMMA" ; SC_OPCODE_GAMMA; >;
- < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST; >;
- < "CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS; >;
- < "CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS; >;
- < "CHISQINV" ; SC_OPCODE_CHISQ_INV; >;
- < "BITAND" ; SC_OPCODE_BITAND; >;
- < "BITOR" ; SC_OPCODE_BITOR; >;
- < "BITXOR" ; SC_OPCODE_BITXOR; >;
- < "BITRSHIFT" ; SC_OPCODE_BITRSHIFT; >;
- < "BITLSHIFT" ; SC_OPCODE_BITLSHIFT; >;
- < "#NULL!" ; SC_OPCODE_ERROR_NULL; >;
- < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO; >;
- < "#VALUE!" ; SC_OPCODE_ERROR_VALUE; >;
- < "#REF!" ; SC_OPCODE_ERROR_REF; >;
- < "#NAME?" ; SC_OPCODE_ERROR_NAME; >;
- < "#NUM!" ; SC_OPCODE_ERROR_NUM; >;
- < "#N/A" ; SC_OPCODE_ERROR_NA; >;
- /* END defined ERROR.TYPE() values. */
- < "FILTERXML" ; SC_OPCODE_FILTERXML; >;
- < "WEBSERVICE" ; SC_OPCODE_WEBSERVICE; >;
- < "COLOR" ; SC_OPCODE_COLOR; >;
- < "ERF.PRECISE" ; SC_OPCODE_ERF_MS; >;
- < "ERFC.PRECISE" ; SC_OPCODE_ERFC_MS; >;
- < "ENCODEURL" ; SC_OPCODE_ENCODEURL; >;
- < "RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT; >;
- < "ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >;
- };
-};
-
-/** Function names that can be localized if [en-US]. Same names should be used
- in RID_STRLIST_FUNCTION_NAMES_ENGLISH above. Names can be changed, the
- change has to be mentioned in the release notes, i.e.
- https://wiki.documentfoundation.org/ReleaseNotes/...
- */
-StringArray RID_STRLIST_FUNCTION_NAMES
-{
- ItemList [ en-US ] =
- {
- < "IF" ; SC_OPCODE_IF ; >;
- < "IFERROR" ; SC_OPCODE_IF_ERROR ; >;
- < "IFNA" ; SC_OPCODE_IF_NA ; >;
- < "CHOOSE" ; SC_OPCODE_CHOOSE ; >;
- < "#All" ; SC_OPCODE_TABLE_REF_ITEM_ALL ; >;
- < "#Headers" ; SC_OPCODE_TABLE_REF_ITEM_HEADERS ; >;
- < "#Data" ; SC_OPCODE_TABLE_REF_ITEM_DATA ; >;
- < "#Totals" ; SC_OPCODE_TABLE_REF_ITEM_TOTALS ; >;
- < "#This Row" ; SC_OPCODE_TABLE_REF_ITEM_THIS_ROW ; >;
- < "AND" ; SC_OPCODE_AND ; >;
- < "OR" ; SC_OPCODE_OR ; >;
- < "XOR" ; SC_OPCODE_XOR ; >;
- < "NOT" ; SC_OPCODE_NOT ; >;
- < "NEG" ; SC_OPCODE_NEG ; >;
- < "PI" ; SC_OPCODE_PI ; >; // ???
- < "RAND" ; SC_OPCODE_RANDOM ; >;
- < "TRUE" ; SC_OPCODE_TRUE ; >;
- < "FALSE" ; SC_OPCODE_FALSE ; >;
- < "TODAY" ; SC_OPCODE_GET_ACT_DATE ; >;
- < "NOW" ; SC_OPCODE_GET_ACT_TIME ; >;
- < "NA" ; SC_OPCODE_NO_VALUE ; >;
- < "CURRENT" ; SC_OPCODE_CURRENT ; >;
- < "DEGREES" ; SC_OPCODE_DEG ; >;
- < "RADIANS" ; SC_OPCODE_RAD ; >;
- < "SIN" ; SC_OPCODE_SIN ; >;
- < "COS" ; SC_OPCODE_COS ; >;
- < "TAN" ; SC_OPCODE_TAN ; >;
- < "COT" ; SC_OPCODE_COT ; >;
- < "ASIN" ; SC_OPCODE_ARC_SIN ; >;
- < "ACOS" ; SC_OPCODE_ARC_COS ; >;
- < "ATAN" ; SC_OPCODE_ARC_TAN ; >;
- < "ACOT" ; SC_OPCODE_ARC_COT ; >;
- < "SINH" ; SC_OPCODE_SIN_HYP ; >;
- < "COSH" ; SC_OPCODE_COS_HYP ; >;
- < "TANH" ; SC_OPCODE_TAN_HYP ; >;
- < "COTH" ; SC_OPCODE_COT_HYP ; >;
- < "ASINH" ; SC_OPCODE_ARC_SIN_HYP ; >;
- < "ACOSH" ; SC_OPCODE_ARC_COS_HYP ; >;
- < "ATANH" ; SC_OPCODE_ARC_TAN_HYP ; >;
- < "ACOTH" ; SC_OPCODE_ARC_COT_HYP ; >;
- < "CSC" ; SC_OPCODE_COSECANT ; >;
- < "SEC" ; SC_OPCODE_SECANT ; >;
- < "CSCH" ; SC_OPCODE_COSECANT_HYP ; >;
- < "SECH" ; SC_OPCODE_SECANT_HYP ; >;
- < "EXP" ; SC_OPCODE_EXP ; >;
- < "LN" ; SC_OPCODE_LN ; >;
- < "SQRT" ; SC_OPCODE_SQRT ; >;
- < "FACT" ; SC_OPCODE_FACT ; >;
- < "YEAR" ; SC_OPCODE_GET_YEAR ; >;
- < "MONTH" ; SC_OPCODE_GET_MONTH ; >;
- < "DAY" ; SC_OPCODE_GET_DAY ; >;
- < "HOUR" ; SC_OPCODE_GET_HOUR ; >;
- < "MINUTE" ; SC_OPCODE_GET_MIN ; >;
- < "SECOND" ; SC_OPCODE_GET_SEC ; >;
- < "SIGN" ; SC_OPCODE_PLUS_MINUS ; >;
- < "ABS" ; SC_OPCODE_ABS ; >;
- < "INT" ; SC_OPCODE_INT ; >;
- < "PHI" ; SC_OPCODE_PHI ; >;
- < "GAUSS" ; SC_OPCODE_GAUSS ; >;
- < "ISBLANK" ; SC_OPCODE_IS_EMPTY ; >;
- < "ISTEXT" ; SC_OPCODE_IS_STRING ; >;
- < "ISNONTEXT" ; SC_OPCODE_IS_NON_STRING ; >;
- < "ISLOGICAL" ; SC_OPCODE_IS_LOGICAL ; >;
- < "TYPE" ; SC_OPCODE_TYPE ; >;
- < "CELL" ; SC_OPCODE_CELL ; >;
- < "ISREF" ; SC_OPCODE_IS_REF ; >;
- < "ISNUMBER" ; SC_OPCODE_IS_VALUE ; >;
- < "ISFORMULA" ; SC_OPCODE_IS_FORMULA ; >;
- < "ISNA" ; SC_OPCODE_IS_NV ; >;
- < "ISERR" ; SC_OPCODE_IS_ERR ; >;
- < "ISERROR" ; SC_OPCODE_IS_ERROR ; >;
- < "ISEVEN" ; SC_OPCODE_IS_EVEN ; >;
- < "ISODD" ; SC_OPCODE_IS_ODD ; >;
- < "N" ; SC_OPCODE_N ; >;
- < "DATEVALUE" ; SC_OPCODE_GET_DATE_VALUE ; >;
- < "TIMEVALUE" ; SC_OPCODE_GET_TIME_VALUE ; >;
- < "CODE" ; SC_OPCODE_CODE ; >;
- < "TRIM" ; SC_OPCODE_TRIM ; >;
- < "UPPER" ; SC_OPCODE_UPPER ; >;
- < "PROPER" ; SC_OPCODE_PROPER ; >;
- < "LOWER" ; SC_OPCODE_LOWER ; >;
- < "LEN" ; SC_OPCODE_LEN ; >;
- < "T" ; SC_OPCODE_T ; >;
- < "VALUE" ; SC_OPCODE_VALUE ; >;
- < "CLEAN" ; SC_OPCODE_CLEAN ; >;
- < "CHAR" ; SC_OPCODE_CHAR ; >;
- < "JIS" ; SC_OPCODE_JIS ; >;
- < "ASC" ; SC_OPCODE_ASC ; >;
- < "UNICODE" ; SC_OPCODE_UNICODE ; >;
- < "UNICHAR" ; SC_OPCODE_UNICHAR ; >;
- < "LOG10" ; SC_OPCODE_LOG10 ; >;
- < "EVEN" ; SC_OPCODE_EVEN ; >;
- < "ODD" ; SC_OPCODE_ODD ; >;
- < "NORMSDIST" ; SC_OPCODE_STD_NORM_DIST ; >;
- < "NORM.S.DIST" ; SC_OPCODE_STD_NORM_DIST_MS ; >;
- < "FISHER" ; SC_OPCODE_FISHER ; >;
- < "FISHERINV" ; SC_OPCODE_FISHER_INV ; >;
- < "NORMSINV" ; SC_OPCODE_S_NORM_INV ; >;
- < "NORM.S.INV" ; SC_OPCODE_S_NORM_INV_MS ; >;
- < "GAMMALN" ; SC_OPCODE_GAMMA_LN ; >;
- < "GAMMALN.PRECISE" ; SC_OPCODE_GAMMA_LN_MS ; >;
- < "ERRORTYPE" ; SC_OPCODE_ERROR_TYPE ; >;
- < "ERROR.TYPE" ; SC_OPCODE_ERROR_TYPE_ODF ; >;
- < "FORMULA" ; SC_OPCODE_FORMULA ; >;
- < "ARABIC" ; SC_OPCODE_ARABIC ; >;
- < "ATAN2" ; SC_OPCODE_ARC_TAN_2 ; >;
- < "CEILING.MATH" ; SC_OPCODE_CEIL_MATH ; >;
- < "CEILING" ; SC_OPCODE_CEIL ; >;
- < "CEILING.XCL" ; SC_OPCODE_CEIL_MS ; >;
- < "CEILING.PRECISE" ; SC_OPCODE_CEIL_PRECISE ; >;
- < "ISO.CEILING" ; SC_OPCODE_CEIL_ISO ; >;
- < "FLOOR" ; SC_OPCODE_FLOOR ; >;
- < "FLOOR.XCL" ; SC_OPCODE_FLOOR_MS ; >;
- < "FLOOR.MATH" ; SC_OPCODE_FLOOR_MATH ; >;
- < "FLOOR.PRECISE" ; SC_OPCODE_FLOOR_PRECISE ; >;
- < "ROUND" ; SC_OPCODE_ROUND ; >;
- < "ROUNDUP" ; SC_OPCODE_ROUND_UP ; >;
- < "ROUNDDOWN" ; SC_OPCODE_ROUND_DOWN ; >;
- < "TRUNC" ; SC_OPCODE_TRUNC ; >;
- < "LOG" ; SC_OPCODE_LOG ; >;
- < "POWER" ; SC_OPCODE_POWER ; >;
- < "GCD" ; SC_OPCODE_GCD ; >;
- < "LCM" ; SC_OPCODE_LCM ; >;
- < "MOD" ; SC_OPCODE_MOD ; >;
- < "SUMPRODUCT" ; SC_OPCODE_SUM_PRODUCT ; >;
- < "SUMSQ" ; SC_OPCODE_SUM_SQ ; >;
- < "SUMX2MY2" ; SC_OPCODE_SUM_X2MY2 ; >;
- < "SUMX2PY2" ; SC_OPCODE_SUM_X2DY2 ; >;
- < "SUMXMY2" ; SC_OPCODE_SUM_XMY2 ; >;
- < "DATE" ; SC_OPCODE_GET_DATE ; >;
- < "TIME" ; SC_OPCODE_GET_TIME ; >;
- < "DAYS" ; SC_OPCODE_GET_DIFF_DATE ; >;
- < "DAYS360" ; SC_OPCODE_GET_DIFF_DATE_360 ; >;
- < "DATEDIF" ; SC_OPCODE_GET_DATEDIF ; >;
- < "MIN" ; SC_OPCODE_MIN ; >;
- < "MINA" ; SC_OPCODE_MIN_A ; >;
- < "MAX" ; SC_OPCODE_MAX ; >;
- < "MAXA" ; SC_OPCODE_MAX_A ; >;
- < "SUM" ; SC_OPCODE_SUM ; >;
- < "PRODUCT" ; SC_OPCODE_PRODUCT ; >;
- < "AVERAGE" ; SC_OPCODE_AVERAGE ; >;
- < "AVERAGEA" ; SC_OPCODE_AVERAGE_A ; >;
- < "COUNT" ; SC_OPCODE_COUNT ; >;
- < "COUNTA" ; SC_OPCODE_COUNT_2 ; >;
- < "NPV" ; SC_OPCODE_NPV ; >;
- < "IRR" ; SC_OPCODE_IRR ; >;
- < "MIRR" ; SC_OPCODE_MIRR ; >;
- < "ISPMT" ; SC_OPCODE_ISPMT ; >;
- < "VAR" ; SC_OPCODE_VAR ; >;
- < "VARA" ; SC_OPCODE_VAR_A ; >;
- < "VARP" ; SC_OPCODE_VAR_P ; >;
- < "VARPA" ; SC_OPCODE_VAR_P_A ; >;
- < "VAR.P" ; SC_OPCODE_VAR_P_MS ; >;
- < "VAR.S" ; SC_OPCODE_VAR_S ; >;
- < "STDEV" ; SC_OPCODE_ST_DEV ; >;
- < "STDEVA" ; SC_OPCODE_ST_DEV_A ; >;
- < "STDEVP" ; SC_OPCODE_ST_DEV_P ; >;
- < "STDEVPA" ; SC_OPCODE_ST_DEV_P_A ; >;
- < "STDEV.P" ; SC_OPCODE_ST_DEV_P_MS ; >;
- < "STDEV.S" ; SC_OPCODE_ST_DEV_S ; >;
- < "B" ; SC_OPCODE_B ; >;
- < "NORMDIST" ; SC_OPCODE_NORM_DIST ; >;
- < "NORM.DIST" ; SC_OPCODE_NORM_DIST_MS ; >;
- < "EXPONDIST" ; SC_OPCODE_EXP_DIST ; >;
- < "EXPON.DIST" ; SC_OPCODE_EXP_DIST_MS ; >;
- < "BINOMDIST" ; SC_OPCODE_BINOM_DIST ; >;
- < "BINOM.DIST" ; SC_OPCODE_BINOM_DIST_MS ; >;
- < "POISSON" ; SC_OPCODE_POISSON_DIST ; >;
- < "POISSON.DIST" ; SC_OPCODE_POISSON_DIST_MS ; >;
- < "COMBIN" ; SC_OPCODE_COMBIN ; >;
- < "COMBINA" ; SC_OPCODE_COMBIN_A ; >;
- < "PERMUT" ; SC_OPCODE_PERMUT ; >;
- < "PERMUTATIONA" ; SC_OPCODE_PERMUTATION_A ; >;
- < "PV" ; SC_OPCODE_PV ; >;
- < "SYD" ; SC_OPCODE_SYD ; >;
- < "DDB" ; SC_OPCODE_DDB ; >;
- < "DB" ; SC_OPCODE_DB ; >;
- < "VDB" ; SC_OPCODE_VBD ; >;
- < "PDURATION" ; SC_OPCODE_PDURATION ; >;
- < "SLN" ; SC_OPCODE_SLN ; >;
- < "PMT" ; SC_OPCODE_PMT ; >;
- < "COLUMNS" ; SC_OPCODE_COLUMNS ; >;
- < "ROWS" ; SC_OPCODE_ROWS ; >;
- < "SHEETS" ; SC_OPCODE_SHEETS ; >;
- < "COLUMN" ; SC_OPCODE_COLUMN ; >;
- < "ROW" ; SC_OPCODE_ROW ; >;
- < "SHEET" ; SC_OPCODE_SHEET ; >;
- < "RRI" ; SC_OPCODE_RRI ; >;
- < "FV" ; SC_OPCODE_FV ; >;
- < "NPER" ; SC_OPCODE_NPER ; >;
- < "RATE" ; SC_OPCODE_RATE ; >;
- < "IPMT" ; SC_OPCODE_IPMT ; >;
- < "PPMT" ; SC_OPCODE_PPMT ; >;
- < "CUMIPMT" ; SC_OPCODE_CUM_IPMT ; >;
- < "CUMPRINC" ; SC_OPCODE_CUM_PRINC ; >;
- < "EFFECT" ; SC_OPCODE_EFFECT ; >;
- < "NOMINAL" ; SC_OPCODE_NOMINAL ; >;
- < "SUBTOTAL" ; SC_OPCODE_SUB_TOTAL ; >;
- < "DSUM" ; SC_OPCODE_DB_SUM ; >;
- < "DCOUNT" ; SC_OPCODE_DB_COUNT ; >;
- < "DCOUNTA" ; SC_OPCODE_DB_COUNT_2 ; >;
- < "DAVERAGE" ; SC_OPCODE_DB_AVERAGE ; >;
- < "DGET" ; SC_OPCODE_DB_GET ; >;
- < "DMAX" ; SC_OPCODE_DB_MAX ; >;
- < "DMIN" ; SC_OPCODE_DB_MIN ; >;
- < "DPRODUCT" ; SC_OPCODE_DB_PRODUCT ; >;
- < "DSTDEV" ; SC_OPCODE_DB_STD_DEV ; >;
- < "DSTDEVP" ; SC_OPCODE_DB_STD_DEV_P ; >;
- < "DVAR" ; SC_OPCODE_DB_VAR ; >;
- < "DVARP" ; SC_OPCODE_DB_VAR_P ; >;
- < "INDIRECT" ; SC_OPCODE_INDIRECT ; >;
- < "ADDRESS" ; SC_OPCODE_ADDRESS ; >;
- < "MATCH" ; SC_OPCODE_MATCH ; >;
- < "COUNTBLANK" ; SC_OPCODE_COUNT_EMPTY_CELLS ; >;
- < "COUNTIF" ; SC_OPCODE_COUNT_IF ; >;
- < "SUMIF" ; SC_OPCODE_SUM_IF ; >;
- < "AVERAGEIF" ; SC_OPCODE_AVERAGE_IF ; >;
- < "SUMIFS" ; SC_OPCODE_SUM_IFS ; >;
- < "AVERAGEIFS" ; SC_OPCODE_AVERAGE_IFS ; >;
- < "COUNTIFS" ; SC_OPCODE_COUNT_IFS ; >;
- < "LOOKUP" ; SC_OPCODE_LOOKUP ; >;
- < "VLOOKUP" ; SC_OPCODE_V_LOOKUP ; >;
- < "HLOOKUP" ; SC_OPCODE_H_LOOKUP ; >;
- < "MULTIRANGE" ; SC_OPCODE_MULTI_AREA ; >; // legacy for range list (union)
- < "OFFSET" ; SC_OPCODE_OFFSET ; >;
- < "INDEX" ; SC_OPCODE_INDEX ; >; // ?? first character = I ??
- < "AREAS" ; SC_OPCODE_AREAS ; >;
- < "DOLLAR" ; SC_OPCODE_CURRENCY ; >;
- < "REPLACE" ; SC_OPCODE_REPLACE ; >;
- < "FIXED" ; SC_OPCODE_FIXED ; >;
- < "FIND" ; SC_OPCODE_FIND ; >;
- < "EXACT" ; SC_OPCODE_EXACT ; >;
- < "LEFT" ; SC_OPCODE_LEFT ; >;
- < "RIGHT" ; SC_OPCODE_RIGHT ; >;
- < "SEARCH" ; SC_OPCODE_SEARCH ; >;
- < "MID" ; SC_OPCODE_MID ; >;
- < "LENB" ; SC_OPCODE_LENB ; >;
- < "RIGHTB" ; SC_OPCODE_RIGHTB ; >;
- < "LEFTB" ; SC_OPCODE_LEFTB ; >;
- < "REPLACEB" ; SC_OPCODE_REPLACEB; >;
- < "MIDB" ; SC_OPCODE_MIDB ; >;
- < "TEXT" ; SC_OPCODE_TEXT ; >;
- < "SUBSTITUTE" ; SC_OPCODE_SUBSTITUTE ; >;
- < "REPT" ; SC_OPCODE_REPT ; >;
- < "CONCATENATE" ; SC_OPCODE_CONCAT ; >;
- < "CONCAT" ; SC_OPCODE_CONCAT_MS ; >;
- < "TEXTJOIN" ; SC_OPCODE_TEXTJOIN_MS ; >;
- < "IFS" ; SC_OPCODE_IFS_MS ; >;
- < "SWITCH" ; SC_OPCODE_SWITCH_MS ; >;
- < "MINIFS" ; SC_OPCODE_MINIFS_MS ; >;
- < "MAXIFS" ; SC_OPCODE_MAXIFS_MS ; >;
- < "MVALUE" ; SC_OPCODE_MAT_VALUE ; >;
- < "MDETERM" ; SC_OPCODE_MAT_DET ; >;
- < "MINVERSE" ; SC_OPCODE_MAT_INV ; >;
- < "MMULT" ; SC_OPCODE_MAT_MULT ; >;
- < "TRANSPOSE" ; SC_OPCODE_MAT_TRANS ; >;
- < "MUNIT" ; SC_OPCODE_MATRIX_UNIT ; >;
- < "GOALSEEK" ; SC_OPCODE_BACK_SOLVER ; >;
- < "HYPGEOMDIST" ; SC_OPCODE_HYP_GEOM_DIST ; >;
- < "HYPGEOM.DIST" ; SC_OPCODE_HYP_GEOM_DIST_MS ; >;
- < "LOGNORMDIST" ; SC_OPCODE_LOG_NORM_DIST ; >;
- < "LOGNORM.DIST" ; SC_OPCODE_LOG_NORM_DIST_MS ; >;
- < "TDIST" ; SC_OPCODE_T_DIST ; >;
- < "T.DIST.2T" ; SC_OPCODE_T_DIST_2T ; >;
- < "T.DIST" ; SC_OPCODE_T_DIST_MS ; >;
- < "T.DIST.RT" ; SC_OPCODE_T_DIST_RT ; >;
- < "FDIST" ; SC_OPCODE_F_DIST ; >;
- < "F.DIST" ; SC_OPCODE_F_DIST_LT ; >;
- < "F.DIST.RT" ; SC_OPCODE_F_DIST_RT ; >;
- < "CHIDIST" ; SC_OPCODE_CHI_DIST ; >;
- < "CHISQ.DIST.RT" ; SC_OPCODE_CHI_DIST_MS ; >;
- < "WEIBULL" ; SC_OPCODE_WEIBULL ; >;
- < "WEIBULL.DIST" ; SC_OPCODE_WEIBULL_MS ; >;
- < "NEGBINOMDIST" ; SC_OPCODE_NEG_BINOM_VERT ; >;
- < "NEGBINOM.DIST" ; SC_OPCODE_NEG_BINOM_DIST_MS ; >;
- < "CRITBINOM" ; SC_OPCODE_CRIT_BINOM ; >;
- < "BINOM.INV" ; SC_OPCODE_BINOM_INV ; >;
- < "KURT" ; SC_OPCODE_KURT ; >;
- < "HARMEAN" ; SC_OPCODE_HAR_MEAN ; >;
- < "GEOMEAN" ; SC_OPCODE_GEO_MEAN ; >;
- < "STANDARDIZE" ; SC_OPCODE_STANDARD ; >;
- < "AVEDEV" ; SC_OPCODE_AVE_DEV ; >;
- < "SKEW" ; SC_OPCODE_SKEW ; >;
- < "SKEWP" ; SC_OPCODE_SKEWP ; >;
- < "DEVSQ" ; SC_OPCODE_DEV_SQ ; >;
- < "MEDIAN" ; SC_OPCODE_MEDIAN ; >;
- < "MODE" ; SC_OPCODE_MODAL_VALUE ; >;
- < "MODE.SNGL" ; SC_OPCODE_MODAL_VALUE_MS ; >;
- < "MODE.MULT" ; SC_OPCODE_MODAL_VALUE_MULTI ; >;
- < "ZTEST" ; SC_OPCODE_Z_TEST ; >;
- < "Z.TEST" ; SC_OPCODE_Z_TEST_MS ; >;
- < "AGGREGATE" ; SC_OPCODE_AGGREGATE ; >;
- < "TTEST" ; SC_OPCODE_T_TEST ; >;
- < "T.TEST" ; SC_OPCODE_T_TEST_MS ; >;
- < "RANK" ; SC_OPCODE_RANK ; >;
- < "PERCENTILE" ; SC_OPCODE_PERCENTILE ; >;
- < "PERCENTRANK" ; SC_OPCODE_PERCENT_RANK ; >;
- < "PERCENTILE.INC" ; SC_OPCODE_PERCENTILE_INC ; >;
- < "PERCENTRANK.INC" ; SC_OPCODE_PERCENT_RANK_INC ; >;
- < "QUARTILE.INC" ; SC_OPCODE_QUARTILE_INC ; >;
- < "RANK.EQ" ; SC_OPCODE_RANK_EQ ; >;
- < "PERCENTILE.EXC" ; SC_OPCODE_PERCENTILE_EXC ; >;
- < "PERCENTRANK.EXC" ; SC_OPCODE_PERCENT_RANK_EXC ; >;
- < "QUARTILE.EXC" ; SC_OPCODE_QUARTILE_EXC ; >;
- < "RANK.AVG" ; SC_OPCODE_RANK_AVG ; >;
- < "LARGE" ; SC_OPCODE_LARGE ; >;
- < "SMALL" ; SC_OPCODE_SMALL ; >;
- < "FREQUENCY" ; SC_OPCODE_FREQUENCY ; >;
- < "QUARTILE" ; SC_OPCODE_QUARTILE ; >;
- < "NORMINV" ; SC_OPCODE_NORM_INV ; >;
- < "NORM.INV" ; SC_OPCODE_NORM_INV_MS ; >;
- < "CONFIDENCE" ; SC_OPCODE_CONFIDENCE ; >;
- < "CONFIDENCE.NORM" ; SC_OPCODE_CONFIDENCE_N ; >;
- < "CONFIDENCE.T" ; SC_OPCODE_CONFIDENCE_T ; >;
- < "FTEST" ; SC_OPCODE_F_TEST ; >;
- < "F.TEST" ; SC_OPCODE_F_TEST_MS ; >;
- < "TRIMMEAN" ; SC_OPCODE_TRIM_MEAN ; >;
- < "PROB" ; SC_OPCODE_PROB ; >;
- < "CORREL" ; SC_OPCODE_CORREL ; >;
- < "COVAR" ; SC_OPCODE_COVAR ; >;
- < "COVARIANCE.P" ; SC_OPCODE_COVARIANCE_P ; >;
- < "COVARIANCE.S" ; SC_OPCODE_COVARIANCE_S ; >;
- < "PEARSON" ; SC_OPCODE_PEARSON ; >;
- < "RSQ" ; SC_OPCODE_RSQ ; >;
- < "STEYX" ; SC_OPCODE_STEYX ; >;
- < "SLOPE" ; SC_OPCODE_SLOPE ; >;
- < "INTERCEPT" ; SC_OPCODE_INTERCEPT ; >;
- < "TREND" ; SC_OPCODE_TREND ; >;
- < "GROWTH" ; SC_OPCODE_GROWTH ; >;
- < "LINEST" ; SC_OPCODE_LINEST ; >;
- < "LOGEST" ; SC_OPCODE_LOGEST ; >;
- < "FORECAST" ; SC_OPCODE_FORECAST ; >;
- < "FORECAST.ETS.ADD" ; SC_OPCODE_FORECAST_ETS_ADD ; >;
- < "FORECAST.ETS.SEASONALITY" ; SC_OPCODE_FORECAST_ETS_SEA ; >;
- < "FORECAST.ETS.MULT" ; SC_OPCODE_FORECAST_ETS_MUL ; >;
- < "FORECAST.ETS.PI.ADD" ; SC_OPCODE_FORECAST_ETS_PIA ; >;
- < "FORECAST.ETS.PI.MULT" ; SC_OPCODE_FORECAST_ETS_PIM ; >;
- < "FORECAST.ETS.STAT.ADD" ; SC_OPCODE_FORECAST_ETS_STA ; >;
- < "FORECAST.ETS.STAT.MULT" ; SC_OPCODE_FORECAST_ETS_STM ; >;
- < "FORECAST.LINEAR" ; SC_OPCODE_FORECAST_LIN ; >;
- < "CHIINV" ; SC_OPCODE_CHI_INV ; >;
- < "CHISQ.INV.RT" ; SC_OPCODE_CHI_INV_MS ; >;
- < "GAMMADIST" ; SC_OPCODE_GAMMA_DIST ; >;
- < "GAMMA.DIST" ; SC_OPCODE_GAMMA_DIST_MS ; >;
- < "GAMMAINV" ; SC_OPCODE_GAMMA_INV ; >;
- < "GAMMA.INV" ; SC_OPCODE_GAMMA_INV_MS ; >;
- < "TINV" ; SC_OPCODE_T_INV ; >;
- < "T.INV.2T" ; SC_OPCODE_T_INV_2T ; >;
- < "T.INV" ; SC_OPCODE_T_INV_MS ; >;
- < "FINV" ; SC_OPCODE_F_INV ; >;
- < "F.INV" ; SC_OPCODE_F_INV_LT ; >;
- < "F.INV.RT" ; SC_OPCODE_F_INV_RT ; >;
- < "CHITEST" ; SC_OPCODE_CHI_TEST ; >;
- < "CHISQ.TEST" ; SC_OPCODE_CHI_TEST_MS ; >;
- < "LOGINV" ; SC_OPCODE_LOG_INV ; >;
- < "LOGNORM.INV" ; SC_OPCODE_LOG_INV_MS ; >;
- < "MULTIPLE.OPERATIONS" ; SC_OPCODE_TABLE_OP ; >;
- < "BETADIST" ; SC_OPCODE_BETA_DIST ; >;
- < "BETAINV" ; SC_OPCODE_BETA_INV ; >;
- < "BETA.DIST" ; SC_OPCODE_BETA_DIST_MS ; >;
- < "BETA.INV" ; SC_OPCODE_BETA_INV_MS ; >;
- < "WEEKNUM" ; SC_OPCODE_WEEK ; >;
- < "ISOWEEKNUM" ; SC_OPCODE_ISOWEEKNUM ; >;
- < "WEEKNUM_OOO" ; SC_OPCODE_WEEKNUM_OOO ; >;
- < "EASTERSUNDAY" ; SC_OPCODE_EASTERSUNDAY ; >;
- < "WEEKDAY" ; SC_OPCODE_GET_DAY_OF_WEEK ; >;
- < "NETWORKDAYS" ; SC_OPCODE_NETWORKDAYS ; >;
- < "NETWORKDAYS.INTL" ; SC_OPCODE_NETWORKDAYS_MS ; >;
- < "WORKDAY.INTL" ; SC_OPCODE_WORKDAY_MS ; >;
- < "#NAME!" ; SC_OPCODE_NO_NAME ; >;
- < "STYLE" ; SC_OPCODE_STYLE ; >;
- < "DDE" ; SC_OPCODE_DDE ; >;
- < "BASE" ; SC_OPCODE_BASE ; >;
- < "DECIMAL" ; SC_OPCODE_DECIMAL ; >;
- < "CONVERT_OOO" ; SC_OPCODE_CONVERT_OOO ; >;
- < "ROMAN" ; SC_OPCODE_ROMAN ; >;
- < "HYPERLINK" ; SC_OPCODE_HYPERLINK ; >;
- < "INFO" ; SC_OPCODE_INFO ; >;
- < "BAHTTEXT" ; SC_OPCODE_BAHTTEXT ; >;
- < "GETPIVOTDATA" ; SC_OPCODE_GET_PIVOT_DATA ; >;
- < "EUROCONVERT" ; SC_OPCODE_EUROCONVERT ; >;
- < "NUMBERVALUE" ; SC_OPCODE_NUMBERVALUE ; >;
- < "GAMMA" ; SC_OPCODE_GAMMA ; >;
- < "CHISQDIST" ; SC_OPCODE_CHISQ_DIST ; >;
- < "CHISQ.DIST" ; SC_OPCODE_CHISQ_DIST_MS ; >;
- < "CHISQINV" ; SC_OPCODE_CHISQ_INV ; >;
- < "CHISQ.INV" ; SC_OPCODE_CHISQ_INV_MS ; >;
- < "BITAND" ; SC_OPCODE_BITAND ; >;
- < "BITOR" ; SC_OPCODE_BITOR ; >;
- < "BITXOR" ; SC_OPCODE_BITXOR ; >;
- < "BITRSHIFT" ; SC_OPCODE_BITRSHIFT ; >;
- < "BITLSHIFT" ; SC_OPCODE_BITLSHIFT ; >;
- /* BEGIN defined ERROR.TYPE() values. */
- /* ERROR.TYPE( #NULL! ) == 1 */
- < "#NULL!" ; SC_OPCODE_ERROR_NULL ; >;
- /* ERROR.TYPE( #DIV/0! ) == 2 */
- < "#DIV/0!" ; SC_OPCODE_ERROR_DIVZERO ; >;
- /* ERROR.TYPE( #VALUE! ) == 3 */
- < "#VALUE!" ; SC_OPCODE_ERROR_VALUE ; >;
- /* ERROR.TYPE( #REF! ) == 4 */
- < "#REF!" ; SC_OPCODE_ERROR_REF ; >;
- /* ERROR.TYPE( #NAME! ) == 5 */
- < "#NAME?" ; SC_OPCODE_ERROR_NAME ; >;
- /* ERROR.TYPE( #NUM! ) == 6 */
- < "#NUM!" ; SC_OPCODE_ERROR_NUM ; >;
- /* ERROR.TYPE( #N/A ) == 7 */
- < "#N/A" ; SC_OPCODE_ERROR_NA ; >;
- /* END defined ERROR.TYPE() values. */
-
- < "FILTERXML" ; SC_OPCODE_FILTERXML ; >;
- < "COLOR" ; SC_OPCODE_COLOR ; >;
- < "WEBSERVICE" ; SC_OPCODE_WEBSERVICE ; >;
- < "ERF.PRECISE" ; SC_OPCODE_ERF_MS ; >;
- < "ERFC.PRECISE" ; SC_OPCODE_ERFC_MS ; >;
- < "ENCODEURL" ; SC_OPCODE_ENCODEURL ; >;
- < "RAWSUBTRACT" ; SC_OPCODE_RAWSUBTRACT ; >;
- < "ROUNDSIG" ; SC_OPCODE_ROUNDSIG; >;
- };
-};
-
-StringArray RID_STRLIST_FUNCTION_NAMES_SYMBOLS
-{
- ItemList =
- {
- < "(" ; SC_OPCODE_OPEN ; >;
- < ")" ; SC_OPCODE_CLOSE ; >;
- < "[" ; SC_OPCODE_TABLE_REF_OPEN ; >;
- < "]" ; SC_OPCODE_TABLE_REF_CLOSE ; >;
- < "{" ; SC_OPCODE_ARRAY_OPEN ; >;
- < "}" ; SC_OPCODE_ARRAY_CLOSE ; >;
- < "|" ; SC_OPCODE_ARRAY_ROW_SEP ; >;
- < ";" ; SC_OPCODE_ARRAY_COL_SEP ; >;
- < ";" ; SC_OPCODE_SEP ; >;
- < "%" ; SC_OPCODE_PERCENT_SIGN ; >;
- < "+" ; SC_OPCODE_ADD ; >;
- < "-" ; SC_OPCODE_SUB ; >;
- < "*" ; SC_OPCODE_MUL ; >;
- < "/" ; SC_OPCODE_DIV ; >;
- < "&" ; SC_OPCODE_AMPERSAND ; >;
- < "^" ; SC_OPCODE_POW ; >;
- < "=" ; SC_OPCODE_EQUAL ; >;
- < "<>" ; SC_OPCODE_NOT_EQUAL ; >;
- < "<" ; SC_OPCODE_LESS ; >;
- < ">" ; SC_OPCODE_GREATER ; >;
- < "<=" ; SC_OPCODE_LESS_EQUAL ; >;
- < ">=" ; SC_OPCODE_GREATER_EQUAL ; >;
- < "!" ; SC_OPCODE_INTERSECT ; >;
- < "~" ; SC_OPCODE_UNION ; >;
- < ":" ; SC_OPCODE_RANGE ; >;
- < "-" ; SC_OPCODE_NEG_SUB ; >;
- };
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/formula/source/ui/dlg/formdlgs.hrc b/formula/source/ui/dlg/formdlgs.hrc
index 7704ea146e03..1f213864b89e 100644
--- a/formula/source/ui/dlg/formdlgs.hrc
+++ b/formula/source/ui/dlg/formdlgs.hrc
@@ -17,12 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#define BTN_CANCEL 7
-#define BTN_END 10
-#define ED_FORMULA 17
-#define ED_REF 19
-#define RB_REF 20
-
// For tab page
#define TP_FUNCTION 1
#define TP_STRUCT 2
diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx
index d3a50fd6f0a5..8a1f3a774818 100644
--- a/formula/source/ui/dlg/formula.cxx
+++ b/formula/source/ui/dlg/formula.cxx
@@ -52,7 +52,7 @@
#include "structpg.hxx"
#include "parawin.hxx"
#include "ModuleHelper.hxx"
-#include "ForResId.hrc"
+#include "strings.hrc"
#include <com/sun/star/sheet/FormulaToken.hpp>
#include <com/sun/star/sheet/FormulaLanguage.hpp>
#include <com/sun/star/sheet/FormulaMapGroup.hpp>
diff --git a/formula/source/ui/dlg/funcpage.cxx b/formula/source/ui/dlg/funcpage.cxx
index 466857fabf64..e017a9a6c543 100644
--- a/formula/source/ui/dlg/funcpage.cxx
+++ b/formula/source/ui/dlg/funcpage.cxx
@@ -25,8 +25,6 @@
#include "formula/IFunctionDescription.hxx"
#include "funcpage.hxx"
-#include "formdlgs.hrc"
-#include "ForResId.hrc"
#include "ModuleHelper.hxx"
#include <unotools/syslocale.hxx>
#include <unotools/charclass.hxx>
diff --git a/formula/source/ui/dlg/funcutl.cxx b/formula/source/ui/dlg/funcutl.cxx
index 9b218aa09153..e52628d867e6 100644
--- a/formula/source/ui/dlg/funcutl.cxx
+++ b/formula/source/ui/dlg/funcutl.cxx
@@ -27,7 +27,7 @@
#include "formula/IControlReferenceHandler.hxx"
#include "ControlHelper.hxx"
#include "ModuleHelper.hxx"
-#include "ForResId.hrc"
+#include "strings.hrc"
#include "bitmaps.hlst"
#include "com/sun/star/accessibility/AccessibleRole.hpp"
@@ -521,8 +521,8 @@ RefButton::RefButton( vcl::Window* _pParent, WinBits nStyle ) :
ImageButton(_pParent, nStyle),
aImgRefStart(BitmapEx(RID_BMP_REFBTN1)),
aImgRefDone(BitmapEx(RID_BMP_REFBTN2)),
- aShrinkQuickHelp( ModuleRes( RID_STR_SHRINK ).toString() ),
- aExpandQuickHelp( ModuleRes( RID_STR_EXPAND ).toString() ),
+ aShrinkQuickHelp( ModuleRes( RID_STR_SHRINK ) ),
+ aExpandQuickHelp( ModuleRes( RID_STR_EXPAND ) ),
pAnyRefDlg( nullptr ),
pRefEdit( nullptr )
{
diff --git a/formula/source/ui/dlg/parawin.cxx b/formula/source/ui/dlg/parawin.cxx
index 069a104574a0..f066b40e82a5 100644
--- a/formula/source/ui/dlg/parawin.cxx
+++ b/formula/source/ui/dlg/parawin.cxx
@@ -27,7 +27,7 @@
#include "formula/IFunctionDescription.hxx"
#include <formula/funcvarargs.h>
#include "ModuleHelper.hxx"
-#include "ForResId.hrc"
+#include "strings.hrc"
#include "bitmaps.hlst"
namespace formula
diff --git a/formula/source/ui/dlg/parawin.src b/formula/source/ui/dlg/parawin.src
deleted file mode 100644
index 65e3085d4ce1..000000000000
--- a/formula/source/ui/dlg/parawin.src
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include "ForResId.hrc"
-
-String STR_OPTIONAL
-{
- Text [ en-US ] = "(optional)" ;
-};
-
-String STR_REQUIRED
-{
- Text [ en-US ] = "(required)" ;
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/formula/source/ui/dlg/structpg.cxx b/formula/source/ui/dlg/structpg.cxx
index c4345bb22208..afebc0cba5c8 100644
--- a/formula/source/ui/dlg/structpg.cxx
+++ b/formula/source/ui/dlg/structpg.cxx
@@ -23,12 +23,10 @@
#include "svtools/treelistentry.hxx"
#include "structpg.hxx"
-#include "formdlgs.hrc"
#include "formula/formdata.hxx"
#include "formula/formula.hxx"
#include "ModuleHelper.hxx"
#include "formula/IFunctionDescription.hxx"
-#include "ForResId.hrc"
#include "bitmaps.hlst"
namespace formula
diff --git a/formula/source/ui/inc/ForResId.hrc b/formula/source/ui/inc/ForResId.hrc
deleted file mode 100644
index e41d3aecbba4..000000000000
--- a/formula/source/ui/inc/ForResId.hrc
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef FORMULA_FORRESID_HRC
-#define FORMULA_FORRESID_HRC
-
-#include <svl/solar.hrc>
-
-#define RID_PAGE_START RID_FORMULA_START
-#define RID_ERRORBOX_START RID_FORMULA_START
-#define RID_QUERYBOX_START RID_FORMULA_START
-#define RID_TOOLBOX_START RID_FORMULA_START
-#define RID_BITMAP_START RID_FORMULA_START
-#define RID_IMAGE_START RID_FORMULA_START
-#define RID_IMAGELIST_START RID_FORMULA_START
-#define RID_MENU_START RID_FORMULA_START
-#define RID_STRING_START RID_FORMULA_START
-#define RID_UNTYPED_START RID_FORMULA_START
-#define RID_WARN_START RID_FORMULA_START
-#define RID_CONTROL_START RID_FORMULA_START
-#define RID_MISC_START RID_FORMULA_START
-
-// Dialog Control Id's -----------------------------------------------------------
-
-// strings
-#define RID_STR_SHRINK (RID_STRING_START + 0)
-#define RID_STR_EXPAND (RID_STRING_START + 1)
-#define STR_OPTIONAL (RID_STRING_START + 4)
-#define STR_REQUIRED (RID_STRING_START + 5)
-#define STR_END (RID_STRING_START + 6)
-#define STR_TITLE1 (RID_STRING_START + 7)
-#define STR_TITLE2 (RID_STRING_START + 8)
-
-#endif // FORMULA_FORRESID_HRC
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/formula/source/ui/inc/ModuleHelper.hxx b/formula/source/ui/inc/ModuleHelper.hxx
index 00dca8171167..c5e92847b701 100644
--- a/formula/source/ui/inc/ModuleHelper.hxx
+++ b/formula/source/ui/inc/ModuleHelper.hxx
@@ -25,8 +25,6 @@
namespace formula
{
-
-
//= OModule
class OModuleClient;
@@ -44,7 +42,7 @@ namespace formula
public:
/// get the vcl res manager of the module
- static ResMgr* getResManager();
+ static const std::locale& getResLocale();
protected:
/// register a client for the module
static void registerClient();
@@ -58,20 +56,10 @@ namespace formula
static void ensureImpl();
};
-
//= ModuleRes
-
- /** specialized ResId, using the resource manager provided by the global module
- */
- class ModuleRes : public ::ResId
- {
- public:
- ModuleRes(sal_uInt16 _nId) : ResId(_nId, *OModule::getResManager()) { }
- };
-
+ OUString ModuleRes(const char *pId);
} // namespace formula
-
#endif // INCLUDED_FORMULA_SOURCE_UI_INC_MODULEHELPER_HXX
diff --git a/formula/source/ui/resource/ModuleHelper.cxx b/formula/source/ui/resource/ModuleHelper.cxx
index febf61729092..80636792aa14 100644
--- a/formula/source/ui/resource/ModuleHelper.cxx
+++ b/formula/source/ui/resource/ModuleHelper.cxx
@@ -26,6 +26,8 @@
#include <rtl/instance.hxx>
#include <rtl/uri.hxx>
#include <svl/solar.hrc>
+#include <vcl/settings.hxx>
+#include <vcl/svapp.hxx>
#define ENTER_MOD_METHOD() \
::osl::MutexGuard aGuard(theOModuleMutex::get()); \
@@ -43,34 +45,32 @@ namespace formula
*/
class OModuleImpl
{
- std::unique_ptr<ResMgr> m_pResources;
+ std::unique_ptr<std::locale> m_xResources;
public:
/// ctor
OModuleImpl();
/// get the manager for the resources of the module
- ResMgr* getResManager();
+ const std::locale& getResLocale();
};
OModuleImpl::OModuleImpl()
{
}
-
-ResMgr* OModuleImpl::getResManager()
+const std::locale& OModuleImpl::getResLocale()
{
// note that this method is not threadsafe, which counts for the whole class !
- if (!m_pResources)
+ if (!m_xResources)
{
// create a manager with a fixed prefix
- m_pResources.reset( ResMgr::CreateResMgr("forui") );
+ m_xResources.reset(new std::locale(Translate::Create("for", Application::GetSettings().GetUILanguageTag())));
}
- return m_pResources.get();
+ return *m_xResources;
}
-
//= OModule
namespace
@@ -81,13 +81,12 @@ namespace
sal_Int32 OModule::s_nClients = 0;
OModuleImpl* OModule::s_pImpl = nullptr;
-ResMgr* OModule::getResManager()
+const std::locale& OModule::getResLocale()
{
ENTER_MOD_METHOD();
- return s_pImpl->getResManager();
+ return s_pImpl->getResLocale();
}
-
void OModule::registerClient()
{
::osl::MutexGuard aGuard(theOModuleMutex::get());
@@ -113,6 +112,10 @@ void OModule::ensureImpl()
s_pImpl = new OModuleImpl();
}
+OUString ModuleRes(const char *pId)
+{
+ return Translate::get(pId, OModule::getResLocale());
+};
} // namespace formula
diff --git a/formula/uiconfig/ui/formuladialog.ui b/formula/uiconfig/ui/formuladialog.ui
index 613272bc13ce..992da1afa011 100644
--- a/formula/uiconfig/ui/formuladialog.ui
+++ b/formula/uiconfig/ui/formuladialog.ui
@@ -19,7 +19,7 @@
<property name="layout_style">end</property>
<child>
<object class="GtkCheckButton" id="array">
- <property name="label" translatable="yes">Array</property>
+ <property name="label" translatable="yes" context="formuladialog|array">Array</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -54,7 +54,7 @@
</child>
<child>
<object class="GtkButton" id="back">
- <property name="label" translatable="yes">&lt;&lt; _Back</property>
+ <property name="label" translatable="yes" context="formuladialog|back">&lt;&lt; _Back</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -69,7 +69,7 @@
</child>
<child>
<object class="GtkButton" id="next">
- <property name="label" translatable="yes">_Next &gt;&gt;</property>
+ <property name="label" translatable="yes" context="formuladialog|next">_Next &gt;&gt;</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -149,7 +149,7 @@
<object class="GtkLabel" id="function">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Functions</property>
+ <property name="label" translatable="yes" context="formuladialog|function">Functions</property>
</object>
<packing>
<property name="tab_fill">False</property>
@@ -162,7 +162,7 @@
<object class="GtkLabel" id="struct">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Structure</property>
+ <property name="label" translatable="yes" context="formuladialog|struct">Structure</property>
</object>
<packing>
<property name="position">1</property>
@@ -200,7 +200,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Function result</property>
+ <property name="label" translatable="yes" context="formuladialog|label2">Function result</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">result</property>
</object>
@@ -341,7 +341,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
- <property name="label" translatable="yes">For_mula</property>
+ <property name="label" translatable="yes" context="formuladialog|formula">For_mula</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">ed_formula</property>
<property name="yalign">1</property>
@@ -356,7 +356,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="label" translatable="yes">Result</property>
+ <property name="label" translatable="yes" context="formuladialog|label1">Result</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">formula_result</property>
</object>
@@ -391,7 +391,7 @@
<property name="hexpand">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="ed_formula-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Formula</property>
+ <property name="AtkObject::accessible-name" translatable="yes" context="formuladialog|ed_formula-atkobject">Formula</property>
</object>
</child>
</object>
@@ -440,7 +440,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Maximize</property>
+ <property name="tooltip_text" translatable="yes" context="formuladialog|RB_REF|tooltip_text">Maximize</property>
<property name="halign">end</property>
</object>
<packing>
diff --git a/formula/uiconfig/ui/functionpage.ui b/formula/uiconfig/ui/functionpage.ui
index a382836741a4..68d13b0475cf 100644
--- a/formula/uiconfig/ui/functionpage.ui
+++ b/formula/uiconfig/ui/functionpage.ui
@@ -16,7 +16,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Search</property>
+ <property name="label" translatable="yes" context="functionpage|label_search">_Search</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">search</property>
</object>
@@ -44,7 +44,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Category</property>
+ <property name="label" translatable="yes" context="functionpage|label1">_Category</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">category</property>
</object>
@@ -60,8 +60,8 @@
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<items>
- <item translatable="yes">Last Used</item>
- <item translatable="yes">All</item>
+ <item translatable="yes" context="functionpage|category">Last Used</item>
+ <item translatable="yes" context="functionpage|category">All</item>
</items>
</object>
<packing>
@@ -75,7 +75,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Function</property>
+ <property name="label" translatable="yes" context="functionpage|label2">_Function</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">function</property>
</object>
diff --git a/formula/uiconfig/ui/parameter.ui b/formula/uiconfig/ui/parameter.ui
index 2677c9266e6f..efc394152239 100644
--- a/formula/uiconfig/ui/parameter.ui
+++ b/formula/uiconfig/ui/parameter.ui
@@ -27,7 +27,7 @@
<property name="hexpand">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
- <property name="label" translatable="yes">Function not known</property>
+ <property name="label" translatable="yes" context="parameter|editdesc">Function not known</property>
<property name="wrap">True</property>
</object>
<packing>
@@ -276,7 +276,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Select</property>
+ <property name="tooltip_text" translatable="yes" context="parameter|RB_ARG1|tooltip_text">Select</property>
<property name="halign">end</property>
</object>
<packing>
@@ -292,7 +292,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Select</property>
+ <property name="tooltip_text" translatable="yes" context="parameter|RB_ARG2|tooltip_text">Select</property>
<property name="halign">end</property>
</object>
<packing>
@@ -308,7 +308,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Select</property>
+ <property name="tooltip_text" translatable="yes" context="parameter|RB_ARG3|tooltip_text">Select</property>
<property name="halign">end</property>
</object>
<packing>
@@ -324,7 +324,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Select</property>
+ <property name="tooltip_text" translatable="yes" context="parameter|RB_ARG4|tooltip_text">Select</property>
<property name="halign">end</property>
</object>
<packing>
diff --git a/formula/uiconfig/ui/structpage.ui b/formula/uiconfig/ui/structpage.ui
index b1256231d398..7abdf57e9b6b 100644
--- a/formula/uiconfig/ui/structpage.ui
+++ b/formula/uiconfig/ui/structpage.ui
@@ -16,7 +16,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="label" translatable="yes">_Structure</property>
+ <property name="label" translatable="yes" context="structpage|label1">_Structure</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">struct</property>
</object>