var Ha = Object.defineProperty; var Ya = (n, e, a) => e in n ? Ha(n, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : n[e] = a; var X = (n, e, a) => Ya(n, typeof e != "symbol" ? e + "" : e, a); import { CommandType as ma, ICommandService as de, ObjectMatrix as w, Tools as Ne, Rectangle as De, cellToRange as fa, Direction as He, isFormulaString as be, isFormulaId as ca, getIntersectRange as Ve, RANGE_TYPE as Y, Inject as W, Disposable as te, UniverInstanceType as ee, IUniverInstanceService as xe, LifecycleService as wa, LocaleService as Ot, ILogService as Xa, IConfigService as _e, Injector as at, createIdentifier as Mt, toDisposable as se, moveRangeByOffset as Et, DisposableCollection as Ye, AbsoluteRefType as we, Optional as Wa, Dimension as Bt, InterceptorEffectEnum as Ka, CellValueType as vt, isRealNum as Qa, DependentOn as la, Plugin as sa, merge as pa, touchDependencies as qe, isNodeEnv as Vt } from "@univerjs/core"; import { SetRangeValuesCommand as ka, SetRangeValuesMutation as ie, handleMoveRange as da, EffectRefRangId as G, runRefRangeMutations as H, handleMoveRows as La, handleMoveCols as Pa, handleInsertRow as Ta, handleInsertCol as Ea, handleIRemoveRow as Ia, handleIRemoveCol as Na, handleDeleteRangeMoveLeft as Ra, handleDeleteRangeMoveUp as Aa, handleInsertRangeMoveDown as Sa, handleInsertRangeMoveRight as Ca, RemoveDefinedNameCommand as Da, SetDefinedNameCommand as ba, RemoveSheetCommand as $a, SetWorksheetNameCommand as ja, DeleteRangeMoveLeftCommand as za, DeleteRangeMoveUpCommand as Za, RemoveColCommand as Ja, RemoveRowCommand as en, InsertRangeMoveDownCommand as tn, InsertRangeMoveRightCommand as an, InsertColCommand as nn, InsertRowCommand as rn, MoveColsCommand as on, MoveRowsCommand as un, MoveRangeCommand as mn, SheetInterceptorService as xt, SetStyleCommand as _t, SetBorderCommand as Oa, ClearSelectionFormatCommand as Ma, RemoveSheetMutation as It, InsertSheetMutation as Nt, RefRangeService as fn, handleDefaultRangeChangeWithEffectRefCommands as Gt, getSeparateEffectedRangesOnCommand as cn, handleCommonDefaultRangeChangeWithEffectRefCommands as ln, MoveRangeMutation as Ht, MoveRowsMutation as Yt, MoveColsMutation as wt, ReorderRangeMutation as Xt, RemoveRowMutation as Wt, RemoveColMutation as Kt, InsertColMutation as Qt, InsertRowMutation as kt, INTERCEPTOR_POINT as sn, SetWorksheetActiveOperation as pn, SCOPE_WORKBOOK_VALUE_DEFINED_NAME as mt, UniverSheetsPlugin as dn } from "@univerjs/sheets"; import { sequenceNodeType as J, deserializeRangeWithSheetWithCache as pe, serializeRangeToRefString as nt, ErrorType as j, LexerTreeBuilder as yt, generateStringWithSequence as Xe, SetDefinedNameMutation as Me, IDefinedNamesService as qt, SetFormulaCalculationResultMutation as Ln, RemoveOtherFormulaMutation as Pn, IActiveDirtyManagerService as gt, SetOtherFormulaMutation as Tn, FormulaDataModel as it, SetFormulaCalculationStartMutation as Se, SetFormulaCalculationStopMutation as $t, ENGINE_FORMULA_CYCLE_REFERENCE_COUNT as jt, SetFormulaCalculationNotificationMutation as En, FormulaExecuteStageType as ge, FormulaExecutedStateType as Re, SetFormulaDataMutation as he, SetArrayFormulaDataMutation as Rt, initSheetFormulaData as zt, FUNCTION_NAMES_ARRAY as Zt, FunctionType as t, FUNCTION_NAMES_COMPATIBILITY as _, FUNCTION_NAMES_CUBE as ce, FUNCTION_NAMES_DATABASE as $, FUNCTION_NAMES_DATE as B, FUNCTION_NAMES_ENGINEERING as A, FUNCTION_NAMES_FINANCIAL as C, FUNCTION_NAMES_INFORMATION as v, FUNCTION_NAMES_LOGICAL as K, FUNCTION_NAMES_LOOKUP as y, FUNCTION_NAMES_MATH as T, FUNCTION_NAMES_STATISTICAL as l, FUNCTION_NAMES_TEXT as D, FUNCTION_NAMES_WEB as ft, isReferenceStrings as In, functionArray as Nn, functionCompatibility as Rn, functionCube as An, functionDatabase as Sn, functionDate as Cn, functionEngineering as Dn, functionFinancial as bn, functionInformation as On, functionLogical as Mn, functionLookup as xn, functionMath as _n, functionMeta as yn, functionStatistical as qn, functionText as gn, functionUniver as hn, functionWeb as Un, IFunctionService as ht, serializeRangeWithSpreadsheet as Jt, serializeRangeWithSheet as ea, serializeRange as ta, CustomFunction as At, AsyncCustomFunction as xa, RemoveDefinedNameMutation as St, stripErrorMargin as Fn, UniverFormulaEnginePlugin as _a } from "@univerjs/engine-formula"; import { Subject as aa, BehaviorSubject as ya, bufferWhen as Bn, filter as na, map as vn } from "rxjs"; import { IRPCChannelService as qa, fromModule as Vn, toModule as Gn } from "@univerjs/rpc"; const Hn = { id: "formula.command.insert-function", type: ma.COMMAND, handler: async (n, e) => { const { list: a } = e, i = n.get(de), r = new w(); a.forEach((u) => { const { range: m, primary: f, formula: s } = u, { row: p, column: d } = f, L = Ne.generateRandomId(6); r.setValue(p, d, { f: s, si: L }); const { startRow: E, startColumn: I, endRow: S, endColumn: c } = m; for (let N = E; N <= S; N++) for (let R = I; R <= c; R++) (N !== p || R !== d) && r.setValue(N, R, { si: L }); }); const o = { value: r.getData() }; return i.executeCommand(ka.id, o); } }, Ge = { type: ma.MUTATION, id: "sheet.mutation.data-validation-formula-mark-dirty", handler() { return !0; } }; function Yn(n, e, a) { var i; return n == null || n[e] == null || ((i = n[e]) == null ? void 0 : i[a]) == null; } function ct(n, e, a) { var i; if (a) { if (n && n[e] && ((i = n[e]) != null && i[a])) return delete n[e][a], { [e]: { [a]: null } }; } else if (n && n[e]) return delete n[e], { [e]: null }; } var q = /* @__PURE__ */ ((n) => (n[n.MoveRange = 0] = "MoveRange", n[n.MoveRows = 1] = "MoveRows", n[n.MoveCols = 2] = "MoveCols", n[n.InsertRow = 3] = "InsertRow", n[n.InsertColumn = 4] = "InsertColumn", n[n.RemoveRow = 5] = "RemoveRow", n[n.RemoveColumn = 6] = "RemoveColumn", n[n.DeleteMoveLeft = 7] = "DeleteMoveLeft", n[n.DeleteMoveUp = 8] = "DeleteMoveUp", n[n.InsertMoveDown = 9] = "InsertMoveDown", n[n.InsertMoveRight = 10] = "InsertMoveRight", n[n.SetName = 11] = "SetName", n[n.RemoveSheet = 12] = "RemoveSheet", n[n.SetDefinedName = 13] = "SetDefinedName", n[n.RemoveDefinedName = 14] = "RemoveDefinedName", n))(q || {}); const wn = [ 11, 12, 13, 14 /* RemoveDefinedName */ ]; function Xn(n, e, a) { const { type: i } = a; return wn.includes(i) ? Wn(n, e) : Kn(n, e, a); } function Wn(n, e) { const a = [], i = []; return Object.keys(e).forEach((r) => { const o = e[r], u = n[r]; if (o == null || u == null) return !0; Object.keys(o).forEach((m) => { const f = new w(o[m] || {}), s = new w(u[m] || {}), p = new w(), d = new w(); if (f.forValue((c, N, R) => { if (R == null) return !0; const P = rt(R); P !== null && (p.setValue(c, N, P), d.setValue(c, N, s.getValue(c, N))); }), p.getSizeOf() === 0) return; const L = { subUnitId: m, unitId: r, cellValue: p.getMatrix() }, E = { id: ie.id, params: L }; i.push(E); const I = { subUnitId: m, unitId: r, cellValue: d.getMatrix() }, S = { id: ie.id, params: I }; a.push(S); }); }), { undos: a, redos: i }; } function Kn(n, e, a) { const { redoFormulaData: i, undoFormulaData: r } = Qn(n, e, a); if (Ne.diffValue(i, r)) return { undos: [], redos: [] }; const o = [], u = []; return Object.keys(i).forEach((m) => { Object.keys(i[m]).forEach((f) => { if (Object.keys(i[m][f]).length !== 0) { const s = { subUnitId: f, unitId: m, cellValue: i[m][f] }, p = { id: ie.id, params: s }; o.push(p); } }); }), Object.keys(r).forEach((m) => { Object.keys(r[m]).forEach((f) => { if (Object.keys(r[m][f]).length !== 0) { const s = { subUnitId: f, unitId: m, cellValue: r[m][f] }, p = { id: ie.id, params: s }; u.push(p); } }); }), { undos: u, redos: o }; } function Qn(n, e, a) { const i = {}, r = {}, { type: o, unitId: u, sheetId: m, range: f, from: s, to: p } = a; return (/* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(e)])).forEach((L) => { if (Yn(n, L, m)) return; (/* @__PURE__ */ new Set([ ...Object.keys(n[L] || {}), ...Object.keys(e[L] || {}) ])).forEach((I) => { var F, U; const S = (F = n[L]) == null ? void 0 : F[I], c = (U = e[L]) == null ? void 0 : U[I], N = new w(S || {}), R = new w(c || {}); let P = []; L !== u || I !== m ? P = $n(R) : P = kn(N, o, s, p, f); const O = fi(P, N, R), M = ci(P, N); i[L] || (i[L] = {}), r[L] || (r[L] = {}), i[L][I] = { ...i[L][I], ...O }, r[L][I] = { ...r[L][I], ...M }; }); }), { redoFormulaData: i, undoFormulaData: r }; } function kn(n, e, a, i, r) { const o = []; return n.forValue((u, m, f) => { if (f == null || !ga(f)) return !0; const s = fa(u, m); let p = null, d = !1; if ([ 0, 1, 2 /* MoveCols */ ].includes(e)) p = jn(e, a, i, s); else if (r != null) { const L = zn(e, r, s); p = L.newCell, d = L.isReverse; } d ? o.unshift({ oldCell: s, newCell: p }) : o.push({ oldCell: s, newCell: p }); }), o; } function $n(n) { const e = []; return n.forValue((a, i, r) => { if (r == null || !ga(r)) return !0; const o = fa(a, i); e.push({ oldCell: o, newCell: o }); }), e; } function jn(n, e, a, i) { if (e == null || a == null) return null; switch (n) { case 0: return Zn(e, a, i); case 1: return Jn(e, a, i); case 2: return ei(e, a, i); default: return null; } } function zn(n, e, a) { let i = null, r = !1; switch (n) { case 3: i = ti(e, a), r = !0; break; case 4: i = ai(e, a), r = !0; break; case 5: i = ni(e, a); break; case 6: i = ii(e, a); break; case 7: i = ri(e, a); break; case 8: i = oi(e, a); break; case 9: i = ui(e, a), r = !0; break; case 10: i = mi(e, a), r = !0; break; } return { newCell: i, isReverse: r }; } function Zn(n, e, a) { const i = da( { id: G.MoveRangeCommandId, params: { toRange: e, fromRange: n } }, a ); return H(i, a); } function Jn(n, e, a) { const i = La( { id: G.MoveRowsCommandId, params: { toRange: e, fromRange: n } }, a ); return H(i, a); } function ei(n, e, a) { const i = Pa( { id: G.MoveColsCommandId, params: { toRange: e, fromRange: n } }, a ); return H(i, a); } function ti(n, e) { const a = Ta( { id: G.InsertRowCommandId, params: { range: n, unitId: "", subUnitId: "", direction: He.DOWN } }, e ); return H(a, e); } function ai(n, e) { const a = Ea( { id: G.InsertColCommandId, params: { range: n, unitId: "", subUnitId: "", direction: He.RIGHT } }, e ); return H(a, e); } function ni(n, e) { const a = Ia( { id: G.RemoveRowCommandId, params: { range: n } }, e ); return H(a, e); } function ii(n, e) { const a = Na( { id: G.RemoveColCommandId, params: { range: n } }, e ); return H(a, e); } function ri(n, e) { const a = Ra( { id: G.DeleteRangeMoveLeftCommandId, params: { range: n } }, e ); return H(a, e); } function oi(n, e) { const a = Aa( { id: G.DeleteRangeMoveUpCommandId, params: { range: n } }, e ); return H(a, e); } function ui(n, e) { const a = Sa( { id: G.InsertRangeMoveDownCommandId, params: { range: n } }, e ); return H(a, e); } function mi(n, e) { const a = Ca( { id: G.InsertRangeMoveRightCommandId, params: { range: n } }, e ); return H(a, e); } function fi(n, e, a) { const i = new w({}); return n.forEach((r) => { const { oldCell: o, newCell: u } = r, { startRow: m, startColumn: f } = o, s = a.getValue(m, f) || e.getValue(m, f), p = rt(s); if (i.setValue(m, f, { f: null, si: null }), u) { const { startRow: d, startColumn: L } = u; i.setValue(d, L, p); } }), i.getMatrix(); } function ci(n, e) { const a = new w({}); return n.reverse().forEach((i) => { const { oldCell: r, newCell: o } = i, { startRow: u, startColumn: m } = r, f = e.getValue(u, m), s = rt(f); if (o) { const { startRow: p, startColumn: d } = o; a.setValue(p, d, { f: null, si: null }); } a.setValue(u, m, s); }), a.getMatrix(); } function rt(n) { if (n == null) return; const { f: e, si: a, x: i = 0, y: r = 0 } = n, o = be(e), u = ca(a); if (!o && !u) return { f: null, si: null }; const m = {}; return u && (m.si = a), o && i === 0 && r === 0 && (m.f = e), m.f === void 0 && (m.f = null), m.si === void 0 && (m.si = null), m; } function li(n) { const e = new w({}); return new w(n).forValue((i, r, o) => { const u = rt(o); u && e.setValue(i, r, u); }), e.getMatrix(); } function ga(n) { const e = (n == null ? void 0 : n.f) || "", a = (n == null ? void 0 : n.si) || "", i = be(e), r = ca(a); return !!(i || r); } function ha(n, e, a, i, r, o) { if ((r == null || r.length === 0) && (o == null || o.length === 0)) { if (n === a && e === i) return !0; } else if ((n === r || r == null || r.length === 0) && e === o) return !0; return !1; } function Ua(n, e, a = 0, i = 0) { const r = []; for (let o = 0, u = n.length; o < u; o++) { const m = n[o]; if (typeof m == "string" || m.nodeType !== J.REFERENCE || e.includes(o)) { r.push(m); continue; } const { token: f } = m, s = pe(f), { range: p, sheetName: d, unitId: L } = s, E = De.moveOffset(p, a, i); r.push({ ...m, token: nt({ range: E, unitId: L, sheetName: d }) }); } return r; } function Fa(n, e, a, i) { const { type: r, unitId: o, sheetId: u, range: m, from: f, to: s } = e, { range: p, sheetId: d, unitId: L, sheetName: E, refOffsetX: I, refOffsetY: S } = n; if (!ha( o, u, a, i, L, d )) return; const c = De.moveOffset(p, I, S); let N = null; if (r === q.MoveRange) { if (f == null || s == null) return; const R = st(c, f), P = Ve(c, f); if (P == null || R !== 4) return; const O = da( { id: G.MoveRangeCommandId, params: { toRange: s, fromRange: f } }, P ), M = H(O, P); if (M == null) return j.REF; N = lt(R, M, f, s, c, P); } else if (r === q.MoveRows) { if (f == null || s == null) return; const R = st(c, f); let P = Ve(c, f); if (P == null && (f.endRow < c.startRow && s.endRow < c.startRow || f.startRow > c.endRow && s.startRow > c.endRow)) return; P == null && (P = { startRow: c.startRow, endRow: c.endRow, startColumn: c.startColumn, endColumn: c.endColumn, rangeType: Y.NORMAL }); const O = La( { id: G.MoveRowsCommandId, params: { toRange: s, fromRange: f } }, P ), M = H(O, P); if (M == null) return j.REF; N = lt(R, M, f, s, c, P); } else if (r === q.MoveCols) { if (f == null || s == null) return; const R = st(c, f); let P = Ve(c, f); if (P == null && (f.endColumn < c.startColumn && s.endColumn < c.startColumn || f.startColumn > c.endColumn && s.startColumn > c.endColumn)) return; P == null && (P = { startRow: c.startRow, endRow: c.endRow, startColumn: c.startColumn, endColumn: c.endColumn, rangeType: Y.NORMAL }); const O = Pa( { id: G.MoveColsCommandId, params: { toRange: s, fromRange: f } }, P ), M = H(O, P); if (M == null) return j.REF; N = lt(R, M, f, s, c, P); } if (m != null) { if (r === q.InsertRow) { const R = Ta( { id: G.InsertRowCommandId, params: { range: m, unitId: "", subUnitId: "", direction: He.DOWN } }, c ), P = H(R, c); if (P == null) return; N = { ...c, ...P }; } else if (r === q.InsertColumn) { const R = Ea( { id: G.InsertColCommandId, params: { range: m, unitId: "", subUnitId: "", direction: He.RIGHT } }, c ), P = H(R, c); if (P == null) return; N = { ...c, ...P }; } else if (r === q.RemoveRow) { const R = Ia( { id: G.RemoveRowCommandId, params: { range: m } }, c ), P = H(R, c); if (P == null) return j.REF; N = { ...c, ...P }; } else if (r === q.RemoveColumn) { const R = Na( { id: G.RemoveColCommandId, params: { range: m } }, c ), P = H(R, c); if (P == null) return j.REF; N = { ...c, ...P }; } else if (r === q.DeleteMoveLeft) { const R = Ra( { id: G.DeleteRangeMoveLeftCommandId, params: { range: m } }, c ), P = H(R, c); if (P == null) return j.REF; N = { ...c, ...P }; } else if (r === q.DeleteMoveUp) { const R = Aa( { id: G.DeleteRangeMoveUpCommandId, params: { range: m } }, c ), P = H(R, c); if (P == null) return j.REF; N = { ...c, ...P }; } else if (r === q.InsertMoveDown) { const R = Sa( { id: G.InsertRangeMoveDownCommandId, params: { range: m } }, c ), P = H(R, c); if (P == null) return; N = { ...c, ...P }; } else if (r === q.InsertMoveRight) { const R = Ca( { id: G.InsertRangeMoveRightCommandId, params: { range: m } }, c ), P = H(R, c); if (P == null) return; N = { ...c, ...P }; } } if (N != null) return nt({ range: N, sheetName: E, unitId: L }); } function lt(n, e, a, i, r, o) { const { startRow: u, endRow: m, startColumn: f, endColumn: s, rangeType: p } = Ae(e), { startRow: d, startColumn: L, endRow: E, endColumn: I, rangeType: S = Y.NORMAL } = Ae(a), { startRow: c, startColumn: N, endRow: R, endColumn: P } = Ae(i), { startRow: O, endRow: M, startColumn: F, endColumn: U } = Ae(o), { startRow: g, endRow: x, startColumn: h, endColumn: V, rangeType: k = Y.NORMAL } = Ae(r), b = { ...r }; function Le() { return p === Y.COLUMN && k === Y.COLUMN ? !0 : f >= h && s <= V; } function ae() { return p === Y.ROW && k === Y.ROW ? !0 : u >= g && m <= x; } if (n === 0) if (Le()) if (u < g) b.startRow = u; else if (u >= x) b.endRow -= E + 1 - g; else return; else return; else if (n === 1) if (Le()) if (m > x) b.endRow = m; else if (m <= g) b.startRow += x - d + 1; else return; else return; else if (n === 2) if (ae()) if (f < h) b.startColumn = f; else if (f >= V) b.endColumn -= I + 1 - h; else return; else return; else if (n === 3) if (ae()) if (s > V) b.endColumn = s; else if (s <= h) b.startColumn += V - L + 1; else return; else return; else n === 4 ? (b.startRow = u, b.startColumn = f, b.endRow = m, b.endColumn = s) : L <= h && I >= V || S === Y.ROW && k === Y.ROW ? a.endRow < g ? (c >= g && (b.startRow -= E - d + 1), c >= x && (b.endRow -= E - d + 1)) : a.startRow > x ? (R <= x && (b.endRow += E - d + 1), R <= g && (b.startRow += E - d + 1)) : a.startRow >= g && a.endRow <= x && (c <= g ? b.startRow += E - d + 1 : c >= x && (b.endRow -= E - d + 1)) : d <= g && E >= x || S === Y.COLUMN && k === Y.COLUMN ? a.endColumn < h ? (N >= h && (b.startColumn -= I - L + 1), N >= V && (b.endColumn -= I - L + 1)) : a.startColumn > V ? (P <= V && (b.endColumn += I - L + 1), P <= h && (b.startColumn += I - L + 1)) : a.startColumn >= h && a.endColumn <= V && (N <= h ? b.startColumn += I - L + 1 : N >= V && (b.endColumn -= I - L + 1)) : ((N <= U + 1 && P >= V || N <= h && P >= F - 1) && c <= g && R >= x || (c <= M + 1 && R >= x || c <= g && R >= O - 1) && N <= h && P >= V, b.startRow = u, b.startColumn = f, b.endRow = m, b.endColumn = s); return b; } function st(n, e) { const a = Ee(n.startRow), i = Ie(n.endRow), r = Ee(n.startColumn), o = Ie(n.endColumn), u = Ee(e.startRow), m = Ie(e.endRow), f = Ee(e.startColumn), s = Ie(e.endColumn); function p() { return n.rangeType === Y.COLUMN && e.rangeType === Y.COLUMN ? !0 : a >= u && i <= m; } function d() { return n.rangeType === Y.ROW && e.rangeType === Y.ROW ? !0 : r >= f && o <= s; } function L() { return n.rangeType === Y.ALL && e.rangeType === Y.ALL; } return p() && d() || L() ? 4 : d() && a >= u && a <= m && i > m ? 0 : d() && i >= u && i <= m && a < u ? 1 : p() && r >= f && r <= s && o > s ? 2 : p() && o >= f && o <= s && r < f ? 3 : null; } function Ee(n) { return isNaN(n) ? -1 / 0 : n; } function Ie(n) { return isNaN(n) ? 1 / 0 : n; } function Ae(n) { const { startRow: e, endRow: a, startColumn: i, endColumn: r } = n; return { ...n, startRow: Ee(e), endRow: Ie(a), startColumn: Ee(i), endColumn: Ie(r) }; } function Ba(n, e) { const { id: a } = e; let i = null; switch (a) { case mn.id: i = si(e, n); break; case un.id: i = pi(e, n); break; case on.id: i = di(e, n); break; case rn.id: i = Li(e); break; case nn.id: i = Pi(e); break; case an.id: i = Ti(e, n); break; case tn.id: i = Ei(e, n); break; case en.id: i = Ii(e, n); break; case Ja.id: i = Ni(e, n); break; case Za.id: i = Ri(e, n); break; case za.id: i = Ai(e, n); break; case ja.id: i = Si(e, n); break; case $a.id: i = Ci(e, n); break; case ba.id: i = Di(e, n); break; case Da.id: i = bi(e, n); break; } return i; } function Z(n) { var i; const e = n.getUnitId(), a = ((i = n.getActiveSheet()) == null ? void 0 : i.getSheetId()) || ""; return { unitId: e, sheetId: a }; } function si(n, e) { const { params: a } = n; if (!a) return null; const { fromRange: i, toRange: r } = a; if (!i || !r) return null; const { unitId: o, sheetId: u } = Z(e); return { type: q.MoveRange, from: i, to: r, unitId: o, sheetId: u }; } function pi(n, e) { const { params: a } = n; if (!a) return null; const { fromRange: { startRow: i, endRow: r }, toRange: { startRow: o, endRow: u } } = a, m = e.getUnitId(), f = e.getActiveSheet(); if (!f) return null; const s = f.getSheetId(), p = { startRow: i, startColumn: 0, endRow: r, endColumn: f.getColumnCount() - 1, rangeType: Y.ROW }, d = { startRow: o, startColumn: 0, endRow: u, endColumn: f.getColumnCount() - 1, rangeType: Y.ROW }; return { type: q.MoveRows, from: p, to: d, unitId: m, sheetId: s }; } function di(n, e) { const { params: a } = n; if (!a) return null; const { fromRange: { startColumn: i, endColumn: r }, toRange: { startColumn: o, endColumn: u } } = a, m = e.getUnitId(), f = e.getActiveSheet(); if (!f) return null; const s = f.getSheetId(), p = { startRow: 0, startColumn: i, endRow: f.getRowCount() - 1, endColumn: r, rangeType: Y.COLUMN }, d = { startRow: 0, startColumn: o, endRow: f.getRowCount() - 1, endColumn: u, rangeType: Y.COLUMN }; return { type: q.MoveCols, from: p, to: d, unitId: m, sheetId: s }; } function Li(n) { const { params: e } = n; if (!e) return null; const { range: a, unitId: i, subUnitId: r } = e; return { type: q.InsertRow, range: a, unitId: i, sheetId: r }; } function Pi(n) { const { params: e } = n; if (!e) return null; const { range: a, unitId: i, subUnitId: r } = e; return { type: q.InsertColumn, range: a, unitId: i, sheetId: r }; } function Ti(n, e) { const { params: a } = n; if (!a) return null; const { range: i } = a, { unitId: r, sheetId: o } = Z(e); return { type: q.InsertMoveRight, range: i, unitId: r, sheetId: o }; } function Ei(n, e) { const { params: a } = n; if (!a) return null; const { range: i } = a, { unitId: r, sheetId: o } = Z(e); return { type: q.InsertMoveDown, range: i, unitId: r, sheetId: o }; } function Ii(n, e) { const { params: a } = n; if (!a) return null; const { range: i } = a, { unitId: r, sheetId: o } = Z(e); return { type: q.RemoveRow, range: i, unitId: r, sheetId: o }; } function Ni(n, e) { const { params: a } = n; if (!a) return null; const { range: i } = a, { unitId: r, sheetId: o } = Z(e); return { type: q.RemoveColumn, range: i, unitId: r, sheetId: o }; } function Ri(n, e) { const { params: a } = n; if (!a) return null; const { range: i } = a, { unitId: r, sheetId: o } = Z(e); return { type: q.DeleteMoveUp, range: i, unitId: r, sheetId: o }; } function Ai(n, e) { const { params: a } = n; if (!a) return null; const { range: i } = a, { unitId: r, sheetId: o } = Z(e); return { type: q.DeleteMoveLeft, range: i, unitId: r, sheetId: o }; } function Si(n, e) { const { params: a } = n; if (!a) return null; const { unitId: i, subUnitId: r, name: o } = a, { unitId: u, sheetId: m } = Z(e); return { type: q.SetName, unitId: i || u, sheetId: r || m, sheetName: o }; } function Ci(n, e) { const { params: a } = n; if (!a) return null; const { unitId: i, subUnitId: r } = a, { unitId: o, sheetId: u } = Z(e); return { type: q.RemoveSheet, unitId: i || o, sheetId: r || u }; } function Di(n, e) { const { params: a } = n; if (!a) return null; const { unitId: i, name: r, id: o } = a, { sheetId: u } = Z(e); return { type: q.SetDefinedName, unitId: i, sheetId: u, definedName: r, definedNameId: o }; } function bi(n, e) { const { params: a } = n; if (!a) return null; const { unitId: i, name: r, id: o } = a, { sheetId: u } = Z(e); return { type: q.RemoveDefinedName, unitId: i, sheetId: u, definedName: r, definedNameId: o }; } var Oi = Object.defineProperty, Mi = Object.getOwnPropertyDescriptor, xi = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? Mi(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && Oi(e, a, r), r; }, Ue = (n, e) => (a, i) => e(a, i, n); let We = class extends te { constructor(n, e, a, i) { super(), this._definedNamesService = n, this._univerInstanceService = e, this._sheetInterceptorService = a, this._lexerTreeBuilder = i, this._initialize(); } _initialize() { this._commandExecutedListener(); } _commandExecutedListener() { this.disposeWithMe( this._sheetInterceptorService.interceptCommand({ getMutations: (n) => { if (n.id === ba.id || n.id === Da.id) return { redos: [], undos: [] }; const e = this._univerInstanceService.getCurrentUnitForType(ee.UNIVER_SHEET); if (e == null) return { redos: [], undos: [] }; const a = Ba(e, n); return a ? this._getUpdateDefinedNameMutations(e, a) : { redos: [], undos: [] }; } }) ); } // eslint-disable-next-line max-lines-per-function _getUpdateDefinedNameMutations(n, e) { const { type: a, unitId: i, sheetId: r } = e, o = this._definedNamesService.getDefinedNameMap(i); if (!o) return { redos: [], undos: [] }; const u = [], m = []; return Object.values(o).forEach((f) => { var c; const { formulaOrRefString: s } = f, p = this._lexerTreeBuilder.sequenceNodesBuilder(s); if (p == null) return !0; let d = !1; const L = []; for (let N = 0, R = p.length; N < R; N++) { const P = p[N]; if (typeof P == "string" || P.nodeType !== J.REFERENCE) continue; const { token: O } = P, M = pe(O), { range: F, sheetName: U, unitId: g } = M, x = ((c = n.getSheetBySheetName(U)) == null ? void 0 : c.getSheetId()) || "", h = { range: F, sheetId: x, unitId: g, sheetName: U, refOffsetX: 0, refOffsetY: 0 }; let V = null; if (a === q.RemoveSheet) V = this._removeSheet(f, i, r); else if (a === q.SetName) { const { sheetId: k, sheetName: b } = e; if (b == null || x == null || x.length === 0 || k !== x) continue; V = nt({ range: F, sheetName: b, unitId: g }); } else V = Fa( h, e, i, r ); V != null && (p[N] = { ...P, token: V }, d = !0, L.push(N)); } if (!d) return !0; const E = Xe(Ua(p, L)), I = { id: Me.id, params: { unitId: i, ...f, formulaOrRefString: E } }; u.push(I); const S = { id: Me.id, params: { unitId: i, ...f } }; m.push(S); }), { redos: u, undos: m }; } _removeSheet(n, e, a) { var o; const { formulaOrRefString: i } = n; return ((o = this._definedNamesService.getWorksheetByRef(e, i)) == null ? void 0 : o.getSheetId()) === a ? j.REF : null; } }; We = xi([ Ue(0, qt), Ue(1, xe), Ue(2, W(xt)), Ue(3, W(yt)) ], We); var Ce = /* @__PURE__ */ ((n) => (n[n.NOT_REGISTER = 1] = "NOT_REGISTER", n[n.SUCCESS = 2] = "SUCCESS", n[n.WAIT = 3] = "WAIT", n[n.ERROR = 4] = "ERROR", n))(Ce || {}), _i = Object.defineProperty, yi = Object.getOwnPropertyDescriptor, qi = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? yi(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && _i(e, a, r), r; }, pt = (n, e) => (a, i) => e(a, i, n); let Ke = class extends te { constructor(e, a, i) { super(); X(this, "_formulaCacheMap", /* @__PURE__ */ new Map()); X(this, "_formulaChangeWithRange$", new aa()); X(this, "formulaChangeWithRange$", this._formulaChangeWithRange$.asObservable()); // FIXME: this design could be improved. X(this, "_formulaResult$", new aa()); X(this, "formulaResult$", this._formulaResult$.asObservable()); X(this, "calculateStarted$", new ya(!1)); this._commandService = e, this._activeDirtyManagerService = a, this._lifecycleService = i, this._initFormulaRegister(), this._initFormulaCalculationResultChange(); } dispose() { super.dispose(), this._formulaChangeWithRange$.complete(), this._formulaResult$.complete(), this.calculateStarted$.complete(); } _ensureCacheMap(e, a) { let i = this._formulaCacheMap.get(e); i || (i = /* @__PURE__ */ new Map(), this._formulaCacheMap.set(e, i)); let r = i.get(a); return r || (r = /* @__PURE__ */ new Map(), i.set(a, r)), r; } _createFormulaId(e, a) { return `formula.${e}_${a}_${Ne.generateRandomId(8)}`; } _initFormulaRegister() { this._activeDirtyManagerService.register( Ge.id, { commandId: Ge.id, getDirtyData(a) { return { dirtyUnitOtherFormulaMap: a.params }; } } ); const e = (a) => { const { unitId: i, subUnitId: r, formulaText: o, formulaId: u, ranges: m } = a; if (!this._ensureCacheMap(i, r).has(u)) return; const s = { unitId: i, subUnitId: r, formulaMap: { [u]: { f: o, ranges: m } } }; this._commandService.executeCommand(Tn.id, s).then(() => { this._commandService.executeCommand( Ge.id, { [i]: { [r]: { [u]: !0 } } } ); }); }; this.disposeWithMe( this._formulaChangeWithRange$.pipe(Bn(() => this.calculateStarted$.pipe(na((a) => a)))).subscribe((a) => a.forEach(e)) ), this.disposeWithMe( this._formulaChangeWithRange$.pipe(na(() => this.calculateStarted$.getValue())).subscribe(e) ); } _initFormulaCalculationResultChange() { this.disposeWithMe(this._commandService.onCommandExecuted((e) => { if (e.id === Ln.id) { const a = e.params, { unitOtherData: i } = a, r = {}; for (const o in i) { const u = i[o], m = {}; r[o] = m; for (const f in u) { const s = this._ensureCacheMap(o, f), p = u[f], d = []; m[f] = d; for (const L in p) { const E = p[L]; if (s.has(L)) { const I = s.get(L); if (!I) continue; I.result || (I.result = {}); const S = new w(E), c = new w(I.result); S.forValue((N, R, P) => { c.setValue(N, R, P); }), I.status = Ce.SUCCESS, I.callbacks.forEach((N) => { N(E); }), I.callbacks.clear(), d.push(I); } } } } this._formulaResult$.next(r); } })); } registerFormulaWithRange(e, a, i, r = [{ startRow: 0, endRow: 0, startColumn: 0, endColumn: 0 }], o) { const u = this._createFormulaId(e, a); return this._ensureCacheMap(e, a).set(u, { result: void 0, status: Ce.WAIT, formulaId: u, callbacks: /* @__PURE__ */ new Set(), extra: o }), this._formulaChangeWithRange$.next({ unitId: e, subUnitId: a, formulaText: i, formulaId: u, ranges: r }), u; } deleteFormula(e, a, i) { const r = { unitId: e, subUnitId: a, formulaIdList: i }; this._commandService.executeCommand(Pn.id, r); const o = this._ensureCacheMap(e, a); i.forEach((u) => o.delete(u)); } getFormulaValue(e, a, i) { const r = this._ensureCacheMap(e, a), o = r.get(i); return o ? o.status === Ce.SUCCESS || o.status === Ce.ERROR ? Promise.resolve(o) : new Promise((u) => { o.callbacks.add(() => { u(r.get(i)); }); }) : Promise.resolve(null); } getFormulaValueSync(e, a, i) { return this._ensureCacheMap(e, a).get(i); } }; Ke = qi([ pt(0, de), pt(1, gt), pt(2, W(wa)) ], Ke); const ot = "sheets-formula.base.config"; var ne = /* @__PURE__ */ ((n) => (n[n.FORCED = 0] = "FORCED", n[n.WHEN_EMPTY = 1] = "WHEN_EMPTY", n[n.NO_CALCULATION = 2] = "NO_CALCULATION", n))(ne || {}); const ia = {}, gi = "sheets-formula.remote.config", ra = {}; var hi = Object.defineProperty, Ui = Object.getOwnPropertyDescriptor, Fi = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? Ui(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && hi(e, a, r), r; }, le = (n, e) => (a, i) => e(a, i, n); const oa = { done: 0, count: 0 }, dt = { onlyLocal: !0 }; let Oe = class extends te { constructor(e, a, i, r, o, u, m) { var s; super(); X(this, "_waitingCommandQueue", []); X(this, "_executingDirtyData", { forceCalculation: !1, dirtyRanges: [], dirtyNameMap: {}, dirtyDefinedNameMap: {}, dirtyUnitFeatureMap: {}, dirtyUnitOtherFormulaMap: {}, clearDependencyTreeCache: {} }); X(this, "_setTimeoutKey", -1); X(this, "_startExecutionTime", 0); X(this, "_totalCalculationTaskCount", 0); X(this, "_doneCalculationTaskCount", 0); X(this, "_executionInProgressParams", null); X(this, "_restartCalculation", !1); X(this, "_calculationMode", ne.WHEN_EMPTY); /** * The mark of forced calculation. If a new mutation triggers dirty area calculation during the forced calculation process, forced calculation is still required. */ X(this, "_forceCalculating", !1); X(this, "_progress$", new ya(oa)); X(this, "progress$", this._progress$.asObservable()); this._commandService = e, this._activeDirtyManagerService = a, this._logService = i, this._configService = r, this._formulaDataModel = o, this._localeService = u, this._registerOtherFormulaService = m; const f = this._configService.getConfig(ot); this._calculationMode = (s = f == null ? void 0 : f.initialFormulaComputing) != null ? s : ne.WHEN_EMPTY, this._commandExecutedListener(), this._initialExecuteFormulaProcessListener(), this._initialExecuteFormula(); } _emitProgress(e) { this._progress$.next({ done: this._doneCalculationTaskCount, count: this._totalCalculationTaskCount, label: e }); } _startProgress() { this._doneCalculationTaskCount = 0, this._totalCalculationTaskCount = 1; const e = this._localeService.t("formula.progress.analyzing"); this._emitProgress(e); } _calculateProgress(e) { if (this._executionInProgressParams) { const { totalFormulasToCalculate: a, completedFormulasCount: i, totalArrayFormulasToCalculate: r, completedArrayFormulasCount: o } = this._executionInProgressParams; if (this._doneCalculationTaskCount = i + o, this._totalCalculationTaskCount = a + r, this._totalCalculationTaskCount === 0) return; this._emitProgress(e); } } _completeProgress() { this._doneCalculationTaskCount = this._totalCalculationTaskCount = 1; const e = this._localeService.t("formula.progress.done"); this._emitProgress(e); } clearProgress() { this._doneCalculationTaskCount = 0, this._totalCalculationTaskCount = 0, this._emitProgress(); } dispose() { super.dispose(), this._progress$.next(oa), this._progress$.complete(); } _commandExecutedListener() { this.disposeWithMe( this._commandService.onCommandExecuted((e, a) => { if (this._activeDirtyManagerService.get(e.id)) { if (e.id === ie.id) { const i = e.params; if (a && a.onlyLocal === !0 || i.trigger === _t.id || i.trigger === Oa.id || i.trigger === Ma.id) return; } this._waitingCommandQueue.push(e), clearTimeout(this._setTimeoutKey), this._setTimeoutKey = setTimeout(() => { const i = this._generateDirty(this._waitingCommandQueue); this._executingDirtyData = this._mergeDirty(this._executingDirtyData, i), this._executionInProgressParams == null ? this._commandService.executeCommand(Se.id, { ...this._executingDirtyData }, dt) : (this._restartCalculation = !0, this._commandService.executeCommand($t.id, {})), this._waitingCommandQueue = []; }, 100); } }) ); } _generateDirty(e) { const a = [], i = {}, r = {}, o = {}, u = {}, m = {}; for (const f of e) { const s = this._activeDirtyManagerService.get(f.id); if (s == null) continue; const p = s.getDirtyData(f), { dirtyRanges: d, dirtyNameMap: L, dirtyDefinedNameMap: E, dirtyUnitFeatureMap: I, dirtyUnitOtherFormulaMap: S, clearDependencyTreeCache: c } = p; d != null && this._mergeDirtyRanges(a, d), L != null && this._mergeDirtyNameMap(i, L), E != null && this._mergeDirtyNameMap(r, E), I != null && this._mergeDirtyUnitFeatureOrOtherFormulaMap(o, I), S != null && this._mergeDirtyUnitFeatureOrOtherFormulaMap(u, S), c != null && this._mergeDirtyNameMap(m, c); } return { dirtyRanges: a, dirtyNameMap: i, dirtyDefinedNameMap: r, dirtyUnitFeatureMap: o, dirtyUnitOtherFormulaMap: u, forceCalculation: !1, clearDependencyTreeCache: m, maxIteration: this._configService.getConfig(jt) // numfmtItemMap, }; } _mergeDirty(e, a) { const i = [...e.dirtyRanges, ...a.dirtyRanges], r = { ...e.dirtyNameMap }, o = { ...e.dirtyDefinedNameMap }, u = { ...e.dirtyUnitFeatureMap }, m = { ...e.dirtyUnitOtherFormulaMap }, f = { ...e.clearDependencyTreeCache }; this._mergeDirtyNameMap(r, a.dirtyNameMap), this._mergeDirtyNameMap(o, a.dirtyDefinedNameMap), this._mergeDirtyUnitFeatureOrOtherFormulaMap(u, a.dirtyUnitFeatureMap), this._mergeDirtyUnitFeatureOrOtherFormulaMap(m, a.dirtyUnitOtherFormulaMap), this._mergeDirtyNameMap(f, a.clearDependencyTreeCache); const s = e.maxIteration || a.maxIteration; return { dirtyRanges: i, dirtyNameMap: r, dirtyDefinedNameMap: o, dirtyUnitFeatureMap: u, dirtyUnitOtherFormulaMap: m, forceCalculation: !!this._forceCalculating, clearDependencyTreeCache: f, maxIteration: s }; } /** * dirtyRanges may overlap with the ranges in allDirtyRanges and need to be deduplicated * @param allDirtyRanges * @param dirtyRanges */ _mergeDirtyRanges(e, a) { for (const i of a) { let r = !1; for (const o of e) if (i.unitId === o.unitId && i.sheetId === o.sheetId) { const { startRow: u, startColumn: m, endRow: f, endColumn: s } = i.range, { startRow: p, startColumn: d, endRow: L, endColumn: E } = o.range; if (u === p && m === d && f === L && s === E) { r = !0; break; } } r || e.push(i); } } _mergeDirtyNameMap(e, a) { Object.keys(a).forEach((i) => { e[i] == null && (e[i] = {}), Object.keys(a[i]).forEach((r) => { var o; (o = a[i]) != null && o[r] && (e[i][r] = a[i][r]); }); }); } _mergeDirtyUnitFeatureOrOtherFormulaMap(e, a) { Object.keys(a).forEach((i) => { e[i] == null && (e[i] = {}), Object.keys(a[i]).forEach((r) => { e[i][r] == null && (e[i][r] = {}), Object.keys(a[i][r]).forEach((o) => { e[i][r][o] = a[i][r][o] || !1; }); }); }); } // eslint-disable-next-line max-lines-per-function _initialExecuteFormulaProcessListener() { let e = null, a = 0; this.disposeWithMe( // eslint-disable-next-line max-lines-per-function, complexity this._commandService.onCommandExecuted((i) => { if (i.id === Se.id) { const { forceCalculation: o = !1 } = i.params; o && (this._forceCalculating = !0); } else i.id === $t.id && this.clearProgress(); if (i.id !== En.id) return; const r = i.params; if (r.stageInfo != null) { const { stage: o } = r.stageInfo; if (o === ge.START) { if (this._calculationMode === ne.NO_CALCULATION) return; a === 0 && (this._startExecutionTime = performance.now()), a++, e !== null && (clearTimeout(e), e = null), e = setTimeout(() => { e = null, this._startProgress(); }, 1e3); } else if (o === ge.CURRENTLY_CALCULATING) { if (this._executionInProgressParams = r.stageInfo, e === null) { const u = this._localeService.t("formula.progress.calculating"); this._calculateProgress(u); } } else if (o === ge.START_DEPENDENCY_ARRAY_FORMULA) { if (this._executionInProgressParams = r.stageInfo, e === null) { const u = this._localeService.t("formula.progress.array-analysis"); this._calculateProgress(u); } } else if (o === ge.CURRENTLY_CALCULATING_ARRAY_FORMULA && (this._executionInProgressParams = r.stageInfo, e === null)) { const u = this._localeService.t("formula.progress.array-calculation"); this._calculateProgress(u); } } else { const o = r.functionsExecutedState; let u = ""; switch (a--, o) { case Re.NOT_EXECUTED: u = "No tasks are being executed anymore", this._resetExecutingDirtyData(); break; case Re.STOP_EXECUTION: u = "The execution of the formula has been stopped", a = 0; break; case Re.SUCCESS: u = "Formula calculation succeeded", (a === 0 || a === -1) && (u += `. Total time consumed: ${performance.now() - this._startExecutionTime} ms`), this._resetExecutingDirtyData(); break; case Re.INITIAL: u = "Waiting for calculation", this._resetExecutingDirtyData(); break; } (a === 0 || a === -1) && (e ? (clearTimeout(e), e = null, this.clearProgress()) : this._completeProgress(), a = 0, this._doneCalculationTaskCount = 0, this._totalCalculationTaskCount = 0, this._forceCalculating = !1), o === Re.STOP_EXECUTION && this._restartCalculation ? (this._restartCalculation = !1, this._commandService.executeCommand( Se.id, { ...this._executingDirtyData }, dt )) : this._executionInProgressParams = null, this._logService.debug("[TriggerCalculationController]", u); } }) ); } _resetExecutingDirtyData() { this._executingDirtyData = { dirtyRanges: [], dirtyNameMap: {}, dirtyDefinedNameMap: {}, dirtyUnitFeatureMap: {}, dirtyUnitOtherFormulaMap: {}, forceCalculation: !1, clearDependencyTreeCache: {} }; } _initialExecuteFormula() { const e = this._getDirtyDataByCalculationMode(this._calculationMode); this._commandService.executeCommand(Se.id, e, dt), this._registerOtherFormulaService.calculateStarted$.next(!0); } _getDirtyDataByCalculationMode(e) { const a = e === ne.FORCED, i = e === ne.WHEN_EMPTY ? this._formulaDataModel.getFormulaDirtyRanges() : []; return { forceCalculation: a, dirtyRanges: i, dirtyNameMap: {}, dirtyDefinedNameMap: {}, dirtyUnitFeatureMap: {}, dirtyUnitOtherFormulaMap: {}, clearDependencyTreeCache: {}, maxIteration: this._configService.getConfig(jt) }; } }; Oe = Fi([ le(0, de), le(1, gt), le(2, Xa), le(3, _e), le(4, W(it)), le(5, W(Ot)), le(6, W(Ke)) ], Oe); var Bi = Object.defineProperty, vi = Object.getOwnPropertyDescriptor, Vi = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? vi(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && Bi(e, a, r), r; }, me = (n, e) => (a, i) => e(a, i, n); let Qe = class extends te { constructor(n, e, a, i, r, o, u, m) { super(), this._univerInstanceService = n, this._commandService = e, this._lexerTreeBuilder = a, this._formulaDataModel = i, this._sheetInterceptorService = r, this._definedNamesService = o, this._configService = u, this._injector = m, this._commandExecutedListener(); } _commandExecutedListener() { this.disposeWithMe(this._sheetInterceptorService.interceptCommand({ getMutations: (n) => this._getUpdateFormula(n) })), this.disposeWithMe( this._commandService.onCommandExecuted((n) => { if (n.params) if (n.id === It.id) { const { subUnitId: e, unitId: a } = n.params; this._handleWorkbookDisposed(a, e); } else n.id === Nt.id && this._handleInsertSheetMutation(n.params); }) ), this.disposeWithMe( this._commandService.beforeCommandExecuted((n, e) => { if (n.id === ie.id) { const a = n.params; if (e && e.onlyLocal === !0 || a.trigger === _t.id || a.trigger === Oa.id || a.trigger === Ma.id) return; this._handleSetRangeValuesMutation(a); } }) ), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitAdded$(ee.UNIVER_SHEET).subscribe((n) => this._handleWorkbookAdded(n))), this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(ee.UNIVER_SHEET).pipe(vn((n) => n.getUnitId())).subscribe((n) => this._handleWorkbookDisposed(n))); } _handleSetRangeValuesMutation(n) { const { subUnitId: e, unitId: a, cellValue: i } = n; if (i == null) return; const r = this._formulaDataModel.updateFormulaData(a, e, i), o = { [a]: { [e]: r } }; this._commandService.executeCommand( ie.id, { unitId: a, subUnitId: e, cellValue: li(r) }, { onlyLocal: !0, fromFormula: !0 } ), this._formulaDataModel.updateArrayFormulaCellData(a, e, i), this._formulaDataModel.updateArrayFormulaRange(a, e, i), this._commandService.executeCommand( he.id, { formulaData: o }, { onlyLocal: !0 } ), this._commandService.executeCommand( Rt.id, { arrayFormulaRange: this._formulaDataModel.getArrayFormulaRange(), arrayFormulaCellData: this._formulaDataModel.getArrayFormulaCellData() }, { onlyLocal: !0, remove: !0 // remove array formula range shape } ); } _handleWorkbookDisposed(n, e) { const a = this._formulaDataModel.getFormulaData(), i = ct(a, n, e), r = this._formulaDataModel.getArrayFormulaRange(), o = ct(r, n, e), u = this._formulaDataModel.getArrayFormulaCellData(), m = ct(u, n, e); i && this._commandService.executeCommand( he.id, { formulaData: i }, { onlyLocal: !0 } ), o && m && this._commandService.executeCommand( Rt.id, { arrayFormulaRange: r, arrayFormulaCellData: u }, { onlyLocal: !0 } ); } _handleInsertSheetMutation(n) { const { sheet: e, unitId: a } = n, i = this._formulaDataModel.getFormulaData(), { id: r, cellData: o } = e, u = new w(o), m = zt(i, a, r, u); this._commandService.executeCommand( he.id, { formulaData: m }, { onlyLocal: !0 } ); } _handleWorkbookAdded(n) { var f; const e = {}, a = n.getUnitId(), i = { [a]: {} }; n.getSheets().forEach((s) => { var E; const p = s.getCellMatrix(), d = s.getSheetId(), L = zt(e, a, d, p); i[a][d] = (E = L[a]) == null ? void 0 : E[d]; }), this._commandService.executeCommand(he.id, { formulaData: i }, { onlyLocal: !0 }); const o = this._configService.getConfig(ot), u = (f = o == null ? void 0 : o.initialFormulaComputing) != null ? f : ne.WHEN_EMPTY, m = this._getDiryDataByCalculationMode(u); this._commandService.executeCommand(Se.id, m, { onlyLocal: !0 }); } _getDiryDataByCalculationMode(n) { const e = n === ne.FORCED, a = n === ne.WHEN_EMPTY ? this._formulaDataModel.getFormulaDirtyRanges() : []; return { forceCalculation: e, dirtyRanges: a, dirtyNameMap: {}, dirtyDefinedNameMap: {}, dirtyUnitFeatureMap: {}, dirtyUnitOtherFormulaMap: {}, clearDependencyTreeCache: {} }; } _getUpdateFormula(n) { const e = this._univerInstanceService.getCurrentUnitForType(ee.UNIVER_SHEET); if (!e) return { undos: [], redos: [] }; const a = Ba(e, n); if (a) { const { unitSheetNameMap: i } = this._formulaDataModel.getCalculateData(), r = this._formulaDataModel.getFormulaData(), { newFormulaData: o } = this._getFormulaReferenceMoveInfo( r, i, a ), { undos: u, redos: m } = Xn(r, o, a); return { undos: u, redos: m }; } return { undos: [], redos: [] }; } // eslint-disable-next-line max-lines-per-function _getFormulaReferenceMoveInfo(n, e, a) { if (!Ne.isDefine(n)) return { newFormulaData: {}, oldFormulaData: {} }; const i = Object.keys(n); if (i.length === 0) return { newFormulaData: {}, oldFormulaData: {} }; const r = {}, o = {}; for (const u of i) { const m = n[u]; if (m == null) continue; const f = Object.keys(m); Ne.isDefine(r[u]) || (r[u] = {}), Ne.isDefine(o[u]) || (o[u] = {}); for (const s of f) { const p = new w(m[s] || {}), d = new w(); p.forValue((L, E, I) => { var U; if (!I) return !0; const { f: S, x: c, y: N, si: R } = I, P = this._lexerTreeBuilder.sequenceNodesBuilder(S); if (P == null) return !0; let O = !1; const M = []; for (let g = 0, x = P.length; g < x; g++) { const h = P[g]; if (typeof h == "string") continue; const { token: V, nodeType: k } = h, { type: b } = a; if ((b === q.SetDefinedName || b === q.RemoveDefinedName) && (k === J.DEFINED_NAME || k === J.FUNCTION)) { const { definedNameId: Pe, definedName: Te } = a; if (Pe === void 0 || Te === void 0) continue; const fe = this._definedNamesService.getValueById(u, Pe); if (fe == null || fe.name !== V) continue; P[g] = { ...h, token: b === q.SetDefinedName ? Te : j.REF }, O = !0, M.push(g); continue; } else if (k !== J.REFERENCE) continue; const Le = pe(V), { range: ae, sheetName: re, unitId: Q } = Le, oe = Q == null || Q.length === 0 ? u : Q, z = ((U = e == null ? void 0 : e[oe]) == null ? void 0 : U[re]) || ""; if (!ha( a.unitId, a.sheetId, u, s, Q, z )) continue; const ye = { range: ae, sheetId: z, unitId: Q, sheetName: re, refOffsetX: c || 0, refOffsetY: N || 0 }; let ue = null; if (b === q.SetName) { const { unitId: Pe, sheetId: Te, sheetName: fe } = a; if (fe == null || z == null || z.length === 0 || Te !== z) continue; ue = nt({ range: ae, sheetName: fe, unitId: Q }); } else if (b === q.RemoveSheet) { const { unitId: Pe, sheetId: Te, sheetName: fe } = a; if (z == null || z.length === 0 || Te !== z) continue; ue = j.REF; } else b !== q.SetDefinedName && (ue = Fa( ye, a, u, s )); ue != null && (P[g] = { ...h, token: ue }, O = !0, M.push(g)); } if (!O) return !0; const F = Ua(P, M, c, N); d.setValue(L, E, { f: `=${Xe(F)}` }); }), o[u] && (o[u][s] = d.getData()); } } return { newFormulaData: o }; } }; Qe = Vi([ me(0, xe), me(1, de), me(2, W(yt)), me(3, W(it)), me(4, W(xt)), me(5, qt), me(6, _e), me(7, W(at)) ], Qe); const Gi = [ { functionName: Zt.ARRAY_CONSTRAIN, functionType: t.Array, description: "formula.functionList.ARRAY_CONSTRAIN.description", abstract: "formula.functionList.ARRAY_CONSTRAIN.abstract", functionParameter: [ { name: "formula.functionList.ARRAY_CONSTRAIN.functionParameter.inputRange.name", detail: "formula.functionList.ARRAY_CONSTRAIN.functionParameter.inputRange.detail", example: "A1:C3", require: 1, repeat: 0 }, { name: "formula.functionList.ARRAY_CONSTRAIN.functionParameter.numRows.name", detail: "formula.functionList.ARRAY_CONSTRAIN.functionParameter.numRows.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.ARRAY_CONSTRAIN.functionParameter.numCols.name", detail: "formula.functionList.ARRAY_CONSTRAIN.functionParameter.numCols.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: Zt.FLATTEN, functionType: t.Array, description: "formula.functionList.FLATTEN.description", abstract: "formula.functionList.FLATTEN.abstract", functionParameter: [ { name: "formula.functionList.FLATTEN.functionParameter.range1.name", detail: "formula.functionList.FLATTEN.functionParameter.range1.detail", example: "A1:C3", require: 1, repeat: 0 }, { name: "formula.functionList.FLATTEN.functionParameter.range2.name", detail: "formula.functionList.FLATTEN.functionParameter.range2.detail", example: "D1:F3", require: 0, repeat: 1 } ] } ], Hi = [ { functionName: _.BETADIST, functionType: t.Compatibility, description: "formula.functionList.BETADIST.description", abstract: "formula.functionList.BETADIST.abstract", functionParameter: [ { name: "formula.functionList.BETADIST.functionParameter.x.name", detail: "formula.functionList.BETADIST.functionParameter.x.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.BETADIST.functionParameter.alpha.name", detail: "formula.functionList.BETADIST.functionParameter.alpha.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.BETADIST.functionParameter.beta.name", detail: "formula.functionList.BETADIST.functionParameter.beta.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.BETADIST.functionParameter.A.name", detail: "formula.functionList.BETADIST.functionParameter.A.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.BETADIST.functionParameter.B.name", detail: "formula.functionList.BETADIST.functionParameter.B.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: _.BETAINV, functionType: t.Compatibility, description: "formula.functionList.BETAINV.description", abstract: "formula.functionList.BETAINV.abstract", functionParameter: [ { name: "formula.functionList.BETAINV.functionParameter.probability.name", detail: "formula.functionList.BETAINV.functionParameter.probability.detail", example: "0.685470581", require: 1, repeat: 0 }, { name: "formula.functionList.BETAINV.functionParameter.alpha.name", detail: "formula.functionList.BETAINV.functionParameter.alpha.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.BETAINV.functionParameter.beta.name", detail: "formula.functionList.BETAINV.functionParameter.beta.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.BETAINV.functionParameter.A.name", detail: "formula.functionList.BETAINV.functionParameter.A.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.BETAINV.functionParameter.B.name", detail: "formula.functionList.BETAINV.functionParameter.B.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: _.BINOMDIST, functionType: t.Compatibility, description: "formula.functionList.BINOMDIST.description", abstract: "formula.functionList.BINOMDIST.abstract", functionParameter: [ { name: "formula.functionList.BINOMDIST.functionParameter.numberS.name", detail: "formula.functionList.BINOMDIST.functionParameter.numberS.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.BINOMDIST.functionParameter.trials.name", detail: "formula.functionList.BINOMDIST.functionParameter.trials.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.BINOMDIST.functionParameter.probabilityS.name", detail: "formula.functionList.BINOMDIST.functionParameter.probabilityS.detail", example: "0.5", require: 1, repeat: 0 }, { name: "formula.functionList.BINOMDIST.functionParameter.cumulative.name", detail: "formula.functionList.BINOMDIST.functionParameter.cumulative.detail", example: "false", require: 1, repeat: 0 } ] }, { functionName: _.CHIDIST, functionType: t.Compatibility, description: "formula.functionList.CHIDIST.description", abstract: "formula.functionList.CHIDIST.abstract", functionParameter: [ { name: "formula.functionList.CHIDIST.functionParameter.x.name", detail: "formula.functionList.CHIDIST.functionParameter.x.detail", example: "0.5", require: 1, repeat: 0 }, { name: "formula.functionList.CHIDIST.functionParameter.degFreedom.name", detail: "formula.functionList.CHIDIST.functionParameter.degFreedom.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: _.CHIINV, functionType: t.Compatibility, description: "formula.functionList.CHIINV.description", abstract: "formula.functionList.CHIINV.abstract", functionParameter: [ { name: "formula.functionList.CHIINV.functionParameter.probability.name", detail: "formula.functionList.CHIINV.functionParameter.probability.detail", example: "0.93", require: 1, repeat: 0 }, { name: "formula.functionList.CHIINV.functionParameter.degFreedom.name", detail: "formula.functionList.CHIINV.functionParameter.degFreedom.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: _.CHITEST, functionType: t.Compatibility, description: "formula.functionList.CHITEST.description", abstract: "formula.functionList.CHITEST.abstract", functionParameter: [ { name: "formula.functionList.CHITEST.functionParameter.actualRange.name", detail: "formula.functionList.CHITEST.functionParameter.actualRange.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.CHITEST.functionParameter.expectedRange.name", detail: "formula.functionList.CHITEST.functionParameter.expectedRange.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: _.CONFIDENCE, functionType: t.Compatibility, description: "formula.functionList.CONFIDENCE.description", abstract: "formula.functionList.CONFIDENCE.abstract", functionParameter: [ { name: "formula.functionList.CONFIDENCE.functionParameter.alpha.name", detail: "formula.functionList.CONFIDENCE.functionParameter.alpha.detail", example: "0.05", require: 1, repeat: 0 }, { name: "formula.functionList.CONFIDENCE.functionParameter.standardDev.name", detail: "formula.functionList.CONFIDENCE.functionParameter.standardDev.detail", example: "2.5", require: 1, repeat: 0 }, { name: "formula.functionList.CONFIDENCE.functionParameter.size.name", detail: "formula.functionList.CONFIDENCE.functionParameter.size.detail", example: "50", require: 1, repeat: 0 } ] }, { functionName: _.COVAR, functionType: t.Compatibility, description: "formula.functionList.COVAR.description", abstract: "formula.functionList.COVAR.abstract", functionParameter: [ { name: "formula.functionList.COVAR.functionParameter.array1.name", detail: "formula.functionList.COVAR.functionParameter.array1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.COVAR.functionParameter.array2.name", detail: "formula.functionList.COVAR.functionParameter.array2.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: _.CRITBINOM, functionType: t.Compatibility, description: "formula.functionList.CRITBINOM.description", abstract: "formula.functionList.CRITBINOM.abstract", functionParameter: [ { name: "formula.functionList.CRITBINOM.functionParameter.trials.name", detail: "formula.functionList.CRITBINOM.functionParameter.trials.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.CRITBINOM.functionParameter.probabilityS.name", detail: "formula.functionList.CRITBINOM.functionParameter.probabilityS.detail", example: "0.5", require: 1, repeat: 0 }, { name: "formula.functionList.CRITBINOM.functionParameter.alpha.name", detail: "formula.functionList.CRITBINOM.functionParameter.alpha.detail", example: "0.75", require: 1, repeat: 0 } ] }, { functionName: _.EXPONDIST, functionType: t.Compatibility, description: "formula.functionList.EXPONDIST.description", abstract: "formula.functionList.EXPONDIST.abstract", functionParameter: [ { name: "formula.functionList.EXPONDIST.functionParameter.x.name", detail: "formula.functionList.EXPONDIST.functionParameter.x.detail", example: "0.2", require: 1, repeat: 0 }, { name: "formula.functionList.EXPONDIST.functionParameter.lambda.name", detail: "formula.functionList.EXPONDIST.functionParameter.lambda.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.EXPONDIST.functionParameter.cumulative.name", detail: "formula.functionList.EXPONDIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: _.FDIST, functionType: t.Compatibility, description: "formula.functionList.FDIST.description", abstract: "formula.functionList.FDIST.abstract", functionParameter: [ { name: "formula.functionList.FDIST.functionParameter.x.name", detail: "formula.functionList.FDIST.functionParameter.x.detail", example: "15.2069", require: 1, repeat: 0 }, { name: "formula.functionList.FDIST.functionParameter.degFreedom1.name", detail: "formula.functionList.FDIST.functionParameter.degFreedom1.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.FDIST.functionParameter.degFreedom2.name", detail: "formula.functionList.FDIST.functionParameter.degFreedom2.detail", example: "4", require: 1, repeat: 0 } ] }, { functionName: _.FINV, functionType: t.Compatibility, description: "formula.functionList.FINV.description", abstract: "formula.functionList.FINV.abstract", functionParameter: [ { name: "formula.functionList.FINV.functionParameter.probability.name", detail: "formula.functionList.FINV.functionParameter.probability.detail", example: "0.01", require: 1, repeat: 0 }, { name: "formula.functionList.FINV.functionParameter.degFreedom1.name", detail: "formula.functionList.FINV.functionParameter.degFreedom1.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.FINV.functionParameter.degFreedom2.name", detail: "formula.functionList.FINV.functionParameter.degFreedom2.detail", example: "4", require: 1, repeat: 0 } ] }, { functionName: _.FTEST, functionType: t.Compatibility, description: "formula.functionList.FTEST.description", abstract: "formula.functionList.FTEST.abstract", functionParameter: [ { name: "formula.functionList.FTEST.functionParameter.array1.name", detail: "formula.functionList.FTEST.functionParameter.array1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.FTEST.functionParameter.array2.name", detail: "formula.functionList.FTEST.functionParameter.array2.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: _.GAMMADIST, functionType: t.Compatibility, description: "formula.functionList.GAMMADIST.description", abstract: "formula.functionList.GAMMADIST.abstract", functionParameter: [ { name: "formula.functionList.GAMMADIST.functionParameter.x.name", detail: "formula.functionList.GAMMADIST.functionParameter.x.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.GAMMADIST.functionParameter.alpha.name", detail: "formula.functionList.GAMMADIST.functionParameter.alpha.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.GAMMADIST.functionParameter.beta.name", detail: "formula.functionList.GAMMADIST.functionParameter.beta.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.GAMMADIST.functionParameter.cumulative.name", detail: "formula.functionList.GAMMADIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: _.GAMMAINV, functionType: t.Compatibility, description: "formula.functionList.GAMMAINV.description", abstract: "formula.functionList.GAMMAINV.abstract", functionParameter: [ { name: "formula.functionList.GAMMAINV.functionParameter.probability.name", detail: "formula.functionList.GAMMAINV.functionParameter.probability.detail", example: "0.068094", require: 1, repeat: 0 }, { name: "formula.functionList.GAMMAINV.functionParameter.alpha.name", detail: "formula.functionList.GAMMAINV.functionParameter.alpha.detail", example: "9", require: 1, repeat: 0 }, { name: "formula.functionList.GAMMAINV.functionParameter.beta.name", detail: "formula.functionList.GAMMAINV.functionParameter.beta.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: _.HYPGEOMDIST, functionType: t.Compatibility, description: "formula.functionList.HYPGEOMDIST.description", abstract: "formula.functionList.HYPGEOMDIST.abstract", functionParameter: [ { name: "formula.functionList.HYPGEOMDIST.functionParameter.sampleS.name", detail: "formula.functionList.HYPGEOMDIST.functionParameter.sampleS.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.HYPGEOMDIST.functionParameter.numberSample.name", detail: "formula.functionList.HYPGEOMDIST.functionParameter.numberSample.detail", example: "4", require: 1, repeat: 0 }, { name: "formula.functionList.HYPGEOMDIST.functionParameter.populationS.name", detail: "formula.functionList.HYPGEOMDIST.functionParameter.populationS.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.HYPGEOMDIST.functionParameter.numberPop.name", detail: "formula.functionList.HYPGEOMDIST.functionParameter.numberPop.detail", example: "20", require: 1, repeat: 0 } ] }, { functionName: _.LOGINV, functionType: t.Compatibility, description: "formula.functionList.LOGINV.description", abstract: "formula.functionList.LOGINV.abstract", functionParameter: [ { name: "formula.functionList.LOGINV.functionParameter.probability.name", detail: "formula.functionList.LOGINV.functionParameter.probability.detail", example: "0.908789", require: 1, repeat: 0 }, { name: "formula.functionList.LOGINV.functionParameter.mean.name", detail: "formula.functionList.LOGINV.functionParameter.mean.detail", example: "40", require: 1, repeat: 0 }, { name: "formula.functionList.LOGINV.functionParameter.standardDev.name", detail: "formula.functionList.LOGINV.functionParameter.standardDev.detail", example: "1.5", require: 1, repeat: 0 } ] }, { functionName: _.LOGNORMDIST, functionType: t.Compatibility, description: "formula.functionList.LOGNORMDIST.description", abstract: "formula.functionList.LOGNORMDIST.abstract", functionParameter: [ { name: "formula.functionList.LOGNORMDIST.functionParameter.x.name", detail: "formula.functionList.LOGNORMDIST.functionParameter.x.detail", example: "42", require: 1, repeat: 0 }, { name: "formula.functionList.LOGNORMDIST.functionParameter.mean.name", detail: "formula.functionList.LOGNORMDIST.functionParameter.mean.detail", example: "40", require: 1, repeat: 0 }, { name: "formula.functionList.LOGNORMDIST.functionParameter.standardDev.name", detail: "formula.functionList.LOGNORMDIST.functionParameter.standardDev.detail", example: "1.5", require: 1, repeat: 0 } ] }, { functionName: _.MODE, functionType: t.Compatibility, description: "formula.functionList.MODE.description", abstract: "formula.functionList.MODE.abstract", functionParameter: [ { name: "formula.functionList.MODE.functionParameter.number1.name", detail: "formula.functionList.MODE.functionParameter.number1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.MODE.functionParameter.number2.name", detail: "formula.functionList.MODE.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: _.NEGBINOMDIST, functionType: t.Compatibility, description: "formula.functionList.NEGBINOMDIST.description", abstract: "formula.functionList.NEGBINOMDIST.abstract", functionParameter: [ { name: "formula.functionList.NEGBINOMDIST.functionParameter.numberF.name", detail: "formula.functionList.NEGBINOMDIST.functionParameter.numberF.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.NEGBINOMDIST.functionParameter.numberS.name", detail: "formula.functionList.NEGBINOMDIST.functionParameter.numberS.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.NEGBINOMDIST.functionParameter.probabilityS.name", detail: "formula.functionList.NEGBINOMDIST.functionParameter.probabilityS.detail", example: "0.25", require: 1, repeat: 0 } ] }, { functionName: _.NORMDIST, functionType: t.Compatibility, description: "formula.functionList.NORMDIST.description", abstract: "formula.functionList.NORMDIST.abstract", functionParameter: [ { name: "formula.functionList.NORMDIST.functionParameter.x.name", detail: "formula.functionList.NORMDIST.functionParameter.x.detail", example: "42", require: 1, repeat: 0 }, { name: "formula.functionList.NORMDIST.functionParameter.mean.name", detail: "formula.functionList.NORMDIST.functionParameter.mean.detail", example: "40", require: 1, repeat: 0 }, { name: "formula.functionList.NORMDIST.functionParameter.standardDev.name", detail: "formula.functionList.NORMDIST.functionParameter.standardDev.detail", example: "1.5", require: 1, repeat: 0 }, { name: "formula.functionList.NORMDIST.functionParameter.cumulative.name", detail: "formula.functionList.NORMDIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: _.NORMINV, functionType: t.Compatibility, description: "formula.functionList.NORMINV.description", abstract: "formula.functionList.NORMINV.abstract", functionParameter: [ { name: "formula.functionList.NORMINV.functionParameter.probability.name", detail: "formula.functionList.NORMINV.functionParameter.probability.detail", example: "0.908789", require: 1, repeat: 0 }, { name: "formula.functionList.NORMINV.functionParameter.mean.name", detail: "formula.functionList.NORMINV.functionParameter.mean.detail", example: "40", require: 1, repeat: 0 }, { name: "formula.functionList.NORMINV.functionParameter.standardDev.name", detail: "formula.functionList.NORMINV.functionParameter.standardDev.detail", example: "1.5", require: 1, repeat: 0 } ] }, { functionName: _.NORMSDIST, functionType: t.Compatibility, description: "formula.functionList.NORMSDIST.description", abstract: "formula.functionList.NORMSDIST.abstract", functionParameter: [ { name: "formula.functionList.NORMSDIST.functionParameter.z.name", detail: "formula.functionList.NORMSDIST.functionParameter.z.detail", example: "1.333333", require: 1, repeat: 0 } ] }, { functionName: _.NORMSINV, functionType: t.Compatibility, description: "formula.functionList.NORMSINV.description", abstract: "formula.functionList.NORMSINV.abstract", functionParameter: [ { name: "formula.functionList.NORMSINV.functionParameter.probability.name", detail: "formula.functionList.NORMSINV.functionParameter.probability.detail", example: "0.908789", require: 1, repeat: 0 } ] }, { functionName: _.PERCENTILE, functionType: t.Compatibility, description: "formula.functionList.PERCENTILE.description", abstract: "formula.functionList.PERCENTILE.abstract", functionParameter: [ { name: "formula.functionList.PERCENTILE.functionParameter.array.name", detail: "formula.functionList.PERCENTILE.functionParameter.array.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.PERCENTILE.functionParameter.k.name", detail: "formula.functionList.PERCENTILE.functionParameter.k.detail", example: "0.3", require: 1, repeat: 0 } ] }, { functionName: _.PERCENTRANK, functionType: t.Compatibility, description: "formula.functionList.PERCENTRANK.description", abstract: "formula.functionList.PERCENTRANK.abstract", functionParameter: [ { name: "formula.functionList.PERCENTRANK.functionParameter.array.name", detail: "formula.functionList.PERCENTRANK.functionParameter.array.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.PERCENTRANK.functionParameter.x.name", detail: "formula.functionList.PERCENTRANK.functionParameter.x.detail", example: "1.5", require: 1, repeat: 0 }, { name: "formula.functionList.PERCENTRANK.functionParameter.significance.name", detail: "formula.functionList.PERCENTRANK.functionParameter.significance.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: _.POISSON, functionType: t.Compatibility, description: "formula.functionList.POISSON.description", abstract: "formula.functionList.POISSON.abstract", functionParameter: [ { name: "formula.functionList.POISSON.functionParameter.x.name", detail: "formula.functionList.POISSON.functionParameter.x.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.POISSON.functionParameter.mean.name", detail: "formula.functionList.POISSON.functionParameter.mean.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.POISSON.functionParameter.cumulative.name", detail: "formula.functionList.POISSON.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: _.QUARTILE, functionType: t.Compatibility, description: "formula.functionList.QUARTILE.description", abstract: "formula.functionList.QUARTILE.abstract", functionParameter: [ { name: "formula.functionList.QUARTILE.functionParameter.array.name", detail: "formula.functionList.QUARTILE.functionParameter.array.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.QUARTILE.functionParameter.quart.name", detail: "formula.functionList.QUARTILE.functionParameter.quart.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: _.RANK, functionType: t.Compatibility, description: "formula.functionList.RANK.description", abstract: "formula.functionList.RANK.abstract", functionParameter: [ { name: "formula.functionList.RANK.functionParameter.number.name", detail: "formula.functionList.RANK.functionParameter.number.detail", example: "A3", require: 1, repeat: 0 }, { name: "formula.functionList.RANK.functionParameter.ref.name", detail: "formula.functionList.RANK.functionParameter.ref.detail", example: "A2:A6", require: 1, repeat: 0 }, { name: "formula.functionList.RANK.functionParameter.order.name", detail: "formula.functionList.RANK.functionParameter.order.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: _.STDEV, functionType: t.Compatibility, description: "formula.functionList.STDEV.description", abstract: "formula.functionList.STDEV.abstract", functionParameter: [ { name: "formula.functionList.STDEV.functionParameter.number1.name", detail: "formula.functionList.STDEV.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.STDEV.functionParameter.number2.name", detail: "formula.functionList.STDEV.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: _.STDEVP, functionType: t.Compatibility, description: "formula.functionList.STDEVP.description", abstract: "formula.functionList.STDEVP.abstract", functionParameter: [ { name: "formula.functionList.STDEVP.functionParameter.number1.name", detail: "formula.functionList.STDEVP.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.STDEVP.functionParameter.number2.name", detail: "formula.functionList.STDEVP.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: _.TDIST, functionType: t.Compatibility, description: "formula.functionList.TDIST.description", abstract: "formula.functionList.TDIST.abstract", functionParameter: [ { name: "formula.functionList.TDIST.functionParameter.x.name", detail: "formula.functionList.TDIST.functionParameter.x.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.TDIST.functionParameter.degFreedom.name", detail: "formula.functionList.TDIST.functionParameter.degFreedom.detail", example: "3", require: 1, repeat: 0 }, { name: "formula.functionList.TDIST.functionParameter.tails.name", detail: "formula.functionList.TDIST.functionParameter.tails.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: _.TINV, functionType: t.Compatibility, description: "formula.functionList.TINV.description", abstract: "formula.functionList.TINV.abstract", functionParameter: [ { name: "formula.functionList.TINV.functionParameter.probability.name", detail: "formula.functionList.TINV.functionParameter.probability.detail", example: "0.75", require: 1, repeat: 0 }, { name: "formula.functionList.TINV.functionParameter.degFreedom.name", detail: "formula.functionList.TINV.functionParameter.degFreedom.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: _.TTEST, functionType: t.Compatibility, description: "formula.functionList.TTEST.description", abstract: "formula.functionList.TTEST.abstract", functionParameter: [ { name: "formula.functionList.TTEST.functionParameter.array1.name", detail: "formula.functionList.TTEST.functionParameter.array1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.TTEST.functionParameter.array2.name", detail: "formula.functionList.TTEST.functionParameter.array2.detail", example: "B1:B4", require: 1, repeat: 0 }, { name: "formula.functionList.TTEST.functionParameter.tails.name", detail: "formula.functionList.TTEST.functionParameter.tails.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.TTEST.functionParameter.type.name", detail: "formula.functionList.TTEST.functionParameter.type.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: _.VAR, functionType: t.Compatibility, description: "formula.functionList.VAR.description", abstract: "formula.functionList.VAR.abstract", functionParameter: [ { name: "formula.functionList.VAR.functionParameter.number1.name", detail: "formula.functionList.VAR.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.VAR.functionParameter.number2.name", detail: "formula.functionList.VAR.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: _.VARP, functionType: t.Compatibility, description: "formula.functionList.VARP.description", abstract: "formula.functionList.VARP.abstract", functionParameter: [ { name: "formula.functionList.VARP.functionParameter.number1.name", detail: "formula.functionList.VARP.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.VARP.functionParameter.number2.name", detail: "formula.functionList.VARP.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: _.WEIBULL, functionType: t.Compatibility, description: "formula.functionList.WEIBULL.description", abstract: "formula.functionList.WEIBULL.abstract", functionParameter: [ { name: "formula.functionList.WEIBULL.functionParameter.x.name", detail: "formula.functionList.WEIBULL.functionParameter.x.detail", example: "105", require: 1, repeat: 0 }, { name: "formula.functionList.WEIBULL.functionParameter.alpha.name", detail: "formula.functionList.WEIBULL.functionParameter.alpha.detail", example: "20", require: 1, repeat: 0 }, { name: "formula.functionList.WEIBULL.functionParameter.beta.name", detail: "formula.functionList.WEIBULL.functionParameter.beta.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.WEIBULL.functionParameter.cumulative.name", detail: "formula.functionList.WEIBULL.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: _.ZTEST, functionType: t.Compatibility, description: "formula.functionList.ZTEST.description", abstract: "formula.functionList.ZTEST.abstract", functionParameter: [ { name: "formula.functionList.ZTEST.functionParameter.array.name", detail: "formula.functionList.ZTEST.functionParameter.array.detail", example: "A2:A11", require: 1, repeat: 0 }, { name: "formula.functionList.ZTEST.functionParameter.x.name", detail: "formula.functionList.ZTEST.functionParameter.x.detail", example: "4", require: 1, repeat: 0 }, { name: "formula.functionList.ZTEST.functionParameter.sigma.name", detail: "formula.functionList.ZTEST.functionParameter.sigma.detail", example: "10", require: 0, repeat: 0 } ] } ], Yi = [ { functionName: ce.CUBEKPIMEMBER, functionType: t.Cube, description: "formula.functionList.CUBEKPIMEMBER.description", abstract: "formula.functionList.CUBEKPIMEMBER.abstract", functionParameter: [ { name: "formula.functionList.CUBEKPIMEMBER.functionParameter.number1.name", detail: "formula.functionList.CUBEKPIMEMBER.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.CUBEKPIMEMBER.functionParameter.number2.name", detail: "formula.functionList.CUBEKPIMEMBER.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: ce.CUBEMEMBER, functionType: t.Cube, description: "formula.functionList.CUBEMEMBER.description", abstract: "formula.functionList.CUBEMEMBER.abstract", functionParameter: [ { name: "formula.functionList.CUBEMEMBER.functionParameter.number1.name", detail: "formula.functionList.CUBEMEMBER.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.CUBEMEMBER.functionParameter.number2.name", detail: "formula.functionList.CUBEMEMBER.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: ce.CUBEMEMBERPROPERTY, functionType: t.Cube, description: "formula.functionList.CUBEMEMBERPROPERTY.description", abstract: "formula.functionList.CUBEMEMBERPROPERTY.abstract", functionParameter: [ { name: "formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number1.name", detail: "formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number2.name", detail: "formula.functionList.CUBEMEMBERPROPERTY.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: ce.CUBERANKEDMEMBER, functionType: t.Cube, description: "formula.functionList.CUBERANKEDMEMBER.description", abstract: "formula.functionList.CUBERANKEDMEMBER.abstract", functionParameter: [ { name: "formula.functionList.CUBERANKEDMEMBER.functionParameter.number1.name", detail: "formula.functionList.CUBERANKEDMEMBER.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.CUBERANKEDMEMBER.functionParameter.number2.name", detail: "formula.functionList.CUBERANKEDMEMBER.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: ce.CUBESET, functionType: t.Cube, description: "formula.functionList.CUBESET.description", abstract: "formula.functionList.CUBESET.abstract", functionParameter: [ { name: "formula.functionList.CUBESET.functionParameter.number1.name", detail: "formula.functionList.CUBESET.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.CUBESET.functionParameter.number2.name", detail: "formula.functionList.CUBESET.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: ce.CUBESETCOUNT, functionType: t.Cube, description: "formula.functionList.CUBESETCOUNT.description", abstract: "formula.functionList.CUBESETCOUNT.abstract", functionParameter: [ { name: "formula.functionList.CUBESETCOUNT.functionParameter.number1.name", detail: "formula.functionList.CUBESETCOUNT.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.CUBESETCOUNT.functionParameter.number2.name", detail: "formula.functionList.CUBESETCOUNT.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: ce.CUBEVALUE, functionType: t.Cube, description: "formula.functionList.CUBEVALUE.description", abstract: "formula.functionList.CUBEVALUE.abstract", functionParameter: [ { name: "formula.functionList.CUBEVALUE.functionParameter.number1.name", detail: "formula.functionList.CUBEVALUE.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.CUBEVALUE.functionParameter.number2.name", detail: "formula.functionList.CUBEVALUE.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] } ], wi = [ { functionName: $.DAVERAGE, functionType: t.Database, description: "formula.functionList.DAVERAGE.description", abstract: "formula.functionList.DAVERAGE.abstract", functionParameter: [ { name: "formula.functionList.DAVERAGE.functionParameter.database.name", detail: "formula.functionList.DAVERAGE.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DAVERAGE.functionParameter.field.name", detail: "formula.functionList.DAVERAGE.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DAVERAGE.functionParameter.criteria.name", detail: "formula.functionList.DAVERAGE.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DCOUNT, functionType: t.Database, description: "formula.functionList.DCOUNT.description", abstract: "formula.functionList.DCOUNT.abstract", functionParameter: [ { name: "formula.functionList.DCOUNT.functionParameter.database.name", detail: "formula.functionList.DCOUNT.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DCOUNT.functionParameter.field.name", detail: "formula.functionList.DCOUNT.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DCOUNT.functionParameter.criteria.name", detail: "formula.functionList.DCOUNT.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DCOUNTA, functionType: t.Database, description: "formula.functionList.DCOUNTA.description", abstract: "formula.functionList.DCOUNTA.abstract", functionParameter: [ { name: "formula.functionList.DCOUNTA.functionParameter.database.name", detail: "formula.functionList.DCOUNTA.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DCOUNTA.functionParameter.field.name", detail: "formula.functionList.DCOUNTA.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DCOUNTA.functionParameter.criteria.name", detail: "formula.functionList.DCOUNTA.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DGET, functionType: t.Database, description: "formula.functionList.DGET.description", abstract: "formula.functionList.DGET.abstract", functionParameter: [ { name: "formula.functionList.DGET.functionParameter.database.name", detail: "formula.functionList.DGET.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DGET.functionParameter.field.name", detail: "formula.functionList.DGET.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DGET.functionParameter.criteria.name", detail: "formula.functionList.DGET.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DMAX, functionType: t.Database, description: "formula.functionList.DMAX.description", abstract: "formula.functionList.DMAX.abstract", functionParameter: [ { name: "formula.functionList.DMAX.functionParameter.database.name", detail: "formula.functionList.DMAX.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DMAX.functionParameter.field.name", detail: "formula.functionList.DMAX.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DMAX.functionParameter.criteria.name", detail: "formula.functionList.DMAX.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DMIN, functionType: t.Database, description: "formula.functionList.DMIN.description", abstract: "formula.functionList.DMIN.abstract", functionParameter: [ { name: "formula.functionList.DMIN.functionParameter.database.name", detail: "formula.functionList.DMIN.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DMIN.functionParameter.field.name", detail: "formula.functionList.DMIN.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DMIN.functionParameter.criteria.name", detail: "formula.functionList.DMIN.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DPRODUCT, functionType: t.Database, description: "formula.functionList.DPRODUCT.description", abstract: "formula.functionList.DPRODUCT.abstract", functionParameter: [ { name: "formula.functionList.DPRODUCT.functionParameter.database.name", detail: "formula.functionList.DPRODUCT.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DPRODUCT.functionParameter.field.name", detail: "formula.functionList.DPRODUCT.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DPRODUCT.functionParameter.criteria.name", detail: "formula.functionList.DPRODUCT.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DSTDEV, functionType: t.Database, description: "formula.functionList.DSTDEV.description", abstract: "formula.functionList.DSTDEV.abstract", functionParameter: [ { name: "formula.functionList.DSTDEV.functionParameter.database.name", detail: "formula.functionList.DSTDEV.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DSTDEV.functionParameter.field.name", detail: "formula.functionList.DSTDEV.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DSTDEV.functionParameter.criteria.name", detail: "formula.functionList.DSTDEV.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DSTDEVP, functionType: t.Database, description: "formula.functionList.DSTDEVP.description", abstract: "formula.functionList.DSTDEVP.abstract", functionParameter: [ { name: "formula.functionList.DSTDEVP.functionParameter.database.name", detail: "formula.functionList.DSTDEVP.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DSTDEVP.functionParameter.field.name", detail: "formula.functionList.DSTDEVP.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DSTDEVP.functionParameter.criteria.name", detail: "formula.functionList.DSTDEVP.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DSUM, functionType: t.Database, description: "formula.functionList.DSUM.description", abstract: "formula.functionList.DSUM.abstract", functionParameter: [ { name: "formula.functionList.DSUM.functionParameter.database.name", detail: "formula.functionList.DSUM.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DSUM.functionParameter.field.name", detail: "formula.functionList.DSUM.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DSUM.functionParameter.criteria.name", detail: "formula.functionList.DSUM.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DVAR, functionType: t.Database, description: "formula.functionList.DVAR.description", abstract: "formula.functionList.DVAR.abstract", functionParameter: [ { name: "formula.functionList.DVAR.functionParameter.database.name", detail: "formula.functionList.DVAR.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DVAR.functionParameter.field.name", detail: "formula.functionList.DVAR.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DVAR.functionParameter.criteria.name", detail: "formula.functionList.DVAR.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] }, { functionName: $.DVARP, functionType: t.Database, description: "formula.functionList.DVARP.description", abstract: "formula.functionList.DVARP.abstract", functionParameter: [ { name: "formula.functionList.DVARP.functionParameter.database.name", detail: "formula.functionList.DVARP.functionParameter.database.detail", example: "A4:E10", require: 1, repeat: 0 }, { name: "formula.functionList.DVARP.functionParameter.field.name", detail: "formula.functionList.DVARP.functionParameter.field.detail", example: "D4", require: 1, repeat: 0 }, { name: "formula.functionList.DVARP.functionParameter.criteria.name", detail: "formula.functionList.DVARP.functionParameter.criteria.detail", example: "A1:B2", require: 1, repeat: 0 } ] } ], Xi = [ { functionName: B.DATE, functionType: t.Date, description: "formula.functionList.DATE.description", abstract: "formula.functionList.DATE.abstract", functionParameter: [ { name: "formula.functionList.DATE.functionParameter.year.name", detail: "formula.functionList.DATE.functionParameter.year.detail", example: "2024", require: 1, repeat: 0 }, { name: "formula.functionList.DATE.functionParameter.month.name", detail: "formula.functionList.DATE.functionParameter.month.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.DATE.functionParameter.day.name", detail: "formula.functionList.DATE.functionParameter.day.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: B.DATEDIF, functionType: t.Date, description: "formula.functionList.DATEDIF.description", abstract: "formula.functionList.DATEDIF.abstract", functionParameter: [ { name: "formula.functionList.DATEDIF.functionParameter.startDate.name", detail: "formula.functionList.DATEDIF.functionParameter.startDate.detail", example: '"2001-6-1"', require: 1, repeat: 0 }, { name: "formula.functionList.DATEDIF.functionParameter.endDate.name", detail: "formula.functionList.DATEDIF.functionParameter.endDate.detail", example: '"2002-8-15"', require: 1, repeat: 0 }, { name: "formula.functionList.DATEDIF.functionParameter.method.name", detail: "formula.functionList.DATEDIF.functionParameter.method.detail", example: '"D"', require: 1, repeat: 0 } ] }, { functionName: B.DATEVALUE, functionType: t.Date, description: "formula.functionList.DATEVALUE.description", abstract: "formula.functionList.DATEVALUE.abstract", functionParameter: [ { name: "formula.functionList.DATEVALUE.functionParameter.dateText.name", detail: "formula.functionList.DATEVALUE.functionParameter.dateText.detail", example: '"2024-8-8"', require: 1, repeat: 0 } ] }, { functionName: B.DAY, functionType: t.Date, description: "formula.functionList.DAY.description", abstract: "formula.functionList.DAY.abstract", functionParameter: [ { name: "formula.functionList.DAY.functionParameter.serialNumber.name", detail: "formula.functionList.DAY.functionParameter.serialNumber.detail", example: '"1969-7-20"', require: 1, repeat: 0 } ] }, { functionName: B.DAYS, functionType: t.Date, description: "formula.functionList.DAYS.description", abstract: "formula.functionList.DAYS.abstract", functionParameter: [ { name: "formula.functionList.DAYS.functionParameter.endDate.name", detail: "formula.functionList.DAYS.functionParameter.endDate.detail", example: '"2021-12-31"', require: 1, repeat: 0 }, { name: "formula.functionList.DAYS.functionParameter.startDate.name", detail: "formula.functionList.DAYS.functionParameter.startDate.detail", example: '"2021-1-1"', require: 1, repeat: 0 } ] }, { functionName: B.DAYS360, functionType: t.Date, description: "formula.functionList.DAYS360.description", abstract: "formula.functionList.DAYS360.abstract", functionParameter: [ { name: "formula.functionList.DAYS360.functionParameter.startDate.name", detail: "formula.functionList.DAYS360.functionParameter.startDate.detail", example: '"2021-1-29"', require: 1, repeat: 0 }, { name: "formula.functionList.DAYS360.functionParameter.endDate.name", detail: "formula.functionList.DAYS360.functionParameter.endDate.detail", example: '"2021-3-31"', require: 1, repeat: 0 }, { name: "formula.functionList.DAYS360.functionParameter.method.name", detail: "formula.functionList.DAYS360.functionParameter.method.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: B.EDATE, functionType: t.Date, description: "formula.functionList.EDATE.description", abstract: "formula.functionList.EDATE.abstract", functionParameter: [ { name: "formula.functionList.EDATE.functionParameter.startDate.name", detail: "formula.functionList.EDATE.functionParameter.startDate.detail", example: "A1", require: 1, repeat: 0 }, { name: "formula.functionList.EDATE.functionParameter.months.name", detail: "formula.functionList.EDATE.functionParameter.months.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: B.EOMONTH, functionType: t.Date, description: "formula.functionList.EOMONTH.description", abstract: "formula.functionList.EOMONTH.abstract", functionParameter: [ { name: "formula.functionList.EOMONTH.functionParameter.startDate.name", detail: "formula.functionList.EOMONTH.functionParameter.startDate.detail", example: '"2011-1-1"', require: 1, repeat: 0 }, { name: "formula.functionList.EOMONTH.functionParameter.months.name", detail: "formula.functionList.EOMONTH.functionParameter.months.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: B.EPOCHTODATE, functionType: t.Date, description: "formula.functionList.EPOCHTODATE.description", abstract: "formula.functionList.EPOCHTODATE.abstract", functionParameter: [ { name: "formula.functionList.EPOCHTODATE.functionParameter.timestamp.name", detail: "formula.functionList.EPOCHTODATE.functionParameter.timestamp.detail", example: "1655906710", require: 1, repeat: 0 }, { name: "formula.functionList.EPOCHTODATE.functionParameter.unit.name", detail: "formula.functionList.EPOCHTODATE.functionParameter.unit.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: B.HOUR, functionType: t.Date, description: "formula.functionList.HOUR.description", abstract: "formula.functionList.HOUR.abstract", functionParameter: [ { name: "formula.functionList.HOUR.functionParameter.serialNumber.name", detail: "formula.functionList.HOUR.functionParameter.serialNumber.detail", example: '"2011-7-18 7:45"', require: 1, repeat: 0 } ] }, { functionName: B.ISOWEEKNUM, functionType: t.Date, description: "formula.functionList.ISOWEEKNUM.description", abstract: "formula.functionList.ISOWEEKNUM.abstract", functionParameter: [ { name: "formula.functionList.ISOWEEKNUM.functionParameter.date.name", detail: "formula.functionList.ISOWEEKNUM.functionParameter.date.detail", example: '"2012-3-9"', require: 1, repeat: 0 } ] }, { functionName: B.MINUTE, functionType: t.Date, description: "formula.functionList.MINUTE.description", abstract: "formula.functionList.MINUTE.abstract", functionParameter: [ { name: "formula.functionList.MINUTE.functionParameter.serialNumber.name", detail: "formula.functionList.MINUTE.functionParameter.serialNumber.detail", example: '"12:45"', require: 1, repeat: 0 } ] }, { functionName: B.MONTH, functionType: t.Date, description: "formula.functionList.MONTH.description", abstract: "formula.functionList.MONTH.abstract", functionParameter: [ { name: "formula.functionList.MONTH.functionParameter.serialNumber.name", detail: "formula.functionList.MONTH.functionParameter.serialNumber.detail", example: '"1969-7-20"', require: 1, repeat: 0 } ] }, { functionName: B.NETWORKDAYS, functionType: t.Date, description: "formula.functionList.NETWORKDAYS.description", abstract: "formula.functionList.NETWORKDAYS.abstract", functionParameter: [ { name: "formula.functionList.NETWORKDAYS.functionParameter.startDate.name", detail: "formula.functionList.NETWORKDAYS.functionParameter.startDate.detail", example: '"2012-10-1"', require: 1, repeat: 0 }, { name: "formula.functionList.NETWORKDAYS.functionParameter.endDate.name", detail: "formula.functionList.NETWORKDAYS.functionParameter.endDate.detail", example: '"2013-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.NETWORKDAYS.functionParameter.holidays.name", detail: "formula.functionList.NETWORKDAYS.functionParameter.holidays.detail", example: '"2012-11-22"', require: 0, repeat: 0 } ] }, { functionName: B.NETWORKDAYS_INTL, functionType: t.Date, description: "formula.functionList.NETWORKDAYS_INTL.description", abstract: "formula.functionList.NETWORKDAYS_INTL.abstract", functionParameter: [ { name: "formula.functionList.NETWORKDAYS_INTL.functionParameter.startDate.name", detail: "formula.functionList.NETWORKDAYS_INTL.functionParameter.startDate.detail", example: '"2012-10-1"', require: 1, repeat: 0 }, { name: "formula.functionList.NETWORKDAYS_INTL.functionParameter.endDate.name", detail: "formula.functionList.NETWORKDAYS_INTL.functionParameter.endDate.detail", example: '"2013-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.NETWORKDAYS_INTL.functionParameter.weekend.name", detail: "formula.functionList.NETWORKDAYS_INTL.functionParameter.weekend.detail", example: "6", require: 0, repeat: 0 }, { name: "formula.functionList.NETWORKDAYS_INTL.functionParameter.holidays.name", detail: "formula.functionList.NETWORKDAYS_INTL.functionParameter.holidays.detail", example: '"2012-11-22"', require: 0, repeat: 0 } ] }, { functionName: B.NOW, functionType: t.Date, description: "formula.functionList.NOW.description", abstract: "formula.functionList.NOW.abstract", functionParameter: [] }, { functionName: B.SECOND, functionType: t.Date, description: "formula.functionList.SECOND.description", abstract: "formula.functionList.SECOND.abstract", functionParameter: [ { name: "formula.functionList.SECOND.functionParameter.serialNumber.name", detail: "formula.functionList.SECOND.functionParameter.serialNumber.detail", example: '"4:48:18"', require: 1, repeat: 0 } ] }, { functionName: B.TIME, functionType: t.Date, description: "formula.functionList.TIME.description", abstract: "formula.functionList.TIME.abstract", functionParameter: [ { name: "formula.functionList.TIME.functionParameter.hour.name", detail: "formula.functionList.TIME.functionParameter.hour.detail", example: "15", require: 1, repeat: 0 }, { name: "formula.functionList.TIME.functionParameter.minute.name", detail: "formula.functionList.TIME.functionParameter.minute.detail", example: "20", require: 1, repeat: 0 }, { name: "formula.functionList.TIME.functionParameter.second.name", detail: "formula.functionList.TIME.functionParameter.second.detail", example: "59", require: 1, repeat: 0 } ] }, { functionName: B.TIMEVALUE, functionType: t.Date, description: "formula.functionList.TIMEVALUE.description", abstract: "formula.functionList.TIMEVALUE.abstract", functionParameter: [ { name: "formula.functionList.TIMEVALUE.functionParameter.timeText.name", detail: "formula.functionList.TIMEVALUE.functionParameter.timeText.detail", example: '"15:20:59"', require: 1, repeat: 0 } ] }, { functionName: B.TO_DATE, functionType: t.Date, description: "formula.functionList.TO_DATE.description", abstract: "formula.functionList.TO_DATE.abstract", functionParameter: [ { name: "formula.functionList.TO_DATE.functionParameter.value.name", detail: "formula.functionList.TO_DATE.functionParameter.value.detail", example: "40826.4375", require: 1, repeat: 0 } ] }, { functionName: B.TODAY, functionType: t.Date, description: "formula.functionList.TODAY.description", abstract: "formula.functionList.TODAY.abstract", functionParameter: [] }, { functionName: B.WEEKDAY, functionType: t.Date, description: "formula.functionList.WEEKDAY.description", abstract: "formula.functionList.WEEKDAY.abstract", functionParameter: [ { name: "formula.functionList.WEEKDAY.functionParameter.serialNumber.name", detail: "formula.functionList.WEEKDAY.functionParameter.serialNumber.detail", example: '"2008-2-14"', require: 1, repeat: 0 }, { name: "formula.functionList.WEEKDAY.functionParameter.returnType.name", detail: "formula.functionList.WEEKDAY.functionParameter.returnType.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: B.WEEKNUM, functionType: t.Date, description: "formula.functionList.WEEKNUM.description", abstract: "formula.functionList.WEEKNUM.abstract", functionParameter: [ { name: "formula.functionList.WEEKNUM.functionParameter.serialNumber.name", detail: "formula.functionList.WEEKNUM.functionParameter.serialNumber.detail", example: '"2012-3-9"', require: 1, repeat: 0 }, { name: "formula.functionList.WEEKNUM.functionParameter.returnType.name", detail: "formula.functionList.WEEKNUM.functionParameter.returnType.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: B.WORKDAY, functionType: t.Date, description: "formula.functionList.WORKDAY.description", abstract: "formula.functionList.WORKDAY.abstract", functionParameter: [ { name: "formula.functionList.WORKDAY.functionParameter.startDate.name", detail: "formula.functionList.WORKDAY.functionParameter.startDate.detail", example: '"2008-10-1"', require: 1, repeat: 0 }, { name: "formula.functionList.WORKDAY.functionParameter.days.name", detail: "formula.functionList.WORKDAY.functionParameter.days.detail", example: "151", require: 1, repeat: 0 }, { name: "formula.functionList.WORKDAY.functionParameter.holidays.name", detail: "formula.functionList.WORKDAY.functionParameter.holidays.detail", example: '"2008-11-26"', require: 0, repeat: 0 } ] }, { functionName: B.WORKDAY_INTL, functionType: t.Date, description: "formula.functionList.WORKDAY_INTL.description", abstract: "formula.functionList.WORKDAY_INTL.abstract", functionParameter: [ { name: "formula.functionList.WORKDAY_INTL.functionParameter.startDate.name", detail: "formula.functionList.WORKDAY_INTL.functionParameter.startDate.detail", example: '"2008-10-1"', require: 1, repeat: 0 }, { name: "formula.functionList.WORKDAY_INTL.functionParameter.days.name", detail: "formula.functionList.WORKDAY_INTL.functionParameter.days.detail", example: "151", require: 1, repeat: 0 }, { name: "formula.functionList.WORKDAY_INTL.functionParameter.weekend.name", detail: "formula.functionList.WORKDAY_INTL.functionParameter.weekend.detail", example: "6", require: 0, repeat: 0 }, { name: "formula.functionList.WORKDAY_INTL.functionParameter.holidays.name", detail: "formula.functionList.WORKDAY_INTL.functionParameter.holidays.detail", example: '"2008-11-26"', require: 0, repeat: 0 } ] }, { functionName: B.YEAR, functionType: t.Date, description: "formula.functionList.YEAR.description", abstract: "formula.functionList.YEAR.abstract", functionParameter: [ { name: "formula.functionList.YEAR.functionParameter.serialNumber.name", detail: "formula.functionList.YEAR.functionParameter.serialNumber.detail", example: '"1969-7-20"', require: 1, repeat: 0 } ] }, { functionName: B.YEARFRAC, functionType: t.Date, description: "formula.functionList.YEARFRAC.description", abstract: "formula.functionList.YEARFRAC.abstract", functionParameter: [ { name: "formula.functionList.YEARFRAC.functionParameter.startDate.name", detail: "formula.functionList.YEARFRAC.functionParameter.startDate.detail", example: '"2012-1-1"', require: 1, repeat: 0 }, { name: "formula.functionList.YEARFRAC.functionParameter.endDate.name", detail: "formula.functionList.YEARFRAC.functionParameter.endDate.detail", example: '"2012-7-30"', require: 1, repeat: 0 }, { name: "formula.functionList.YEARFRAC.functionParameter.basis.name", detail: "formula.functionList.YEARFRAC.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] } ], Wi = [ { functionName: A.BESSELI, functionType: t.Engineering, description: "formula.functionList.BESSELI.description", abstract: "formula.functionList.BESSELI.abstract", functionParameter: [ { name: "formula.functionList.BESSELI.functionParameter.x.name", detail: "formula.functionList.BESSELI.functionParameter.x.detail", example: "1.5", require: 1, repeat: 0 }, { name: "formula.functionList.BESSELI.functionParameter.n.name", detail: "formula.functionList.BESSELI.functionParameter.n.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: A.BESSELJ, functionType: t.Engineering, description: "formula.functionList.BESSELJ.description", abstract: "formula.functionList.BESSELJ.abstract", functionParameter: [ { name: "formula.functionList.BESSELJ.functionParameter.x.name", detail: "formula.functionList.BESSELJ.functionParameter.x.detail", example: "1.5", require: 1, repeat: 0 }, { name: "formula.functionList.BESSELJ.functionParameter.n.name", detail: "formula.functionList.BESSELJ.functionParameter.n.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: A.BESSELK, functionType: t.Engineering, description: "formula.functionList.BESSELK.description", abstract: "formula.functionList.BESSELK.abstract", functionParameter: [ { name: "formula.functionList.BESSELK.functionParameter.x.name", detail: "formula.functionList.BESSELK.functionParameter.x.detail", example: "1.5", require: 1, repeat: 0 }, { name: "formula.functionList.BESSELK.functionParameter.n.name", detail: "formula.functionList.BESSELK.functionParameter.n.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: A.BESSELY, functionType: t.Engineering, description: "formula.functionList.BESSELY.description", abstract: "formula.functionList.BESSELY.abstract", functionParameter: [ { name: "formula.functionList.BESSELY.functionParameter.x.name", detail: "formula.functionList.BESSELY.functionParameter.x.detail", example: "1.5", require: 1, repeat: 0 }, { name: "formula.functionList.BESSELY.functionParameter.n.name", detail: "formula.functionList.BESSELY.functionParameter.n.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: A.BIN2DEC, functionType: t.Engineering, description: "formula.functionList.BIN2DEC.description", abstract: "formula.functionList.BIN2DEC.abstract", functionParameter: [ { name: "formula.functionList.BIN2DEC.functionParameter.number.name", detail: "formula.functionList.BIN2DEC.functionParameter.number.detail", example: "1100100", require: 1, repeat: 0 } ] }, { functionName: A.BIN2HEX, functionType: t.Engineering, description: "formula.functionList.BIN2HEX.description", abstract: "formula.functionList.BIN2HEX.abstract", functionParameter: [ { name: "formula.functionList.BIN2HEX.functionParameter.number.name", detail: "formula.functionList.BIN2HEX.functionParameter.number.detail", example: "11111011", require: 1, repeat: 0 }, { name: "formula.functionList.BIN2HEX.functionParameter.places.name", detail: "formula.functionList.BIN2HEX.functionParameter.places.detail", example: "4", require: 0, repeat: 0 } ] }, { functionName: A.BIN2OCT, functionType: t.Engineering, description: "formula.functionList.BIN2OCT.description", abstract: "formula.functionList.BIN2OCT.abstract", functionParameter: [ { name: "formula.functionList.BIN2OCT.functionParameter.number.name", detail: "formula.functionList.BIN2OCT.functionParameter.number.detail", example: "1001", require: 1, repeat: 0 }, { name: "formula.functionList.BIN2OCT.functionParameter.places.name", detail: "formula.functionList.BIN2OCT.functionParameter.places.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: A.BITAND, functionType: t.Engineering, description: "formula.functionList.BITAND.description", abstract: "formula.functionList.BITAND.abstract", functionParameter: [ { name: "formula.functionList.BITAND.functionParameter.number1.name", detail: "formula.functionList.BITAND.functionParameter.number1.detail", example: "13", require: 1, repeat: 0 }, { name: "formula.functionList.BITAND.functionParameter.number2.name", detail: "formula.functionList.BITAND.functionParameter.number2.detail", example: "25", require: 1, repeat: 0 } ] }, { functionName: A.BITLSHIFT, functionType: t.Engineering, description: "formula.functionList.BITLSHIFT.description", abstract: "formula.functionList.BITLSHIFT.abstract", functionParameter: [ { name: "formula.functionList.BITLSHIFT.functionParameter.number.name", detail: "formula.functionList.BITLSHIFT.functionParameter.number.detail", example: "4", require: 1, repeat: 0 }, { name: "formula.functionList.BITLSHIFT.functionParameter.shiftAmount.name", detail: "formula.functionList.BITLSHIFT.functionParameter.shiftAmount.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: A.BITOR, functionType: t.Engineering, description: "formula.functionList.BITOR.description", abstract: "formula.functionList.BITOR.abstract", functionParameter: [ { name: "formula.functionList.BITOR.functionParameter.number1.name", detail: "formula.functionList.BITOR.functionParameter.number1.detail", example: "23", require: 1, repeat: 0 }, { name: "formula.functionList.BITOR.functionParameter.number2.name", detail: "formula.functionList.BITOR.functionParameter.number2.detail", example: "10", require: 1, repeat: 0 } ] }, { functionName: A.BITRSHIFT, functionType: t.Engineering, description: "formula.functionList.BITRSHIFT.description", abstract: "formula.functionList.BITRSHIFT.abstract", functionParameter: [ { name: "formula.functionList.BITRSHIFT.functionParameter.number.name", detail: "formula.functionList.BITRSHIFT.functionParameter.number.detail", example: "13", require: 1, repeat: 0 }, { name: "formula.functionList.BITRSHIFT.functionParameter.shiftAmount.name", detail: "formula.functionList.BITRSHIFT.functionParameter.shiftAmount.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: A.BITXOR, functionType: t.Engineering, description: "formula.functionList.BITXOR.description", abstract: "formula.functionList.BITXOR.abstract", functionParameter: [ { name: "formula.functionList.BITXOR.functionParameter.number1.name", detail: "formula.functionList.BITXOR.functionParameter.number1.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.BITXOR.functionParameter.number2.name", detail: "formula.functionList.BITXOR.functionParameter.number2.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: A.COMPLEX, functionType: t.Engineering, description: "formula.functionList.COMPLEX.description", abstract: "formula.functionList.COMPLEX.abstract", functionParameter: [ { name: "formula.functionList.COMPLEX.functionParameter.realNum.name", detail: "formula.functionList.COMPLEX.functionParameter.realNum.detail", example: "3", require: 1, repeat: 0 }, { name: "formula.functionList.COMPLEX.functionParameter.iNum.name", detail: "formula.functionList.COMPLEX.functionParameter.iNum.detail", example: "4", require: 1, repeat: 0 }, { name: "formula.functionList.COMPLEX.functionParameter.suffix.name", detail: "formula.functionList.COMPLEX.functionParameter.suffix.detail", example: '"i"', require: 0, repeat: 0 } ] }, { functionName: A.CONVERT, functionType: t.Engineering, description: "formula.functionList.CONVERT.description", abstract: "formula.functionList.CONVERT.abstract", functionParameter: [ { name: "formula.functionList.CONVERT.functionParameter.number.name", detail: "formula.functionList.CONVERT.functionParameter.number.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.CONVERT.functionParameter.fromUnit.name", detail: "formula.functionList.CONVERT.functionParameter.fromUnit.detail", example: '"lbm"', require: 1, repeat: 0 }, { name: "formula.functionList.CONVERT.functionParameter.toUnit.name", detail: "formula.functionList.CONVERT.functionParameter.toUnit.detail", example: '"kg"', require: 1, repeat: 0 } ] }, { functionName: A.DEC2BIN, functionType: t.Engineering, description: "formula.functionList.DEC2BIN.description", abstract: "formula.functionList.DEC2BIN.abstract", functionParameter: [ { name: "formula.functionList.DEC2BIN.functionParameter.number.name", detail: "formula.functionList.DEC2BIN.functionParameter.number.detail", example: "9", require: 1, repeat: 0 }, { name: "formula.functionList.DEC2BIN.functionParameter.places.name", detail: "formula.functionList.DEC2BIN.functionParameter.places.detail", example: "4", require: 0, repeat: 0 } ] }, { functionName: A.DEC2HEX, functionType: t.Engineering, description: "formula.functionList.DEC2HEX.description", abstract: "formula.functionList.DEC2HEX.abstract", functionParameter: [ { name: "formula.functionList.DEC2HEX.functionParameter.number.name", detail: "formula.functionList.DEC2HEX.functionParameter.number.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.DEC2HEX.functionParameter.places.name", detail: "formula.functionList.DEC2HEX.functionParameter.places.detail", example: "4", require: 0, repeat: 0 } ] }, { functionName: A.DEC2OCT, functionType: t.Engineering, description: "formula.functionList.DEC2OCT.description", abstract: "formula.functionList.DEC2OCT.abstract", functionParameter: [ { name: "formula.functionList.DEC2OCT.functionParameter.number.name", detail: "formula.functionList.DEC2OCT.functionParameter.number.detail", example: "58", require: 1, repeat: 0 }, { name: "formula.functionList.DEC2OCT.functionParameter.places.name", detail: "formula.functionList.DEC2OCT.functionParameter.places.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: A.DELTA, functionType: t.Engineering, description: "formula.functionList.DELTA.description", abstract: "formula.functionList.DELTA.abstract", functionParameter: [ { name: "formula.functionList.DELTA.functionParameter.number1.name", detail: "formula.functionList.DELTA.functionParameter.number1.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.DELTA.functionParameter.number2.name", detail: "formula.functionList.DELTA.functionParameter.number2.detail", example: "4", require: 0, repeat: 0 } ] }, { functionName: A.ERF, functionType: t.Engineering, description: "formula.functionList.ERF.description", abstract: "formula.functionList.ERF.abstract", functionParameter: [ { name: "formula.functionList.ERF.functionParameter.lowerLimit.name", detail: "formula.functionList.ERF.functionParameter.lowerLimit.detail", example: "0.745", require: 1, repeat: 0 }, { name: "formula.functionList.ERF.functionParameter.upperLimit.name", detail: "formula.functionList.ERF.functionParameter.upperLimit.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: A.ERF_PRECISE, functionType: t.Engineering, description: "formula.functionList.ERF_PRECISE.description", abstract: "formula.functionList.ERF_PRECISE.abstract", functionParameter: [ { name: "formula.functionList.ERF_PRECISE.functionParameter.x.name", detail: "formula.functionList.ERF_PRECISE.functionParameter.x.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: A.ERFC, functionType: t.Engineering, description: "formula.functionList.ERFC.description", abstract: "formula.functionList.ERFC.abstract", functionParameter: [ { name: "formula.functionList.ERFC.functionParameter.x.name", detail: "formula.functionList.ERFC.functionParameter.x.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: A.ERFC_PRECISE, functionType: t.Engineering, description: "formula.functionList.ERFC_PRECISE.description", abstract: "formula.functionList.ERFC_PRECISE.abstract", functionParameter: [ { name: "formula.functionList.ERFC_PRECISE.functionParameter.x.name", detail: "formula.functionList.ERFC_PRECISE.functionParameter.x.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: A.GESTEP, functionType: t.Engineering, description: "formula.functionList.GESTEP.description", abstract: "formula.functionList.GESTEP.abstract", functionParameter: [ { name: "formula.functionList.GESTEP.functionParameter.number.name", detail: "formula.functionList.GESTEP.functionParameter.number.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.GESTEP.functionParameter.step.name", detail: "formula.functionList.GESTEP.functionParameter.step.detail", example: "4", require: 0, repeat: 0 } ] }, { functionName: A.HEX2BIN, functionType: t.Engineering, description: "formula.functionList.HEX2BIN.description", abstract: "formula.functionList.HEX2BIN.abstract", functionParameter: [ { name: "formula.functionList.HEX2BIN.functionParameter.number.name", detail: "formula.functionList.HEX2BIN.functionParameter.number.detail", example: '"F"', require: 1, repeat: 0 }, { name: "formula.functionList.HEX2BIN.functionParameter.places.name", detail: "formula.functionList.HEX2BIN.functionParameter.places.detail", example: "8", require: 0, repeat: 0 } ] }, { functionName: A.HEX2DEC, functionType: t.Engineering, description: "formula.functionList.HEX2DEC.description", abstract: "formula.functionList.HEX2DEC.abstract", functionParameter: [ { name: "formula.functionList.HEX2DEC.functionParameter.number.name", detail: "formula.functionList.HEX2DEC.functionParameter.number.detail", example: '"A5"', require: 1, repeat: 0 } ] }, { functionName: A.HEX2OCT, functionType: t.Engineering, description: "formula.functionList.HEX2OCT.description", abstract: "formula.functionList.HEX2OCT.abstract", functionParameter: [ { name: "formula.functionList.HEX2OCT.functionParameter.number.name", detail: "formula.functionList.HEX2OCT.functionParameter.number.detail", example: '"F"', require: 1, repeat: 0 }, { name: "formula.functionList.HEX2OCT.functionParameter.places.name", detail: "formula.functionList.HEX2OCT.functionParameter.places.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: A.IMABS, functionType: t.Engineering, description: "formula.functionList.IMABS.description", abstract: "formula.functionList.IMABS.abstract", functionParameter: [ { name: "formula.functionList.IMABS.functionParameter.inumber.name", detail: "formula.functionList.IMABS.functionParameter.inumber.detail", example: '"5+12i"', require: 1, repeat: 0 } ] }, { functionName: A.IMAGINARY, functionType: t.Engineering, description: "formula.functionList.IMAGINARY.description", abstract: "formula.functionList.IMAGINARY.abstract", functionParameter: [ { name: "formula.functionList.IMAGINARY.functionParameter.inumber.name", detail: "formula.functionList.IMAGINARY.functionParameter.inumber.detail", example: '"3+4i"', require: 1, repeat: 0 } ] }, { functionName: A.IMARGUMENT, functionType: t.Engineering, description: "formula.functionList.IMARGUMENT.description", abstract: "formula.functionList.IMARGUMENT.abstract", functionParameter: [ { name: "formula.functionList.IMARGUMENT.functionParameter.inumber.name", detail: "formula.functionList.IMARGUMENT.functionParameter.inumber.detail", example: '"3+4i"', require: 1, repeat: 0 } ] }, { functionName: A.IMCONJUGATE, functionType: t.Engineering, description: "formula.functionList.IMCONJUGATE.description", abstract: "formula.functionList.IMCONJUGATE.abstract", functionParameter: [ { name: "formula.functionList.IMCONJUGATE.functionParameter.inumber.name", detail: "formula.functionList.IMCONJUGATE.functionParameter.inumber.detail", example: '"3+4i"', require: 1, repeat: 0 } ] }, { functionName: A.IMCOS, functionType: t.Engineering, description: "formula.functionList.IMCOS.description", abstract: "formula.functionList.IMCOS.abstract", functionParameter: [ { name: "formula.functionList.IMCOS.functionParameter.inumber.name", detail: "formula.functionList.IMCOS.functionParameter.inumber.detail", example: '"1+i"', require: 1, repeat: 0 } ] }, { functionName: A.IMCOSH, functionType: t.Engineering, description: "formula.functionList.IMCOSH.description", abstract: "formula.functionList.IMCOSH.abstract", functionParameter: [ { name: "formula.functionList.IMCOSH.functionParameter.inumber.name", detail: "formula.functionList.IMCOSH.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMCOT, functionType: t.Engineering, description: "formula.functionList.IMCOT.description", abstract: "formula.functionList.IMCOT.abstract", functionParameter: [ { name: "formula.functionList.IMCOT.functionParameter.inumber.name", detail: "formula.functionList.IMCOT.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMCOTH, functionType: t.Engineering, description: "formula.functionList.IMCOTH.description", abstract: "formula.functionList.IMCOTH.abstract", functionParameter: [ { name: "formula.functionList.IMCOTH.functionParameter.inumber.name", detail: "formula.functionList.IMCOTH.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMCSC, functionType: t.Engineering, description: "formula.functionList.IMCSC.description", abstract: "formula.functionList.IMCSC.abstract", functionParameter: [ { name: "formula.functionList.IMCSC.functionParameter.inumber.name", detail: "formula.functionList.IMCSC.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMCSCH, functionType: t.Engineering, description: "formula.functionList.IMCSCH.description", abstract: "formula.functionList.IMCSCH.abstract", functionParameter: [ { name: "formula.functionList.IMCSCH.functionParameter.inumber.name", detail: "formula.functionList.IMCSCH.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMDIV, functionType: t.Engineering, description: "formula.functionList.IMDIV.description", abstract: "formula.functionList.IMDIV.abstract", functionParameter: [ { name: "formula.functionList.IMDIV.functionParameter.inumber1.name", detail: "formula.functionList.IMDIV.functionParameter.inumber1.detail", example: '"-238+240i"', require: 1, repeat: 0 }, { name: "formula.functionList.IMDIV.functionParameter.inumber2.name", detail: "formula.functionList.IMDIV.functionParameter.inumber2.detail", example: '"10+24i"', require: 1, repeat: 0 } ] }, { functionName: A.IMEXP, functionType: t.Engineering, description: "formula.functionList.IMEXP.description", abstract: "formula.functionList.IMEXP.abstract", functionParameter: [ { name: "formula.functionList.IMEXP.functionParameter.inumber.name", detail: "formula.functionList.IMEXP.functionParameter.inumber.detail", example: '"1+i"', require: 1, repeat: 0 } ] }, { functionName: A.IMLN, functionType: t.Engineering, description: "formula.functionList.IMLN.description", abstract: "formula.functionList.IMLN.abstract", functionParameter: [ { name: "formula.functionList.IMLN.functionParameter.inumber.name", detail: "formula.functionList.IMLN.functionParameter.inumber.detail", example: '"3+4i"', require: 1, repeat: 0 } ] }, { functionName: A.IMLOG, functionType: t.Engineering, description: "formula.functionList.IMLOG.description", abstract: "formula.functionList.IMLOG.abstract", functionParameter: [ { name: "formula.functionList.IMLOG.functionParameter.inumber.name", detail: "formula.functionList.IMLOG.functionParameter.inumber.detail", example: '"3+4i"', require: 1, repeat: 0 }, { name: "formula.functionList.IMLOG.functionParameter.base.name", detail: "formula.functionList.IMLOG.functionParameter.base.detail", example: "10", require: 0, repeat: 0 } ] }, { functionName: A.IMLOG10, functionType: t.Engineering, description: "formula.functionList.IMLOG10.description", abstract: "formula.functionList.IMLOG10.abstract", functionParameter: [ { name: "formula.functionList.IMLOG10.functionParameter.inumber.name", detail: "formula.functionList.IMLOG10.functionParameter.inumber.detail", example: '"3+4i"', require: 1, repeat: 0 } ] }, { functionName: A.IMLOG2, functionType: t.Engineering, description: "formula.functionList.IMLOG2.description", abstract: "formula.functionList.IMLOG2.abstract", functionParameter: [ { name: "formula.functionList.IMLOG2.functionParameter.inumber.name", detail: "formula.functionList.IMLOG2.functionParameter.inumber.detail", example: '"3+4i"', require: 1, repeat: 0 } ] }, { functionName: A.IMPOWER, functionType: t.Engineering, description: "formula.functionList.IMPOWER.description", abstract: "formula.functionList.IMPOWER.abstract", functionParameter: [ { name: "formula.functionList.IMPOWER.functionParameter.inumber.name", detail: "formula.functionList.IMPOWER.functionParameter.inumber.detail", example: '"2+3i"', require: 1, repeat: 0 }, { name: "formula.functionList.IMPOWER.functionParameter.number.name", detail: "formula.functionList.IMPOWER.functionParameter.number.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: A.IMPRODUCT, functionType: t.Engineering, description: "formula.functionList.IMPRODUCT.description", abstract: "formula.functionList.IMPRODUCT.abstract", functionParameter: [ { name: "formula.functionList.IMPRODUCT.functionParameter.inumber1.name", detail: "formula.functionList.IMPRODUCT.functionParameter.inumber1.detail", example: '"3+4i"', require: 1, repeat: 0 }, { name: "formula.functionList.IMPRODUCT.functionParameter.inumber2.name", detail: "formula.functionList.IMPRODUCT.functionParameter.inumber2.detail", example: '"5-3i"', require: 0, repeat: 1 } ] }, { functionName: A.IMREAL, functionType: t.Engineering, description: "formula.functionList.IMREAL.description", abstract: "formula.functionList.IMREAL.abstract", functionParameter: [ { name: "formula.functionList.IMREAL.functionParameter.inumber.name", detail: "formula.functionList.IMREAL.functionParameter.inumber.detail", example: '"6-9i"', require: 1, repeat: 0 } ] }, { functionName: A.IMSEC, functionType: t.Engineering, description: "formula.functionList.IMSEC.description", abstract: "formula.functionList.IMSEC.abstract", functionParameter: [ { name: "formula.functionList.IMSEC.functionParameter.inumber.name", detail: "formula.functionList.IMSEC.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMSECH, functionType: t.Engineering, description: "formula.functionList.IMSECH.description", abstract: "formula.functionList.IMSECH.abstract", functionParameter: [ { name: "formula.functionList.IMSECH.functionParameter.inumber.name", detail: "formula.functionList.IMSECH.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMSIN, functionType: t.Engineering, description: "formula.functionList.IMSIN.description", abstract: "formula.functionList.IMSIN.abstract", functionParameter: [ { name: "formula.functionList.IMSIN.functionParameter.inumber.name", detail: "formula.functionList.IMSIN.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMSINH, functionType: t.Engineering, description: "formula.functionList.IMSINH.description", abstract: "formula.functionList.IMSINH.abstract", functionParameter: [ { name: "formula.functionList.IMSINH.functionParameter.inumber.name", detail: "formula.functionList.IMSINH.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMSQRT, functionType: t.Engineering, description: "formula.functionList.IMSQRT.description", abstract: "formula.functionList.IMSQRT.abstract", functionParameter: [ { name: "formula.functionList.IMSQRT.functionParameter.inumber.name", detail: "formula.functionList.IMSQRT.functionParameter.inumber.detail", example: '"1+i"', require: 1, repeat: 0 } ] }, { functionName: A.IMSUB, functionType: t.Engineering, description: "formula.functionList.IMSUB.description", abstract: "formula.functionList.IMSUB.abstract", functionParameter: [ { name: "formula.functionList.IMSUB.functionParameter.inumber1.name", detail: "formula.functionList.IMSUB.functionParameter.inumber1.detail", example: '"13+4i"', require: 1, repeat: 0 }, { name: "formula.functionList.IMSUB.functionParameter.inumber2.name", detail: "formula.functionList.IMSUB.functionParameter.inumber2.detail", example: '"5+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMSUM, functionType: t.Engineering, description: "formula.functionList.IMSUM.description", abstract: "formula.functionList.IMSUM.abstract", functionParameter: [ { name: "formula.functionList.IMSUM.functionParameter.inumber1.name", detail: "formula.functionList.IMSUM.functionParameter.inumber1.detail", example: '"3+4i"', require: 1, repeat: 0 }, { name: "formula.functionList.IMSUM.functionParameter.inumber2.name", detail: "formula.functionList.IMSUM.functionParameter.inumber2.detail", example: '"5-3i"', require: 0, repeat: 1 } ] }, { functionName: A.IMTAN, functionType: t.Engineering, description: "formula.functionList.IMTAN.description", abstract: "formula.functionList.IMTAN.abstract", functionParameter: [ { name: "formula.functionList.IMTAN.functionParameter.inumber.name", detail: "formula.functionList.IMTAN.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.IMTANH, functionType: t.Engineering, description: "formula.functionList.IMTANH.description", abstract: "formula.functionList.IMTANH.abstract", functionParameter: [ { name: "formula.functionList.IMTANH.functionParameter.inumber.name", detail: "formula.functionList.IMTANH.functionParameter.inumber.detail", example: '"4+3i"', require: 1, repeat: 0 } ] }, { functionName: A.OCT2BIN, functionType: t.Engineering, description: "formula.functionList.OCT2BIN.description", abstract: "formula.functionList.OCT2BIN.abstract", functionParameter: [ { name: "formula.functionList.OCT2BIN.functionParameter.number.name", detail: "formula.functionList.OCT2BIN.functionParameter.number.detail", example: "3", require: 1, repeat: 0 }, { name: "formula.functionList.OCT2BIN.functionParameter.places.name", detail: "formula.functionList.OCT2BIN.functionParameter.places.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: A.OCT2DEC, functionType: t.Engineering, description: "formula.functionList.OCT2DEC.description", abstract: "formula.functionList.OCT2DEC.abstract", functionParameter: [ { name: "formula.functionList.OCT2DEC.functionParameter.number.name", detail: "formula.functionList.OCT2DEC.functionParameter.number.detail", example: "54", require: 1, repeat: 0 } ] }, { functionName: A.OCT2HEX, functionType: t.Engineering, description: "formula.functionList.OCT2HEX.description", abstract: "formula.functionList.OCT2HEX.abstract", functionParameter: [ { name: "formula.functionList.OCT2HEX.functionParameter.number.name", detail: "formula.functionList.OCT2HEX.functionParameter.number.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.OCT2HEX.functionParameter.places.name", detail: "formula.functionList.OCT2HEX.functionParameter.places.detail", example: "4", require: 0, repeat: 0 } ] } ], Ki = [ { functionName: C.ACCRINT, functionType: t.Financial, description: "formula.functionList.ACCRINT.description", abstract: "formula.functionList.ACCRINT.abstract", functionParameter: [ { name: "formula.functionList.ACCRINT.functionParameter.issue.name", detail: "formula.functionList.ACCRINT.functionParameter.issue.detail", example: "39508", require: 1, repeat: 0 }, { name: "formula.functionList.ACCRINT.functionParameter.firstInterest.name", detail: "formula.functionList.ACCRINT.functionParameter.firstInterest.detail", example: "39691", require: 1, repeat: 0 }, { name: "formula.functionList.ACCRINT.functionParameter.settlement.name", detail: "formula.functionList.ACCRINT.functionParameter.settlement.detail", example: "39569", require: 1, repeat: 0 }, { name: "formula.functionList.ACCRINT.functionParameter.rate.name", detail: "formula.functionList.ACCRINT.functionParameter.rate.detail", example: "0.1", require: 1, repeat: 0 }, { name: "formula.functionList.ACCRINT.functionParameter.par.name", detail: "formula.functionList.ACCRINT.functionParameter.par.detail", example: "1000", require: 1, repeat: 0 }, { name: "formula.functionList.ACCRINT.functionParameter.frequency.name", detail: "formula.functionList.ACCRINT.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.ACCRINT.functionParameter.basis.name", detail: "formula.functionList.ACCRINT.functionParameter.basis.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.ACCRINT.functionParameter.calcMethod.name", detail: "formula.functionList.ACCRINT.functionParameter.calcMethod.detail", example: "true", require: 0, repeat: 0 } ] }, { functionName: C.ACCRINTM, functionType: t.Financial, description: "formula.functionList.ACCRINTM.description", abstract: "formula.functionList.ACCRINTM.abstract", functionParameter: [ { name: "formula.functionList.ACCRINTM.functionParameter.issue.name", detail: "formula.functionList.ACCRINTM.functionParameter.issue.detail", example: '"2008-4-1"', require: 1, repeat: 0 }, { name: "formula.functionList.ACCRINTM.functionParameter.settlement.name", detail: "formula.functionList.ACCRINTM.functionParameter.settlement.detail", example: '"2008-6-15"', require: 1, repeat: 0 }, { name: "formula.functionList.ACCRINTM.functionParameter.rate.name", detail: "formula.functionList.ACCRINTM.functionParameter.rate.detail", example: "0.1", require: 1, repeat: 0 }, { name: "formula.functionList.ACCRINTM.functionParameter.par.name", detail: "formula.functionList.ACCRINTM.functionParameter.par.detail", example: "1000", require: 1, repeat: 0 }, { name: "formula.functionList.ACCRINTM.functionParameter.basis.name", detail: "formula.functionList.ACCRINTM.functionParameter.basis.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: C.AMORDEGRC, functionType: t.Financial, description: "formula.functionList.AMORDEGRC.description", abstract: "formula.functionList.AMORDEGRC.abstract", functionParameter: [ { name: "formula.functionList.AMORDEGRC.functionParameter.number1.name", detail: "formula.functionList.AMORDEGRC.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.AMORDEGRC.functionParameter.number2.name", detail: "formula.functionList.AMORDEGRC.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: C.AMORLINC, functionType: t.Financial, description: "formula.functionList.AMORLINC.description", abstract: "formula.functionList.AMORLINC.abstract", functionParameter: [ { name: "formula.functionList.AMORLINC.functionParameter.cost.name", detail: "formula.functionList.AMORLINC.functionParameter.cost.detail", example: "2400", require: 1, repeat: 0 }, { name: "formula.functionList.AMORLINC.functionParameter.datePurchased.name", detail: "formula.functionList.AMORLINC.functionParameter.datePurchased.detail", example: "39679", require: 1, repeat: 0 }, { name: "formula.functionList.AMORLINC.functionParameter.firstPeriod.name", detail: "formula.functionList.AMORLINC.functionParameter.firstPeriod.detail", example: "39813", require: 1, repeat: 0 }, { name: "formula.functionList.AMORLINC.functionParameter.salvage.name", detail: "formula.functionList.AMORLINC.functionParameter.salvage.detail", example: "300", require: 1, repeat: 0 }, { name: "formula.functionList.AMORLINC.functionParameter.period.name", detail: "formula.functionList.AMORLINC.functionParameter.period.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.AMORLINC.functionParameter.rate.name", detail: "formula.functionList.AMORLINC.functionParameter.rate.detail", example: "0.15", require: 1, repeat: 0 }, { name: "formula.functionList.AMORLINC.functionParameter.basis.name", detail: "formula.functionList.AMORLINC.functionParameter.basis.detail", example: "0", require: 0, repeat: 0 } ] }, { functionName: C.COUPDAYBS, functionType: t.Financial, description: "formula.functionList.COUPDAYBS.description", abstract: "formula.functionList.COUPDAYBS.abstract", functionParameter: [ { name: "formula.functionList.COUPDAYBS.functionParameter.settlement.name", detail: "formula.functionList.COUPDAYBS.functionParameter.settlement.detail", example: '"2011-1-25"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPDAYBS.functionParameter.maturity.name", detail: "formula.functionList.COUPDAYBS.functionParameter.maturity.detail", example: '"2011-11-15"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPDAYBS.functionParameter.frequency.name", detail: "formula.functionList.COUPDAYBS.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.COUPDAYBS.functionParameter.basis.name", detail: "formula.functionList.COUPDAYBS.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.COUPDAYS, functionType: t.Financial, description: "formula.functionList.COUPDAYS.description", abstract: "formula.functionList.COUPDAYS.abstract", functionParameter: [ { name: "formula.functionList.COUPDAYS.functionParameter.settlement.name", detail: "formula.functionList.COUPDAYS.functionParameter.settlement.detail", example: '"2011-1-25"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPDAYS.functionParameter.maturity.name", detail: "formula.functionList.COUPDAYS.functionParameter.maturity.detail", example: '"2011-11-15"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPDAYS.functionParameter.frequency.name", detail: "formula.functionList.COUPDAYS.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.COUPDAYS.functionParameter.basis.name", detail: "formula.functionList.COUPDAYS.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.COUPDAYSNC, functionType: t.Financial, description: "formula.functionList.COUPDAYSNC.description", abstract: "formula.functionList.COUPDAYSNC.abstract", functionParameter: [ { name: "formula.functionList.COUPDAYSNC.functionParameter.settlement.name", detail: "formula.functionList.COUPDAYSNC.functionParameter.settlement.detail", example: '"2011-1-25"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPDAYSNC.functionParameter.maturity.name", detail: "formula.functionList.COUPDAYSNC.functionParameter.maturity.detail", example: '"2011-11-15"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPDAYSNC.functionParameter.frequency.name", detail: "formula.functionList.COUPDAYSNC.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.COUPDAYSNC.functionParameter.basis.name", detail: "formula.functionList.COUPDAYSNC.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.COUPNCD, functionType: t.Financial, description: "formula.functionList.COUPNCD.description", abstract: "formula.functionList.COUPNCD.abstract", functionParameter: [ { name: "formula.functionList.COUPNCD.functionParameter.settlement.name", detail: "formula.functionList.COUPNCD.functionParameter.settlement.detail", example: '"2011-1-25"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPNCD.functionParameter.maturity.name", detail: "formula.functionList.COUPNCD.functionParameter.maturity.detail", example: '"2011-11-15"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPNCD.functionParameter.frequency.name", detail: "formula.functionList.COUPNCD.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.COUPNCD.functionParameter.basis.name", detail: "formula.functionList.COUPNCD.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.COUPNUM, functionType: t.Financial, description: "formula.functionList.COUPNUM.description", abstract: "formula.functionList.COUPNUM.abstract", functionParameter: [ { name: "formula.functionList.COUPNUM.functionParameter.settlement.name", detail: "formula.functionList.COUPNUM.functionParameter.settlement.detail", example: '"2011-1-25"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPNUM.functionParameter.maturity.name", detail: "formula.functionList.COUPNUM.functionParameter.maturity.detail", example: '"2011-11-15"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPNUM.functionParameter.frequency.name", detail: "formula.functionList.COUPNUM.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.COUPNUM.functionParameter.basis.name", detail: "formula.functionList.COUPNUM.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.COUPPCD, functionType: t.Financial, description: "formula.functionList.COUPPCD.description", abstract: "formula.functionList.COUPPCD.abstract", functionParameter: [ { name: "formula.functionList.COUPPCD.functionParameter.settlement.name", detail: "formula.functionList.COUPPCD.functionParameter.settlement.detail", example: '"2011-1-25"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPPCD.functionParameter.maturity.name", detail: "formula.functionList.COUPPCD.functionParameter.maturity.detail", example: '"2011-11-15"', require: 1, repeat: 0 }, { name: "formula.functionList.COUPPCD.functionParameter.frequency.name", detail: "formula.functionList.COUPPCD.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.COUPPCD.functionParameter.basis.name", detail: "formula.functionList.COUPPCD.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.CUMIPMT, functionType: t.Financial, description: "formula.functionList.CUMIPMT.description", abstract: "formula.functionList.CUMIPMT.abstract", functionParameter: [ { name: "formula.functionList.CUMIPMT.functionParameter.rate.name", detail: "formula.functionList.CUMIPMT.functionParameter.rate.detail", example: "0.09/12", require: 1, repeat: 0 }, { name: "formula.functionList.CUMIPMT.functionParameter.nper.name", detail: "formula.functionList.CUMIPMT.functionParameter.nper.detail", example: "30*12", require: 1, repeat: 0 }, { name: "formula.functionList.CUMIPMT.functionParameter.pv.name", detail: "formula.functionList.CUMIPMT.functionParameter.pv.detail", example: "125000", require: 1, repeat: 0 }, { name: "formula.functionList.CUMIPMT.functionParameter.startPeriod.name", detail: "formula.functionList.CUMIPMT.functionParameter.startPeriod.detail", example: "13", require: 1, repeat: 0 }, { name: "formula.functionList.CUMIPMT.functionParameter.endPeriod.name", detail: "formula.functionList.CUMIPMT.functionParameter.endPeriod.detail", example: "24", require: 1, repeat: 0 }, { name: "formula.functionList.CUMIPMT.functionParameter.type.name", detail: "formula.functionList.CUMIPMT.functionParameter.type.detail", example: "0", require: 1, repeat: 0 } ] }, { functionName: C.CUMPRINC, functionType: t.Financial, description: "formula.functionList.CUMPRINC.description", abstract: "formula.functionList.CUMPRINC.abstract", functionParameter: [ { name: "formula.functionList.CUMPRINC.functionParameter.rate.name", detail: "formula.functionList.CUMPRINC.functionParameter.rate.detail", example: "0.09/12", require: 1, repeat: 0 }, { name: "formula.functionList.CUMPRINC.functionParameter.nper.name", detail: "formula.functionList.CUMPRINC.functionParameter.nper.detail", example: "30*12", require: 1, repeat: 0 }, { name: "formula.functionList.CUMPRINC.functionParameter.pv.name", detail: "formula.functionList.CUMPRINC.functionParameter.pv.detail", example: "125000", require: 1, repeat: 0 }, { name: "formula.functionList.CUMPRINC.functionParameter.startPeriod.name", detail: "formula.functionList.CUMPRINC.functionParameter.startPeriod.detail", example: "13", require: 1, repeat: 0 }, { name: "formula.functionList.CUMPRINC.functionParameter.endPeriod.name", detail: "formula.functionList.CUMPRINC.functionParameter.endPeriod.detail", example: "24", require: 1, repeat: 0 }, { name: "formula.functionList.CUMPRINC.functionParameter.type.name", detail: "formula.functionList.CUMPRINC.functionParameter.type.detail", example: "0", require: 1, repeat: 0 } ] }, { functionName: C.DB, functionType: t.Financial, description: "formula.functionList.DB.description", abstract: "formula.functionList.DB.abstract", functionParameter: [ { name: "formula.functionList.DB.functionParameter.cost.name", detail: "formula.functionList.DB.functionParameter.cost.detail", example: "10000000", require: 1, repeat: 0 }, { name: "formula.functionList.DB.functionParameter.salvage.name", detail: "formula.functionList.DB.functionParameter.salvage.detail", example: "1000000", require: 1, repeat: 0 }, { name: "formula.functionList.DB.functionParameter.life.name", detail: "formula.functionList.DB.functionParameter.life.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.DB.functionParameter.period.name", detail: "formula.functionList.DB.functionParameter.period.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.DB.functionParameter.month.name", detail: "formula.functionList.DB.functionParameter.month.detail", example: "7", require: 0, repeat: 0 } ] }, { functionName: C.DDB, functionType: t.Financial, description: "formula.functionList.DDB.description", abstract: "formula.functionList.DDB.abstract", functionParameter: [ { name: "formula.functionList.DDB.functionParameter.cost.name", detail: "formula.functionList.DDB.functionParameter.cost.detail", example: "24000", require: 1, repeat: 0 }, { name: "formula.functionList.DDB.functionParameter.salvage.name", detail: "formula.functionList.DDB.functionParameter.salvage.detail", example: "3000", require: 1, repeat: 0 }, { name: "formula.functionList.DDB.functionParameter.life.name", detail: "formula.functionList.DDB.functionParameter.life.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.DDB.functionParameter.period.name", detail: "formula.functionList.DDB.functionParameter.period.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.DDB.functionParameter.factor.name", detail: "formula.functionList.DDB.functionParameter.factor.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: C.DISC, functionType: t.Financial, description: "formula.functionList.DISC.description", abstract: "formula.functionList.DISC.abstract", functionParameter: [ { name: "formula.functionList.DISC.functionParameter.settlement.name", detail: "formula.functionList.DISC.functionParameter.settlement.detail", example: '"2018-7-1"', require: 1, repeat: 0 }, { name: "formula.functionList.DISC.functionParameter.maturity.name", detail: "formula.functionList.DISC.functionParameter.maturity.detail", example: '"2048-1-1"', require: 1, repeat: 0 }, { name: "formula.functionList.DISC.functionParameter.pr.name", detail: "formula.functionList.DISC.functionParameter.pr.detail", example: "97.975", require: 1, repeat: 0 }, { name: "formula.functionList.DISC.functionParameter.redemption.name", detail: "formula.functionList.DISC.functionParameter.redemption.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.DISC.functionParameter.basis.name", detail: "formula.functionList.DISC.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.DOLLARDE, functionType: t.Financial, description: "formula.functionList.DOLLARDE.description", abstract: "formula.functionList.DOLLARDE.abstract", functionParameter: [ { name: "formula.functionList.DOLLARDE.functionParameter.fractionalDollar.name", detail: "formula.functionList.DOLLARDE.functionParameter.fractionalDollar.detail", example: "1.02", require: 1, repeat: 0 }, { name: "formula.functionList.DOLLARDE.functionParameter.fraction.name", detail: "formula.functionList.DOLLARDE.functionParameter.fraction.detail", example: "16", require: 1, repeat: 0 } ] }, { functionName: C.DOLLARFR, functionType: t.Financial, description: "formula.functionList.DOLLARFR.description", abstract: "formula.functionList.DOLLARFR.abstract", functionParameter: [ { name: "formula.functionList.DOLLARFR.functionParameter.decimalDollar.name", detail: "formula.functionList.DOLLARFR.functionParameter.decimalDollar.detail", example: "1.125", require: 1, repeat: 0 }, { name: "formula.functionList.DOLLARFR.functionParameter.fraction.name", detail: "formula.functionList.DOLLARFR.functionParameter.fraction.detail", example: "16", require: 1, repeat: 0 } ] }, { functionName: C.DURATION, functionType: t.Financial, description: "formula.functionList.DURATION.description", abstract: "formula.functionList.DURATION.abstract", functionParameter: [ { name: "formula.functionList.DURATION.functionParameter.settlement.name", detail: "formula.functionList.DURATION.functionParameter.settlement.detail", example: '"2018-7-1"', require: 1, repeat: 0 }, { name: "formula.functionList.DURATION.functionParameter.maturity.name", detail: "formula.functionList.DURATION.functionParameter.maturity.detail", example: '"2048-1-1"', require: 1, repeat: 0 }, { name: "formula.functionList.DURATION.functionParameter.coupon.name", detail: "formula.functionList.DURATION.functionParameter.coupon.detail", example: "0.08", require: 1, repeat: 0 }, { name: "formula.functionList.DURATION.functionParameter.yld.name", detail: "formula.functionList.DURATION.functionParameter.yld.detail", example: "0.09", require: 1, repeat: 0 }, { name: "formula.functionList.DURATION.functionParameter.frequency.name", detail: "formula.functionList.DURATION.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.DURATION.functionParameter.basis.name", detail: "formula.functionList.DURATION.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.EFFECT, functionType: t.Financial, description: "formula.functionList.EFFECT.description", abstract: "formula.functionList.EFFECT.abstract", functionParameter: [ { name: "formula.functionList.EFFECT.functionParameter.nominalRate.name", detail: "formula.functionList.EFFECT.functionParameter.nominalRate.detail", example: "0.0525", require: 1, repeat: 0 }, { name: "formula.functionList.EFFECT.functionParameter.npery.name", detail: "formula.functionList.EFFECT.functionParameter.npery.detail", example: "4", require: 1, repeat: 0 } ] }, { functionName: C.FV, functionType: t.Financial, description: "formula.functionList.FV.description", abstract: "formula.functionList.FV.abstract", functionParameter: [ { name: "formula.functionList.FV.functionParameter.rate.name", detail: "formula.functionList.FV.functionParameter.rate.detail", example: "0.06/12", require: 1, repeat: 0 }, { name: "formula.functionList.FV.functionParameter.nper.name", detail: "formula.functionList.FV.functionParameter.nper.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.FV.functionParameter.pmt.name", detail: "formula.functionList.FV.functionParameter.pmt.detail", example: "-200", require: 1, repeat: 0 }, { name: "formula.functionList.FV.functionParameter.pv.name", detail: "formula.functionList.FV.functionParameter.pv.detail", example: "-500", require: 0, repeat: 0 }, { name: "formula.functionList.FV.functionParameter.type.name", detail: "formula.functionList.FV.functionParameter.type.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.FVSCHEDULE, functionType: t.Financial, description: "formula.functionList.FVSCHEDULE.description", abstract: "formula.functionList.FVSCHEDULE.abstract", functionParameter: [ { name: "formula.functionList.FVSCHEDULE.functionParameter.principal.name", detail: "formula.functionList.FVSCHEDULE.functionParameter.principal.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.FVSCHEDULE.functionParameter.schedule.name", detail: "formula.functionList.FVSCHEDULE.functionParameter.schedule.detail", example: "A1:A4", require: 1, repeat: 0 } ] }, { functionName: C.INTRATE, functionType: t.Financial, description: "formula.functionList.INTRATE.description", abstract: "formula.functionList.INTRATE.abstract", functionParameter: [ { name: "formula.functionList.INTRATE.functionParameter.settlement.name", detail: "formula.functionList.INTRATE.functionParameter.settlement.detail", example: '"2008-2-15"', require: 1, repeat: 0 }, { name: "formula.functionList.INTRATE.functionParameter.maturity.name", detail: "formula.functionList.INTRATE.functionParameter.maturity.detail", example: '"2008-5-15"', require: 1, repeat: 0 }, { name: "formula.functionList.INTRATE.functionParameter.investment.name", detail: "formula.functionList.INTRATE.functionParameter.investment.detail", example: "10000000", require: 1, repeat: 0 }, { name: "formula.functionList.INTRATE.functionParameter.redemption.name", detail: "formula.functionList.INTRATE.functionParameter.redemption.detail", example: "10144200", require: 1, repeat: 0 }, { name: "formula.functionList.INTRATE.functionParameter.basis.name", detail: "formula.functionList.INTRATE.functionParameter.basis.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: C.IPMT, functionType: t.Financial, description: "formula.functionList.IPMT.description", abstract: "formula.functionList.IPMT.abstract", functionParameter: [ { name: "formula.functionList.IPMT.functionParameter.rate.name", detail: "formula.functionList.IPMT.functionParameter.rate.detail", example: "0.1/12", require: 1, repeat: 0 }, { name: "formula.functionList.IPMT.functionParameter.per.name", detail: "formula.functionList.IPMT.functionParameter.per.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.IPMT.functionParameter.nper.name", detail: "formula.functionList.IPMT.functionParameter.nper.detail", example: "3*12", require: 1, repeat: 0 }, { name: "formula.functionList.IPMT.functionParameter.pv.name", detail: "formula.functionList.IPMT.functionParameter.pv.detail", example: "80000", require: 1, repeat: 0 }, { name: "formula.functionList.IPMT.functionParameter.fv.name", detail: "formula.functionList.IPMT.functionParameter.fv.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.IPMT.functionParameter.type.name", detail: "formula.functionList.IPMT.functionParameter.type.detail", example: "0", require: 0, repeat: 0 } ] }, { functionName: C.IRR, functionType: t.Financial, description: "formula.functionList.IRR.description", abstract: "formula.functionList.IRR.abstract", functionParameter: [ { name: "formula.functionList.IRR.functionParameter.values.name", detail: "formula.functionList.IRR.functionParameter.values.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.IRR.functionParameter.guess.name", detail: "formula.functionList.IRR.functionParameter.guess.detail", example: "0.1", require: 0, repeat: 0 } ] }, { functionName: C.ISPMT, functionType: t.Financial, description: "formula.functionList.ISPMT.description", abstract: "formula.functionList.ISPMT.abstract", functionParameter: [ { name: "formula.functionList.ISPMT.functionParameter.rate.name", detail: "formula.functionList.ISPMT.functionParameter.rate.detail", example: "0.1", require: 1, repeat: 0 }, { name: "formula.functionList.ISPMT.functionParameter.per.name", detail: "formula.functionList.ISPMT.functionParameter.per.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.ISPMT.functionParameter.nper.name", detail: "formula.functionList.ISPMT.functionParameter.nper.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.ISPMT.functionParameter.pv.name", detail: "formula.functionList.ISPMT.functionParameter.pv.detail", example: "1000", require: 1, repeat: 0 } ] }, { functionName: C.MDURATION, functionType: t.Financial, description: "formula.functionList.MDURATION.description", abstract: "formula.functionList.MDURATION.abstract", functionParameter: [ { name: "formula.functionList.MDURATION.functionParameter.settlement.name", detail: "formula.functionList.MDURATION.functionParameter.settlement.detail", example: '"2018-7-1"', require: 1, repeat: 0 }, { name: "formula.functionList.MDURATION.functionParameter.maturity.name", detail: "formula.functionList.MDURATION.functionParameter.maturity.detail", example: '"2048-1-1"', require: 1, repeat: 0 }, { name: "formula.functionList.MDURATION.functionParameter.coupon.name", detail: "formula.functionList.MDURATION.functionParameter.coupon.detail", example: "0.08", require: 1, repeat: 0 }, { name: "formula.functionList.MDURATION.functionParameter.yld.name", detail: "formula.functionList.MDURATION.functionParameter.yld.detail", example: "0.09", require: 1, repeat: 0 }, { name: "formula.functionList.MDURATION.functionParameter.frequency.name", detail: "formula.functionList.MDURATION.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.MDURATION.functionParameter.basis.name", detail: "formula.functionList.MDURATION.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.MIRR, functionType: t.Financial, description: "formula.functionList.MIRR.description", abstract: "formula.functionList.MIRR.abstract", functionParameter: [ { name: "formula.functionList.MIRR.functionParameter.values.name", detail: "formula.functionList.MIRR.functionParameter.values.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.MIRR.functionParameter.financeRate.name", detail: "formula.functionList.MIRR.functionParameter.financeRate.detail", example: "0.1", require: 1, repeat: 0 }, { name: "formula.functionList.MIRR.functionParameter.reinvestRate.name", detail: "formula.functionList.MIRR.functionParameter.reinvestRate.detail", example: "0.12", require: 1, repeat: 0 } ] }, { functionName: C.NOMINAL, functionType: t.Financial, description: "formula.functionList.NOMINAL.description", abstract: "formula.functionList.NOMINAL.abstract", functionParameter: [ { name: "formula.functionList.NOMINAL.functionParameter.effectRate.name", detail: "formula.functionList.NOMINAL.functionParameter.effectRate.detail", example: "0.053543", require: 1, repeat: 0 }, { name: "formula.functionList.NOMINAL.functionParameter.npery.name", detail: "formula.functionList.NOMINAL.functionParameter.npery.detail", example: "4", require: 1, repeat: 0 } ] }, { functionName: C.NPER, functionType: t.Financial, description: "formula.functionList.NPER.description", abstract: "formula.functionList.NPER.abstract", functionParameter: [ { name: "formula.functionList.NPER.functionParameter.rate.name", detail: "formula.functionList.NPER.functionParameter.rate.detail", example: "0.12/12", require: 1, repeat: 0 }, { name: "formula.functionList.NPER.functionParameter.pmt.name", detail: "formula.functionList.NPER.functionParameter.pmt.detail", example: "-100", require: 1, repeat: 0 }, { name: "formula.functionList.NPER.functionParameter.pv.name", detail: "formula.functionList.NPER.functionParameter.pv.detail", example: "-1000", require: 1, repeat: 0 }, { name: "formula.functionList.NPER.functionParameter.fv.name", detail: "formula.functionList.NPER.functionParameter.fv.detail", example: "10000", require: 0, repeat: 0 }, { name: "formula.functionList.NPER.functionParameter.type.name", detail: "formula.functionList.NPER.functionParameter.type.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.NPV, functionType: t.Financial, description: "formula.functionList.NPV.description", abstract: "formula.functionList.NPV.abstract", functionParameter: [ { name: "formula.functionList.NPV.functionParameter.rate.name", detail: "formula.functionList.NPV.functionParameter.rate.detail", example: "0.1", require: 1, repeat: 0 }, { name: "formula.functionList.NPV.functionParameter.value1.name", detail: "formula.functionList.NPV.functionParameter.value1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.NPV.functionParameter.value2.name", detail: "formula.functionList.NPV.functionParameter.value2.detail", example: "-9000", require: 0, repeat: 1 } ] }, { functionName: C.ODDFPRICE, functionType: t.Financial, description: "formula.functionList.ODDFPRICE.description", abstract: "formula.functionList.ODDFPRICE.abstract", functionParameter: [ { name: "formula.functionList.ODDFPRICE.functionParameter.settlement.name", detail: "formula.functionList.ODDFPRICE.functionParameter.settlement.detail", example: '"2008-11-11"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDFPRICE.functionParameter.maturity.name", detail: "formula.functionList.ODDFPRICE.functionParameter.maturity.detail", example: '"2021-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDFPRICE.functionParameter.issue.name", detail: "formula.functionList.ODDFPRICE.functionParameter.issue.detail", example: '"2008-10-15"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDFPRICE.functionParameter.firstCoupon.name", detail: "formula.functionList.ODDFPRICE.functionParameter.firstCoupon.detail", example: '"2009-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDFPRICE.functionParameter.rate.name", detail: "formula.functionList.ODDFPRICE.functionParameter.rate.detail", example: "0.0785", require: 1, repeat: 0 }, { name: "formula.functionList.ODDFPRICE.functionParameter.yld.name", detail: "formula.functionList.ODDFPRICE.functionParameter.yld.detail", example: "0.0625", require: 1, repeat: 0 }, { name: "formula.functionList.ODDFPRICE.functionParameter.redemption.name", detail: "formula.functionList.ODDFPRICE.functionParameter.redemption.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.ODDFPRICE.functionParameter.frequency.name", detail: "formula.functionList.ODDFPRICE.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.ODDFPRICE.functionParameter.basis.name", detail: "formula.functionList.ODDFPRICE.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.ODDFYIELD, functionType: t.Financial, description: "formula.functionList.ODDFYIELD.description", abstract: "formula.functionList.ODDFYIELD.abstract", functionParameter: [ { name: "formula.functionList.ODDFYIELD.functionParameter.settlement.name", detail: "formula.functionList.ODDFYIELD.functionParameter.settlement.detail", example: '"2008-11-11"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDFYIELD.functionParameter.maturity.name", detail: "formula.functionList.ODDFYIELD.functionParameter.maturity.detail", example: '"2021-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDFYIELD.functionParameter.issue.name", detail: "formula.functionList.ODDFYIELD.functionParameter.issue.detail", example: '"2008-10-15"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDFYIELD.functionParameter.firstCoupon.name", detail: "formula.functionList.ODDFYIELD.functionParameter.firstCoupon.detail", example: '"2009-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDFYIELD.functionParameter.rate.name", detail: "formula.functionList.ODDFYIELD.functionParameter.rate.detail", example: "0.0575", require: 1, repeat: 0 }, { name: "formula.functionList.ODDFYIELD.functionParameter.pr.name", detail: "formula.functionList.ODDFYIELD.functionParameter.pr.detail", example: "84.5", require: 1, repeat: 0 }, { name: "formula.functionList.ODDFYIELD.functionParameter.redemption.name", detail: "formula.functionList.ODDFYIELD.functionParameter.redemption.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.ODDFYIELD.functionParameter.frequency.name", detail: "formula.functionList.ODDFYIELD.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.ODDFYIELD.functionParameter.basis.name", detail: "formula.functionList.ODDFYIELD.functionParameter.basis.detail", example: "0", require: 0, repeat: 0 } ] }, { functionName: C.ODDLPRICE, functionType: t.Financial, description: "formula.functionList.ODDLPRICE.description", abstract: "formula.functionList.ODDLPRICE.abstract", functionParameter: [ { name: "formula.functionList.ODDLPRICE.functionParameter.settlement.name", detail: "formula.functionList.ODDLPRICE.functionParameter.settlement.detail", example: '"2008-11-11"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDLPRICE.functionParameter.maturity.name", detail: "formula.functionList.ODDLPRICE.functionParameter.maturity.detail", example: '"2021-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDLPRICE.functionParameter.lastInterest.name", detail: "formula.functionList.ODDLPRICE.functionParameter.lastInterest.detail", example: '"2009-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDLPRICE.functionParameter.rate.name", detail: "formula.functionList.ODDLPRICE.functionParameter.rate.detail", example: "0.0785", require: 1, repeat: 0 }, { name: "formula.functionList.ODDLPRICE.functionParameter.yld.name", detail: "formula.functionList.ODDLPRICE.functionParameter.yld.detail", example: "0.0625", require: 1, repeat: 0 }, { name: "formula.functionList.ODDLPRICE.functionParameter.redemption.name", detail: "formula.functionList.ODDLPRICE.functionParameter.redemption.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.ODDLPRICE.functionParameter.frequency.name", detail: "formula.functionList.ODDLPRICE.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.ODDLPRICE.functionParameter.basis.name", detail: "formula.functionList.ODDLPRICE.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.ODDLYIELD, functionType: t.Financial, description: "formula.functionList.ODDLYIELD.description", abstract: "formula.functionList.ODDLYIELD.abstract", functionParameter: [ { name: "formula.functionList.ODDLYIELD.functionParameter.settlement.name", detail: "formula.functionList.ODDLYIELD.functionParameter.settlement.detail", example: '"2008-11-11"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDLYIELD.functionParameter.maturity.name", detail: "formula.functionList.ODDLYIELD.functionParameter.maturity.detail", example: '"2021-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDLYIELD.functionParameter.lastInterest.name", detail: "formula.functionList.ODDLYIELD.functionParameter.lastInterest.detail", example: '"2008-10-15"', require: 1, repeat: 0 }, { name: "formula.functionList.ODDLYIELD.functionParameter.rate.name", detail: "formula.functionList.ODDLYIELD.functionParameter.rate.detail", example: "0.0575", require: 1, repeat: 0 }, { name: "formula.functionList.ODDLYIELD.functionParameter.pr.name", detail: "formula.functionList.ODDLYIELD.functionParameter.pr.detail", example: "84.5", require: 1, repeat: 0 }, { name: "formula.functionList.ODDLYIELD.functionParameter.redemption.name", detail: "formula.functionList.ODDLYIELD.functionParameter.redemption.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.ODDLYIELD.functionParameter.frequency.name", detail: "formula.functionList.ODDLYIELD.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.ODDLYIELD.functionParameter.basis.name", detail: "formula.functionList.ODDLYIELD.functionParameter.basis.detail", example: "0", require: 0, repeat: 0 } ] }, { functionName: C.PDURATION, functionType: t.Financial, description: "formula.functionList.PDURATION.description", abstract: "formula.functionList.PDURATION.abstract", functionParameter: [ { name: "formula.functionList.PDURATION.functionParameter.rate.name", detail: "formula.functionList.PDURATION.functionParameter.rate.detail", example: "0.025", require: 1, repeat: 0 }, { name: "formula.functionList.PDURATION.functionParameter.pv.name", detail: "formula.functionList.PDURATION.functionParameter.pv.detail", example: "2000", require: 1, repeat: 0 }, { name: "formula.functionList.PDURATION.functionParameter.fv.name", detail: "formula.functionList.PDURATION.functionParameter.fv.detail", example: "2200", require: 1, repeat: 0 } ] }, { functionName: C.PMT, functionType: t.Financial, description: "formula.functionList.PMT.description", abstract: "formula.functionList.PMT.abstract", functionParameter: [ { name: "formula.functionList.PMT.functionParameter.rate.name", detail: "formula.functionList.PMT.functionParameter.rate.detail", example: "0.08/12", require: 1, repeat: 0 }, { name: "formula.functionList.PMT.functionParameter.nper.name", detail: "formula.functionList.PMT.functionParameter.nper.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.PMT.functionParameter.pv.name", detail: "formula.functionList.PMT.functionParameter.pv.detail", example: "10000", require: 1, repeat: 0 }, { name: "formula.functionList.PMT.functionParameter.fv.name", detail: "formula.functionList.PMT.functionParameter.fv.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.PMT.functionParameter.type.name", detail: "formula.functionList.PMT.functionParameter.type.detail", example: "0", require: 0, repeat: 0 } ] }, { functionName: C.PPMT, functionType: t.Financial, description: "formula.functionList.PPMT.description", abstract: "formula.functionList.PPMT.abstract", functionParameter: [ { name: "formula.functionList.PPMT.functionParameter.rate.name", detail: "formula.functionList.PPMT.functionParameter.rate.detail", example: "0.1/12", require: 1, repeat: 0 }, { name: "formula.functionList.PPMT.functionParameter.per.name", detail: "formula.functionList.PPMT.functionParameter.per.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.PPMT.functionParameter.nper.name", detail: "formula.functionList.PPMT.functionParameter.nper.detail", example: "3*12", require: 1, repeat: 0 }, { name: "formula.functionList.PPMT.functionParameter.pv.name", detail: "formula.functionList.PPMT.functionParameter.pv.detail", example: "80000", require: 1, repeat: 0 }, { name: "formula.functionList.PPMT.functionParameter.fv.name", detail: "formula.functionList.PPMT.functionParameter.fv.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.PPMT.functionParameter.type.name", detail: "formula.functionList.PPMT.functionParameter.type.detail", example: "0", require: 0, repeat: 0 } ] }, { functionName: C.PRICE, functionType: t.Financial, description: "formula.functionList.PRICE.description", abstract: "formula.functionList.PRICE.abstract", functionParameter: [ { name: "formula.functionList.PRICE.functionParameter.settlement.name", detail: "formula.functionList.PRICE.functionParameter.settlement.detail", example: '"2008-11-11"', require: 1, repeat: 0 }, { name: "formula.functionList.PRICE.functionParameter.maturity.name", detail: "formula.functionList.PRICE.functionParameter.maturity.detail", example: '"2021-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.PRICE.functionParameter.rate.name", detail: "formula.functionList.PRICE.functionParameter.rate.detail", example: "0.0785", require: 1, repeat: 0 }, { name: "formula.functionList.PRICE.functionParameter.yld.name", detail: "formula.functionList.PRICE.functionParameter.yld.detail", example: "0.0625", require: 1, repeat: 0 }, { name: "formula.functionList.PRICE.functionParameter.redemption.name", detail: "formula.functionList.PRICE.functionParameter.redemption.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.PRICE.functionParameter.frequency.name", detail: "formula.functionList.PRICE.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.PRICE.functionParameter.basis.name", detail: "formula.functionList.PRICE.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.PRICEDISC, functionType: t.Financial, description: "formula.functionList.PRICEDISC.description", abstract: "formula.functionList.PRICEDISC.abstract", functionParameter: [ { name: "formula.functionList.PRICEDISC.functionParameter.settlement.name", detail: "formula.functionList.PRICEDISC.functionParameter.settlement.detail", example: '"2008-11-11"', require: 1, repeat: 0 }, { name: "formula.functionList.PRICEDISC.functionParameter.maturity.name", detail: "formula.functionList.PRICEDISC.functionParameter.maturity.detail", example: '"2021-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.PRICEDISC.functionParameter.discount.name", detail: "formula.functionList.PRICEDISC.functionParameter.discount.detail", example: "0.0625", require: 1, repeat: 0 }, { name: "formula.functionList.PRICEDISC.functionParameter.redemption.name", detail: "formula.functionList.PRICEDISC.functionParameter.redemption.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.PRICEDISC.functionParameter.basis.name", detail: "formula.functionList.PRICEDISC.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.PRICEMAT, functionType: t.Financial, description: "formula.functionList.PRICEMAT.description", abstract: "formula.functionList.PRICEMAT.abstract", functionParameter: [ { name: "formula.functionList.PRICEMAT.functionParameter.settlement.name", detail: "formula.functionList.PRICEMAT.functionParameter.settlement.detail", example: '"2008-11-11"', require: 1, repeat: 0 }, { name: "formula.functionList.PRICEMAT.functionParameter.maturity.name", detail: "formula.functionList.PRICEMAT.functionParameter.maturity.detail", example: '"2021-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.PRICEMAT.functionParameter.issue.name", detail: "formula.functionList.PRICEMAT.functionParameter.issue.detail", example: '"2008-10-15"', require: 1, repeat: 0 }, { name: "formula.functionList.PRICEMAT.functionParameter.rate.name", detail: "formula.functionList.PRICEMAT.functionParameter.rate.detail", example: "0.0785", require: 1, repeat: 0 }, { name: "formula.functionList.PRICEMAT.functionParameter.yld.name", detail: "formula.functionList.PRICEMAT.functionParameter.yld.detail", example: "0.0625", require: 1, repeat: 0 }, { name: "formula.functionList.PRICEMAT.functionParameter.basis.name", detail: "formula.functionList.PRICEMAT.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.PV, functionType: t.Financial, description: "formula.functionList.PV.description", abstract: "formula.functionList.PV.abstract", functionParameter: [ { name: "formula.functionList.PV.functionParameter.rate.name", detail: "formula.functionList.PV.functionParameter.rate.detail", example: "0.02", require: 1, repeat: 0 }, { name: "formula.functionList.PV.functionParameter.nper.name", detail: "formula.functionList.PV.functionParameter.nper.detail", example: "12", require: 1, repeat: 0 }, { name: "formula.functionList.PV.functionParameter.pmt.name", detail: "formula.functionList.PV.functionParameter.pmt.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.PV.functionParameter.fv.name", detail: "formula.functionList.PV.functionParameter.fv.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.PV.functionParameter.type.name", detail: "formula.functionList.PV.functionParameter.type.detail", example: "0", require: 0, repeat: 0 } ] }, { functionName: C.RATE, functionType: t.Financial, description: "formula.functionList.RATE.description", abstract: "formula.functionList.RATE.abstract", functionParameter: [ { name: "formula.functionList.RATE.functionParameter.nper.name", detail: "formula.functionList.RATE.functionParameter.nper.detail", example: "4*12", require: 1, repeat: 0 }, { name: "formula.functionList.RATE.functionParameter.pmt.name", detail: "formula.functionList.RATE.functionParameter.pmt.detail", example: "-200", require: 1, repeat: 0 }, { name: "formula.functionList.RATE.functionParameter.pv.name", detail: "formula.functionList.RATE.functionParameter.pv.detail", example: "8000", require: 1, repeat: 0 }, { name: "formula.functionList.RATE.functionParameter.fv.name", detail: "formula.functionList.RATE.functionParameter.fv.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.RATE.functionParameter.type.name", detail: "formula.functionList.RATE.functionParameter.type.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.RATE.functionParameter.guess.name", detail: "formula.functionList.RATE.functionParameter.guess.detail", example: "0.1", require: 0, repeat: 0 } ] }, { functionName: C.RECEIVED, functionType: t.Financial, description: "formula.functionList.RECEIVED.description", abstract: "formula.functionList.RECEIVED.abstract", functionParameter: [ { name: "formula.functionList.RECEIVED.functionParameter.settlement.name", detail: "formula.functionList.RECEIVED.functionParameter.settlement.detail", example: '"2008-2-15"', require: 1, repeat: 0 }, { name: "formula.functionList.RECEIVED.functionParameter.maturity.name", detail: "formula.functionList.RECEIVED.functionParameter.maturity.detail", example: '"2008-3-15"', require: 1, repeat: 0 }, { name: "formula.functionList.RECEIVED.functionParameter.investment.name", detail: "formula.functionList.RECEIVED.functionParameter.investment.detail", example: "10000000", require: 1, repeat: 0 }, { name: "formula.functionList.RECEIVED.functionParameter.discount.name", detail: "formula.functionList.RECEIVED.functionParameter.discount.detail", example: "0.0575", require: 1, repeat: 0 }, { name: "formula.functionList.RECEIVED.functionParameter.basis.name", detail: "formula.functionList.RECEIVED.functionParameter.basis.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: C.RRI, functionType: t.Financial, description: "formula.functionList.RRI.description", abstract: "formula.functionList.RRI.abstract", functionParameter: [ { name: "formula.functionList.RRI.functionParameter.nper.name", detail: "formula.functionList.RRI.functionParameter.nper.detail", example: "96", require: 1, repeat: 0 }, { name: "formula.functionList.RRI.functionParameter.pv.name", detail: "formula.functionList.RRI.functionParameter.pv.detail", example: "10000", require: 1, repeat: 0 }, { name: "formula.functionList.RRI.functionParameter.fv.name", detail: "formula.functionList.RRI.functionParameter.fv.detail", example: "11000", require: 1, repeat: 0 } ] }, { functionName: C.SLN, functionType: t.Financial, description: "formula.functionList.SLN.description", abstract: "formula.functionList.SLN.abstract", functionParameter: [ { name: "formula.functionList.SLN.functionParameter.cost.name", detail: "formula.functionList.SLN.functionParameter.cost.detail", example: "300000", require: 1, repeat: 0 }, { name: "formula.functionList.SLN.functionParameter.salvage.name", detail: "formula.functionList.SLN.functionParameter.salvage.detail", example: "75000", require: 1, repeat: 0 }, { name: "formula.functionList.SLN.functionParameter.life.name", detail: "formula.functionList.SLN.functionParameter.life.detail", example: "10", require: 1, repeat: 0 } ] }, { functionName: C.SYD, functionType: t.Financial, description: "formula.functionList.SYD.description", abstract: "formula.functionList.SYD.abstract", functionParameter: [ { name: "formula.functionList.SYD.functionParameter.cost.name", detail: "formula.functionList.SYD.functionParameter.cost.detail", example: "300000", require: 1, repeat: 0 }, { name: "formula.functionList.SYD.functionParameter.salvage.name", detail: "formula.functionList.SYD.functionParameter.salvage.detail", example: "75000", require: 1, repeat: 0 }, { name: "formula.functionList.SYD.functionParameter.life.name", detail: "formula.functionList.SYD.functionParameter.life.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.SYD.functionParameter.per.name", detail: "formula.functionList.SYD.functionParameter.per.detail", example: "10", require: 1, repeat: 0 } ] }, { functionName: C.TBILLEQ, functionType: t.Financial, description: "formula.functionList.TBILLEQ.description", abstract: "formula.functionList.TBILLEQ.abstract", functionParameter: [ { name: "formula.functionList.TBILLEQ.functionParameter.settlement.name", detail: "formula.functionList.TBILLEQ.functionParameter.settlement.detail", example: '"2008-3-31"', require: 1, repeat: 0 }, { name: "formula.functionList.TBILLEQ.functionParameter.maturity.name", detail: "formula.functionList.TBILLEQ.functionParameter.maturity.detail", example: '"2008-6-1"', require: 1, repeat: 0 }, { name: "formula.functionList.TBILLEQ.functionParameter.discount.name", detail: "formula.functionList.TBILLEQ.functionParameter.discount.detail", example: "0.0914", require: 1, repeat: 0 } ] }, { functionName: C.TBILLPRICE, functionType: t.Financial, description: "formula.functionList.TBILLPRICE.description", abstract: "formula.functionList.TBILLPRICE.abstract", functionParameter: [ { name: "formula.functionList.TBILLPRICE.functionParameter.settlement.name", detail: "formula.functionList.TBILLPRICE.functionParameter.settlement.detail", example: '"2008-3-31"', require: 1, repeat: 0 }, { name: "formula.functionList.TBILLPRICE.functionParameter.maturity.name", detail: "formula.functionList.TBILLPRICE.functionParameter.maturity.detail", example: '"2008-6-1"', require: 1, repeat: 0 }, { name: "formula.functionList.TBILLPRICE.functionParameter.discount.name", detail: "formula.functionList.TBILLPRICE.functionParameter.discount.detail", example: "0.0914", require: 1, repeat: 0 } ] }, { functionName: C.TBILLYIELD, functionType: t.Financial, description: "formula.functionList.TBILLYIELD.description", abstract: "formula.functionList.TBILLYIELD.abstract", functionParameter: [ { name: "formula.functionList.TBILLYIELD.functionParameter.settlement.name", detail: "formula.functionList.TBILLYIELD.functionParameter.settlement.detail", example: '"2008-3-31"', require: 1, repeat: 0 }, { name: "formula.functionList.TBILLYIELD.functionParameter.maturity.name", detail: "formula.functionList.TBILLYIELD.functionParameter.maturity.detail", example: '"2008-6-1"', require: 1, repeat: 0 }, { name: "formula.functionList.TBILLYIELD.functionParameter.pr.name", detail: "formula.functionList.TBILLYIELD.functionParameter.pr.detail", example: "98.45", require: 1, repeat: 0 } ] }, { functionName: C.VDB, functionType: t.Financial, description: "formula.functionList.VDB.description", abstract: "formula.functionList.VDB.abstract", functionParameter: [ { name: "formula.functionList.VDB.functionParameter.cost.name", detail: "formula.functionList.VDB.functionParameter.cost.detail", example: "2400", require: 1, repeat: 0 }, { name: "formula.functionList.VDB.functionParameter.salvage.name", detail: "formula.functionList.VDB.functionParameter.salvage.detail", example: "300", require: 1, repeat: 0 }, { name: "formula.functionList.VDB.functionParameter.life.name", detail: "formula.functionList.VDB.functionParameter.life.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.VDB.functionParameter.startPeriod.name", detail: "formula.functionList.VDB.functionParameter.startPeriod.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.VDB.functionParameter.endPeriod.name", detail: "formula.functionList.VDB.functionParameter.endPeriod.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.VDB.functionParameter.factor.name", detail: "formula.functionList.VDB.functionParameter.factor.detail", example: "2", require: 0, repeat: 0 }, { name: "formula.functionList.VDB.functionParameter.noSwitch.name", detail: "formula.functionList.VDB.functionParameter.noSwitch.detail", example: "false", require: 0, repeat: 0 } ] }, { functionName: C.XIRR, functionType: t.Financial, description: "formula.functionList.XIRR.description", abstract: "formula.functionList.XIRR.abstract", functionParameter: [ { name: "formula.functionList.XIRR.functionParameter.values.name", detail: "formula.functionList.XIRR.functionParameter.values.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.XIRR.functionParameter.dates.name", detail: "formula.functionList.XIRR.functionParameter.dates.detail", example: "B1:B4", require: 1, repeat: 0 }, { name: "formula.functionList.XIRR.functionParameter.guess.name", detail: "formula.functionList.XIRR.functionParameter.guess.detail", example: "0.1", require: 0, repeat: 0 } ] }, { functionName: C.XNPV, functionType: t.Financial, description: "formula.functionList.XNPV.description", abstract: "formula.functionList.XNPV.abstract", functionParameter: [ { name: "formula.functionList.XNPV.functionParameter.rate.name", detail: "formula.functionList.XNPV.functionParameter.rate.detail", example: "0.1", require: 1, repeat: 0 }, { name: "formula.functionList.XNPV.functionParameter.values.name", detail: "formula.functionList.XNPV.functionParameter.values.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.XNPV.functionParameter.dates.name", detail: "formula.functionList.XNPV.functionParameter.dates.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: C.YIELD, functionType: t.Financial, description: "formula.functionList.YIELD.description", abstract: "formula.functionList.YIELD.abstract", functionParameter: [ { name: "formula.functionList.YIELD.functionParameter.settlement.name", detail: "formula.functionList.YIELD.functionParameter.settlement.detail", example: '"2008-11-11"', require: 1, repeat: 0 }, { name: "formula.functionList.YIELD.functionParameter.maturity.name", detail: "formula.functionList.YIELD.functionParameter.maturity.detail", example: '"2021-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.YIELD.functionParameter.rate.name", detail: "formula.functionList.YIELD.functionParameter.rate.detail", example: "0.0785", require: 1, repeat: 0 }, { name: "formula.functionList.YIELD.functionParameter.pr.name", detail: "formula.functionList.YIELD.functionParameter.pr.detail", example: "98.45", require: 1, repeat: 0 }, { name: "formula.functionList.YIELD.functionParameter.redemption.name", detail: "formula.functionList.YIELD.functionParameter.redemption.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.YIELD.functionParameter.frequency.name", detail: "formula.functionList.YIELD.functionParameter.frequency.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.YIELD.functionParameter.basis.name", detail: "formula.functionList.YIELD.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.YIELDDISC, functionType: t.Financial, description: "formula.functionList.YIELDDISC.description", abstract: "formula.functionList.YIELDDISC.abstract", functionParameter: [ { name: "formula.functionList.YIELDDISC.functionParameter.settlement.name", detail: "formula.functionList.YIELDDISC.functionParameter.settlement.detail", example: '"2008-11-11"', require: 1, repeat: 0 }, { name: "formula.functionList.YIELDDISC.functionParameter.maturity.name", detail: "formula.functionList.YIELDDISC.functionParameter.maturity.detail", example: '"2021-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.YIELDDISC.functionParameter.pr.name", detail: "formula.functionList.YIELDDISC.functionParameter.pr.detail", example: "98.45", require: 1, repeat: 0 }, { name: "formula.functionList.YIELDDISC.functionParameter.redemption.name", detail: "formula.functionList.YIELDDISC.functionParameter.redemption.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.YIELDDISC.functionParameter.basis.name", detail: "formula.functionList.YIELDDISC.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: C.YIELDMAT, functionType: t.Financial, description: "formula.functionList.YIELDMAT.description", abstract: "formula.functionList.YIELDMAT.abstract", functionParameter: [ { name: "formula.functionList.YIELDMAT.functionParameter.settlement.name", detail: "formula.functionList.YIELDMAT.functionParameter.settlement.detail", example: '"2008-11-11"', require: 1, repeat: 0 }, { name: "formula.functionList.YIELDMAT.functionParameter.maturity.name", detail: "formula.functionList.YIELDMAT.functionParameter.maturity.detail", example: '"2021-3-1"', require: 1, repeat: 0 }, { name: "formula.functionList.YIELDMAT.functionParameter.issue.name", detail: "formula.functionList.YIELDMAT.functionParameter.issue.detail", example: '"2008-10-15"', require: 1, repeat: 0 }, { name: "formula.functionList.YIELDMAT.functionParameter.rate.name", detail: "formula.functionList.YIELDMAT.functionParameter.rate.detail", example: "0.0785", require: 1, repeat: 0 }, { name: "formula.functionList.YIELDMAT.functionParameter.pr.name", detail: "formula.functionList.YIELDMAT.functionParameter.pr.detail", example: "98.45", require: 1, repeat: 0 }, { name: "formula.functionList.YIELDMAT.functionParameter.basis.name", detail: "formula.functionList.YIELDMAT.functionParameter.basis.detail", example: "1", require: 0, repeat: 0 } ] } ], Qi = [ { functionName: v.CELL, functionType: t.Information, description: "formula.functionList.CELL.description", abstract: "formula.functionList.CELL.abstract", functionParameter: [ { name: "formula.functionList.CELL.functionParameter.infoType.name", detail: "formula.functionList.CELL.functionParameter.infoType.detail", example: '"type"', require: 1, repeat: 0 }, { name: "formula.functionList.CELL.functionParameter.reference.name", detail: "formula.functionList.CELL.functionParameter.reference.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ERROR_TYPE, functionType: t.Information, description: "formula.functionList.ERROR_TYPE.description", abstract: "formula.functionList.ERROR_TYPE.abstract", functionParameter: [ { name: "formula.functionList.ERROR_TYPE.functionParameter.errorVal.name", detail: "formula.functionList.ERROR_TYPE.functionParameter.errorVal.detail", example: '"#NULL!"', require: 1, repeat: 0 } ] }, { functionName: v.INFO, functionType: t.Information, description: "formula.functionList.INFO.description", abstract: "formula.functionList.INFO.abstract", functionParameter: [ { name: "formula.functionList.INFO.functionParameter.number1.name", detail: "formula.functionList.INFO.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.INFO.functionParameter.number2.name", detail: "formula.functionList.INFO.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: v.ISBETWEEN, functionType: t.Information, description: "formula.functionList.ISBETWEEN.description", abstract: "formula.functionList.ISBETWEEN.abstract", functionParameter: [ { name: "formula.functionList.ISBETWEEN.functionParameter.valueToCompare.name", detail: "formula.functionList.ISBETWEEN.functionParameter.valueToCompare.detail", example: "7.9", require: 1, repeat: 0 }, { name: "formula.functionList.ISBETWEEN.functionParameter.lowerValue.name", detail: "formula.functionList.ISBETWEEN.functionParameter.lowerValue.detail", example: "1.2", require: 1, repeat: 0 }, { name: "formula.functionList.ISBETWEEN.functionParameter.upperValue.name", detail: "formula.functionList.ISBETWEEN.functionParameter.upperValue.detail", example: "12.45", require: 1, repeat: 0 }, { name: "formula.functionList.ISBETWEEN.functionParameter.lowerValueIsInclusive.name", detail: "formula.functionList.ISBETWEEN.functionParameter.lowerValueIsInclusive.detail", example: "true", require: 0, repeat: 0 }, { name: "formula.functionList.ISBETWEEN.functionParameter.upperValueIsInclusive.name", detail: "formula.functionList.ISBETWEEN.functionParameter.upperValueIsInclusive.detail", example: "true", require: 0, repeat: 0 } ] }, { functionName: v.ISBLANK, functionType: t.Information, description: "formula.functionList.ISBLANK.description", abstract: "formula.functionList.ISBLANK.abstract", functionParameter: [ { name: "formula.functionList.ISBLANK.functionParameter.value.name", detail: "formula.functionList.ISBLANK.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISDATE, functionType: t.Information, description: "formula.functionList.ISDATE.description", abstract: "formula.functionList.ISDATE.abstract", functionParameter: [ { name: "formula.functionList.ISDATE.functionParameter.value.name", detail: "formula.functionList.ISDATE.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISEMAIL, functionType: t.Information, description: "formula.functionList.ISEMAIL.description", abstract: "formula.functionList.ISEMAIL.abstract", functionParameter: [ { name: "formula.functionList.ISEMAIL.functionParameter.value.name", detail: "formula.functionList.ISEMAIL.functionParameter.value.detail", example: '"developer@univer.ai"', require: 1, repeat: 0 } ] }, { functionName: v.ISERR, functionType: t.Information, description: "formula.functionList.ISERR.description", abstract: "formula.functionList.ISERR.abstract", functionParameter: [ { name: "formula.functionList.ISERR.functionParameter.value.name", detail: "formula.functionList.ISERR.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISERROR, functionType: t.Information, description: "formula.functionList.ISERROR.description", abstract: "formula.functionList.ISERROR.abstract", functionParameter: [ { name: "formula.functionList.ISERROR.functionParameter.value.name", detail: "formula.functionList.ISERROR.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISEVEN, functionType: t.Information, description: "formula.functionList.ISEVEN.description", abstract: "formula.functionList.ISEVEN.abstract", functionParameter: [ { name: "formula.functionList.ISEVEN.functionParameter.value.name", detail: "formula.functionList.ISEVEN.functionParameter.value.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: v.ISFORMULA, functionType: t.Information, description: "formula.functionList.ISFORMULA.description", abstract: "formula.functionList.ISFORMULA.abstract", functionParameter: [ { name: "formula.functionList.ISFORMULA.functionParameter.reference.name", detail: "formula.functionList.ISFORMULA.functionParameter.reference.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISLOGICAL, functionType: t.Information, description: "formula.functionList.ISLOGICAL.description", abstract: "formula.functionList.ISLOGICAL.abstract", functionParameter: [ { name: "formula.functionList.ISLOGICAL.functionParameter.value.name", detail: "formula.functionList.ISLOGICAL.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISNA, functionType: t.Information, description: "formula.functionList.ISNA.description", abstract: "formula.functionList.ISNA.abstract", functionParameter: [ { name: "formula.functionList.ISNA.functionParameter.value.name", detail: "formula.functionList.ISNA.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISNONTEXT, functionType: t.Information, description: "formula.functionList.ISNONTEXT.description", abstract: "formula.functionList.ISNONTEXT.abstract", functionParameter: [ { name: "formula.functionList.ISNONTEXT.functionParameter.value.name", detail: "formula.functionList.ISNONTEXT.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISNUMBER, functionType: t.Information, description: "formula.functionList.ISNUMBER.description", abstract: "formula.functionList.ISNUMBER.abstract", functionParameter: [ { name: "formula.functionList.ISNUMBER.functionParameter.value.name", detail: "formula.functionList.ISNUMBER.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISODD, functionType: t.Information, description: "formula.functionList.ISODD.description", abstract: "formula.functionList.ISODD.abstract", functionParameter: [ { name: "formula.functionList.ISODD.functionParameter.value.name", detail: "formula.functionList.ISODD.functionParameter.value.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: v.ISOMITTED, functionType: t.Information, description: "formula.functionList.ISOMITTED.description", abstract: "formula.functionList.ISOMITTED.abstract", functionParameter: [ { name: "formula.functionList.ISOMITTED.functionParameter.number1.name", detail: "formula.functionList.ISOMITTED.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.ISOMITTED.functionParameter.number2.name", detail: "formula.functionList.ISOMITTED.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: v.ISREF, functionType: t.Information, description: "formula.functionList.ISREF.description", abstract: "formula.functionList.ISREF.abstract", functionParameter: [ { name: "formula.functionList.ISREF.functionParameter.value.name", detail: "formula.functionList.ISREF.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISTEXT, functionType: t.Information, description: "formula.functionList.ISTEXT.description", abstract: "formula.functionList.ISTEXT.abstract", functionParameter: [ { name: "formula.functionList.ISTEXT.functionParameter.value.name", detail: "formula.functionList.ISTEXT.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.ISURL, functionType: t.Information, description: "formula.functionList.ISURL.description", abstract: "formula.functionList.ISURL.abstract", functionParameter: [ { name: "formula.functionList.ISURL.functionParameter.value.name", detail: "formula.functionList.ISURL.functionParameter.value.detail", example: '"univer.ai"', require: 1, repeat: 0 } ] }, { functionName: v.N, functionType: t.Information, description: "formula.functionList.N.description", abstract: "formula.functionList.N.abstract", functionParameter: [ { name: "formula.functionList.N.functionParameter.value.name", detail: "formula.functionList.N.functionParameter.value.detail", example: "7", require: 1, repeat: 0 } ] }, { functionName: v.NA, functionType: t.Information, description: "formula.functionList.NA.description", abstract: "formula.functionList.NA.abstract", functionParameter: [] }, { functionName: v.SHEET, functionType: t.Information, description: "formula.functionList.SHEET.description", abstract: "formula.functionList.SHEET.abstract", functionParameter: [ { name: "formula.functionList.SHEET.functionParameter.value.name", detail: "formula.functionList.SHEET.functionParameter.value.detail", example: "A1", require: 1, repeat: 0 } ] }, { functionName: v.SHEETS, functionType: t.Information, description: "formula.functionList.SHEETS.description", abstract: "formula.functionList.SHEETS.abstract", functionParameter: [] }, { functionName: v.TYPE, functionType: t.Information, description: "formula.functionList.TYPE.description", abstract: "formula.functionList.TYPE.abstract", functionParameter: [ { name: "formula.functionList.TYPE.functionParameter.value.name", detail: "formula.functionList.TYPE.functionParameter.value.detail", example: "A2", require: 1, repeat: 0 } ] } ], ki = [ { functionName: K.AND, functionType: t.Logical, description: "formula.functionList.AND.description", abstract: "formula.functionList.AND.abstract", functionParameter: [ { name: "formula.functionList.AND.functionParameter.logical1.name", detail: "formula.functionList.AND.functionParameter.logical1.detail", example: "A1=1", require: 1, repeat: 0 }, { name: "formula.functionList.AND.functionParameter.logical2.name", detail: "formula.functionList.AND.functionParameter.logical2.detail", example: "A2=2", require: 0, repeat: 1 } ] }, { functionName: K.BYCOL, functionType: t.Logical, description: "formula.functionList.BYCOL.description", abstract: "formula.functionList.BYCOL.abstract", functionParameter: [ { name: "formula.functionList.BYCOL.functionParameter.array.name", detail: "formula.functionList.BYCOL.functionParameter.array.detail", example: "A1:C2", require: 1, repeat: 0 }, { name: "formula.functionList.BYCOL.functionParameter.lambda.name", detail: "formula.functionList.BYCOL.functionParameter.lambda.detail", example: "LAMBDA(array, MAX(array))", require: 1, repeat: 0 } ] }, { functionName: K.BYROW, functionType: t.Logical, description: "formula.functionList.BYROW.description", abstract: "formula.functionList.BYROW.abstract", functionParameter: [ { name: "formula.functionList.BYROW.functionParameter.array.name", detail: "formula.functionList.BYROW.functionParameter.array.detail", example: "A1:C2", require: 1, repeat: 0 }, { name: "formula.functionList.BYROW.functionParameter.lambda.name", detail: "formula.functionList.BYROW.functionParameter.lambda.detail", example: "LAMBDA(array, MAX(array))", require: 1, repeat: 0 } ] }, { functionName: K.FALSE, functionType: t.Logical, description: "formula.functionList.FALSE.description", abstract: "formula.functionList.FALSE.abstract", functionParameter: [] }, { functionName: K.IF, functionType: t.Logical, description: "formula.functionList.IF.description", abstract: "formula.functionList.IF.abstract", functionParameter: [ { name: "formula.functionList.IF.functionParameter.logicalTest.name", detail: "formula.functionList.IF.functionParameter.logicalTest.detail", example: 'A2 = "foo"', require: 1, repeat: 0 }, { name: "formula.functionList.IF.functionParameter.valueIfTrue.name", detail: "formula.functionList.IF.functionParameter.valueIfTrue.detail", example: '"A2 is foo"', require: 1, repeat: 0 }, { name: "formula.functionList.IF.functionParameter.valueIfFalse.name", detail: "formula.functionList.IF.functionParameter.valueIfFalse.detail", example: '"A2 is not foo"', require: 0, repeat: 0 } ] }, { functionName: K.IFERROR, functionType: t.Logical, description: "formula.functionList.IFERROR.description", abstract: "formula.functionList.IFERROR.abstract", functionParameter: [ { name: "formula.functionList.IFERROR.functionParameter.value.name", detail: "formula.functionList.IFERROR.functionParameter.value.detail", example: "A2/B2", require: 1, repeat: 0 }, { name: "formula.functionList.IFERROR.functionParameter.valueIfError.name", detail: "formula.functionList.IFERROR.functionParameter.valueIfError.detail", example: "Error in calculation", require: 1, repeat: 0 } ] }, { functionName: K.IFNA, functionType: t.Logical, description: "formula.functionList.IFNA.description", abstract: "formula.functionList.IFNA.abstract", functionParameter: [ { name: "formula.functionList.IFNA.functionParameter.value.name", detail: "formula.functionList.IFNA.functionParameter.value.detail", example: "VLOOKUP(C3,C6:D11,2,FALSE)", require: 1, repeat: 0 }, { name: "formula.functionList.IFNA.functionParameter.valueIfNa.name", detail: "formula.functionList.IFNA.functionParameter.valueIfNa.detail", example: '"Not Found"', require: 1, repeat: 0 } ] }, { functionName: K.IFS, functionType: t.Logical, description: "formula.functionList.IFS.description", abstract: "formula.functionList.IFS.abstract", functionParameter: [ { name: "formula.functionList.IFS.functionParameter.logicalTest1.name", detail: "formula.functionList.IFS.functionParameter.logicalTest1.detail", example: 'A2 = "foo"', require: 1, repeat: 0 }, { name: "formula.functionList.IFS.functionParameter.valueIfTrue1.name", detail: "formula.functionList.IFS.functionParameter.valueIfTrue1.detail", example: '"A2 is foo"', require: 1, repeat: 0 }, { name: "formula.functionList.IFS.functionParameter.logicalTest2.name", detail: "formula.functionList.IFS.functionParameter.logicalTest2.detail", example: "F2=1", require: 0, repeat: 1 }, { name: "formula.functionList.IFS.functionParameter.valueIfTrue2.name", detail: "formula.functionList.IFS.functionParameter.valueIfTrue2.detail", example: "D2", require: 0, repeat: 1 } ] }, { functionName: K.LAMBDA, functionType: t.Logical, description: "formula.functionList.LAMBDA.description", abstract: "formula.functionList.LAMBDA.abstract", functionParameter: [ { name: "formula.functionList.LAMBDA.functionParameter.parameter.name", detail: "formula.functionList.LAMBDA.functionParameter.parameter.detail", example: "[x, y, …,]", require: 0, repeat: 1 }, { name: "formula.functionList.LAMBDA.functionParameter.calculation.name", detail: "formula.functionList.LAMBDA.functionParameter.calculation.detail", example: "x+y", require: 1, repeat: 0 } ] }, { functionName: K.LET, functionType: t.Logical, description: "formula.functionList.LET.description", abstract: "formula.functionList.LET.abstract", functionParameter: [ { name: "formula.functionList.LET.functionParameter.name1.name", detail: "formula.functionList.LET.functionParameter.name1.detail", example: "x", require: 1, repeat: 0 }, { name: "formula.functionList.LET.functionParameter.nameValue1.name", detail: "formula.functionList.LET.functionParameter.nameValue1.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.LET.functionParameter.calculationOrName2.name", detail: "formula.functionList.LET.functionParameter.calculationOrName2.detail", example: "y", require: 1, repeat: 0 }, { name: "formula.functionList.LET.functionParameter.nameValue2.name", detail: "formula.functionList.LET.functionParameter.nameValue2.detail", example: "6", require: 0, repeat: 1 }, { name: "formula.functionList.LET.functionParameter.calculationOrName3.name", detail: "formula.functionList.LET.functionParameter.calculationOrName3.detail", example: "SUM(x,y)", require: 0, repeat: 1 } ] }, { functionName: K.MAKEARRAY, aliasFunctionName: "formula.functionList.MAKEARRAY.aliasFunctionName", functionType: t.Logical, description: "formula.functionList.MAKEARRAY.description", abstract: "formula.functionList.MAKEARRAY.abstract", functionParameter: [ { name: "formula.functionList.MAKEARRAY.functionParameter.number1.name", detail: "formula.functionList.MAKEARRAY.functionParameter.number1.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.MAKEARRAY.functionParameter.number2.name", detail: "formula.functionList.MAKEARRAY.functionParameter.number2.detail", example: "7", require: 1, repeat: 0 }, { name: "formula.functionList.MAKEARRAY.functionParameter.value3.name", detail: "formula.functionList.MAKEARRAY.functionParameter.value3.detail", example: "LAMBDA(r,c, r*c)", require: 1, repeat: 0 } ] }, { functionName: K.MAP, functionType: t.Logical, description: "formula.functionList.MAP.description", abstract: "formula.functionList.MAP.abstract", functionParameter: [ { name: "formula.functionList.MAP.functionParameter.array1.name", detail: "formula.functionList.MAP.functionParameter.array1.detail", example: "D2:D11", require: 1, repeat: 0 }, { name: "formula.functionList.MAP.functionParameter.array2.name", detail: "formula.functionList.MAP.functionParameter.array2.detail", example: "E2:E11", require: 0, repeat: 1 }, { name: "formula.functionList.MAP.functionParameter.lambda.name", detail: "formula.functionList.MAP.functionParameter.lambda.detail", example: 'LAMBDA(s,c,AND(s="Large",c="Red"))', require: 1, repeat: 0 } ] }, { functionName: K.NOT, functionType: t.Logical, description: "formula.functionList.NOT.description", abstract: "formula.functionList.NOT.abstract", functionParameter: [ { name: "formula.functionList.NOT.functionParameter.logical.name", detail: "formula.functionList.NOT.functionParameter.logical.detail", example: "A2>100", require: 1, repeat: 0 } ] }, { functionName: K.OR, functionType: t.Logical, description: "formula.functionList.OR.description", abstract: "formula.functionList.OR.abstract", functionParameter: [ { name: "formula.functionList.OR.functionParameter.logical1.name", detail: "formula.functionList.OR.functionParameter.logical1.detail", example: "A1=1", require: 1, repeat: 0 }, { name: "formula.functionList.OR.functionParameter.logical2.name", detail: "formula.functionList.OR.functionParameter.logical2.detail", example: "A2=2", require: 0, repeat: 1 } ] }, { functionName: K.REDUCE, functionType: t.Logical, description: "formula.functionList.REDUCE.description", abstract: "formula.functionList.REDUCE.abstract", functionParameter: [ { name: "formula.functionList.REDUCE.functionParameter.initialValue.name", detail: "formula.functionList.REDUCE.functionParameter.initialValue.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.REDUCE.functionParameter.array.name", detail: "formula.functionList.REDUCE.functionParameter.array.detail", example: "A1:C2", require: 1, repeat: 0 }, { name: "formula.functionList.REDUCE.functionParameter.lambda.name", detail: "formula.functionList.REDUCE.functionParameter.lambda.detail", example: "LAMBDA(a,b,a+b^2)", require: 1, repeat: 0 } ] }, { functionName: K.SCAN, functionType: t.Logical, description: "formula.functionList.SCAN.description", abstract: "formula.functionList.SCAN.abstract", functionParameter: [ { name: "formula.functionList.SCAN.functionParameter.initialValue.name", detail: "formula.functionList.SCAN.functionParameter.initialValue.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.SCAN.functionParameter.array.name", detail: "formula.functionList.SCAN.functionParameter.array.detail", example: "A1:C2", require: 1, repeat: 0 }, { name: "formula.functionList.SCAN.functionParameter.lambda.name", detail: "formula.functionList.SCAN.functionParameter.lambda.detail", example: "LAMBDA(a,b,a+b^2)", require: 1, repeat: 0 } ] }, { functionName: K.SWITCH, functionType: t.Logical, description: "formula.functionList.SWITCH.description", abstract: "formula.functionList.SWITCH.abstract", functionParameter: [ { name: "formula.functionList.SWITCH.functionParameter.expression.name", detail: "formula.functionList.SWITCH.functionParameter.expression.detail", example: "WEEKDAY(A2)", require: 1, repeat: 0 }, { name: "formula.functionList.SWITCH.functionParameter.value1.name", detail: "formula.functionList.SWITCH.functionParameter.value1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.SWITCH.functionParameter.result1.name", detail: "formula.functionList.SWITCH.functionParameter.result1.detail", example: '"Sunday"', require: 1, repeat: 0 }, { name: "formula.functionList.SWITCH.functionParameter.defaultOrValue2.name", detail: "formula.functionList.SWITCH.functionParameter.defaultOrValue2.detail", example: "2", require: 0, repeat: 1 }, { name: "formula.functionList.SWITCH.functionParameter.result2.name", detail: "formula.functionList.SWITCH.functionParameter.result2.detail", example: '"Monday"', require: 0, repeat: 1 } ] }, { functionName: K.TRUE, functionType: t.Logical, description: "formula.functionList.TRUE.description", abstract: "formula.functionList.TRUE.abstract", functionParameter: [] }, { functionName: K.XOR, functionType: t.Logical, description: "formula.functionList.XOR.description", abstract: "formula.functionList.XOR.abstract", functionParameter: [ { name: "formula.functionList.XOR.functionParameter.logical1.name", detail: "formula.functionList.XOR.functionParameter.logical1.detail", example: "3>0", require: 1, repeat: 0 }, { name: "formula.functionList.XOR.functionParameter.logical2.name", detail: "formula.functionList.XOR.functionParameter.logical2.detail", example: "2<9", require: 0, repeat: 1 } ] } ], $i = [ { functionName: y.ADDRESS, functionType: t.Lookup, description: "formula.functionList.ADDRESS.description", abstract: "formula.functionList.ADDRESS.abstract", functionParameter: [ { name: "formula.functionList.ADDRESS.functionParameter.row_num.name", detail: "formula.functionList.ADDRESS.functionParameter.row_num.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.ADDRESS.functionParameter.column_num.name", detail: "formula.functionList.ADDRESS.functionParameter.column_num.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.ADDRESS.functionParameter.abs_num.name", detail: "formula.functionList.ADDRESS.functionParameter.abs_num.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.ADDRESS.functionParameter.a1.name", detail: "formula.functionList.ADDRESS.functionParameter.a1.detail", example: "TRUE", require: 0, repeat: 0 }, { name: "formula.functionList.ADDRESS.functionParameter.sheet_text.name", detail: "formula.functionList.ADDRESS.functionParameter.sheet_text.detail", example: '"Sheet2"', require: 0, repeat: 0 } ] }, { functionName: y.AREAS, functionType: t.Lookup, description: "formula.functionList.AREAS.description", abstract: "formula.functionList.AREAS.abstract", functionParameter: [ { name: "formula.functionList.AREAS.functionParameter.reference.name", detail: "formula.functionList.AREAS.functionParameter.reference.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: y.CHOOSE, functionType: t.Lookup, description: "formula.functionList.CHOOSE.description", abstract: "formula.functionList.CHOOSE.abstract", functionParameter: [ { name: "formula.functionList.CHOOSE.functionParameter.indexNum.name", detail: "formula.functionList.CHOOSE.functionParameter.indexNum.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.CHOOSE.functionParameter.value1.name", detail: "formula.functionList.CHOOSE.functionParameter.value1.detail", example: '"Hello"', require: 1, repeat: 0 }, { name: "formula.functionList.CHOOSE.functionParameter.value2.name", detail: "formula.functionList.CHOOSE.functionParameter.value2.detail", example: '"Univer"', require: 0, repeat: 1 } ] }, { functionName: y.CHOOSECOLS, functionType: t.Lookup, description: "formula.functionList.CHOOSECOLS.description", abstract: "formula.functionList.CHOOSECOLS.abstract", functionParameter: [ { name: "formula.functionList.CHOOSECOLS.functionParameter.array.name", detail: "formula.functionList.CHOOSECOLS.functionParameter.array.detail", example: "A1:C2", require: 1, repeat: 0 }, { name: "formula.functionList.CHOOSECOLS.functionParameter.colNum1.name", detail: "formula.functionList.CHOOSECOLS.functionParameter.colNum1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.CHOOSECOLS.functionParameter.colNum2.name", detail: "formula.functionList.CHOOSECOLS.functionParameter.colNum2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: y.CHOOSEROWS, functionType: t.Lookup, description: "formula.functionList.CHOOSEROWS.description", abstract: "formula.functionList.CHOOSEROWS.abstract", functionParameter: [ { name: "formula.functionList.CHOOSEROWS.functionParameter.array.name", detail: "formula.functionList.CHOOSEROWS.functionParameter.array.detail", example: "A1:C2", require: 1, repeat: 0 }, { name: "formula.functionList.CHOOSEROWS.functionParameter.rowNum1.name", detail: "formula.functionList.CHOOSEROWS.functionParameter.rowNum1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.CHOOSEROWS.functionParameter.rowNum2.name", detail: "formula.functionList.CHOOSEROWS.functionParameter.rowNum2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: y.COLUMN, functionType: t.Lookup, description: "formula.functionList.COLUMN.description", abstract: "formula.functionList.COLUMN.abstract", functionParameter: [ { name: "formula.functionList.COLUMN.functionParameter.reference.name", detail: "formula.functionList.COLUMN.functionParameter.reference.detail", example: "A1:A20", require: 0, repeat: 0 } ] }, { functionName: y.COLUMNS, functionType: t.Lookup, description: "formula.functionList.COLUMNS.description", abstract: "formula.functionList.COLUMNS.abstract", functionParameter: [ { name: "formula.functionList.COLUMNS.functionParameter.array.name", detail: "formula.functionList.COLUMNS.functionParameter.array.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: y.DROP, functionType: t.Lookup, description: "formula.functionList.DROP.description", abstract: "formula.functionList.DROP.abstract", functionParameter: [ { name: "formula.functionList.DROP.functionParameter.array.name", detail: "formula.functionList.DROP.functionParameter.array.detail", example: "A2:C4", require: 1, repeat: 0 }, { name: "formula.functionList.DROP.functionParameter.rows.name", detail: "formula.functionList.DROP.functionParameter.rows.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.DROP.functionParameter.columns.name", detail: "formula.functionList.DROP.functionParameter.columns.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: y.EXPAND, functionType: t.Lookup, description: "formula.functionList.EXPAND.description", abstract: "formula.functionList.EXPAND.abstract", functionParameter: [ { name: "formula.functionList.EXPAND.functionParameter.array.name", detail: "formula.functionList.EXPAND.functionParameter.array.detail", example: "A2", require: 1, repeat: 0 }, { name: "formula.functionList.EXPAND.functionParameter.rows.name", detail: "formula.functionList.EXPAND.functionParameter.rows.detail", example: "3", require: 1, repeat: 0 }, { name: "formula.functionList.EXPAND.functionParameter.columns.name", detail: "formula.functionList.EXPAND.functionParameter.columns.detail", example: "3", require: 0, repeat: 0 }, { name: "formula.functionList.EXPAND.functionParameter.padWith.name", detail: "formula.functionList.EXPAND.functionParameter.padWith.detail", example: '"-"', require: 0, repeat: 0 } ] }, { functionName: y.FILTER, functionType: t.Lookup, description: "formula.functionList.FILTER.description", abstract: "formula.functionList.FILTER.abstract", functionParameter: [ { name: "formula.functionList.FILTER.functionParameter.array.name", detail: "formula.functionList.FILTER.functionParameter.array.detail", example: "A5:D20", require: 1, repeat: 0 }, { name: "formula.functionList.FILTER.functionParameter.include.name", detail: "formula.functionList.FILTER.functionParameter.include.detail", example: '(C5:C20="Apple")*(A5:A20="East")', require: 1, repeat: 0 }, { name: "formula.functionList.FILTER.functionParameter.ifEmpty.name", detail: "formula.functionList.FILTER.functionParameter.ifEmpty.detail", example: '""', require: 0, repeat: 0 } ] }, { functionName: y.FORMULATEXT, functionType: t.Lookup, description: "formula.functionList.FORMULATEXT.description", abstract: "formula.functionList.FORMULATEXT.abstract", functionParameter: [ { name: "formula.functionList.FORMULATEXT.functionParameter.reference.name", detail: "formula.functionList.FORMULATEXT.functionParameter.reference.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: y.GETPIVOTDATA, functionType: t.Lookup, description: "formula.functionList.GETPIVOTDATA.description", abstract: "formula.functionList.GETPIVOTDATA.abstract", functionParameter: [ { name: "formula.functionList.GETPIVOTDATA.functionParameter.number1.name", detail: "formula.functionList.GETPIVOTDATA.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.GETPIVOTDATA.functionParameter.number2.name", detail: "formula.functionList.GETPIVOTDATA.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: y.HLOOKUP, functionType: t.Lookup, description: "formula.functionList.HLOOKUP.description", abstract: "formula.functionList.HLOOKUP.abstract", functionParameter: [ { name: "formula.functionList.HLOOKUP.functionParameter.lookupValue.name", detail: "formula.functionList.HLOOKUP.functionParameter.lookupValue.detail", example: "A1", require: 1, repeat: 0 }, { name: "formula.functionList.HLOOKUP.functionParameter.tableArray.name", detail: "formula.functionList.HLOOKUP.functionParameter.tableArray.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.HLOOKUP.functionParameter.rowIndexNum.name", detail: "formula.functionList.HLOOKUP.functionParameter.rowIndexNum.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.HLOOKUP.functionParameter.rangeLookup.name", detail: "formula.functionList.HLOOKUP.functionParameter.rangeLookup.detail", example: "false", require: 0, repeat: 0 } ] }, { functionName: y.HSTACK, functionType: t.Lookup, description: "formula.functionList.HSTACK.description", abstract: "formula.functionList.HSTACK.abstract", functionParameter: [ { name: "formula.functionList.HSTACK.functionParameter.array1.name", detail: "formula.functionList.HSTACK.functionParameter.array1.detail", example: "A2:C3", require: 1, repeat: 0 }, { name: "formula.functionList.HSTACK.functionParameter.array2.name", detail: "formula.functionList.HSTACK.functionParameter.array2.detail", example: "E2:G3", require: 0, repeat: 1 } ] }, { functionName: y.HYPERLINK, functionType: t.Lookup, description: "formula.functionList.HYPERLINK.description", abstract: "formula.functionList.HYPERLINK.abstract", functionParameter: [ { name: "formula.functionList.HYPERLINK.functionParameter.number1.name", detail: "formula.functionList.HYPERLINK.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.HYPERLINK.functionParameter.number2.name", detail: "formula.functionList.HYPERLINK.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: y.IMAGE, functionType: t.Lookup, description: "formula.functionList.IMAGE.description", abstract: "formula.functionList.IMAGE.abstract", functionParameter: [ { name: "formula.functionList.IMAGE.functionParameter.number1.name", detail: "formula.functionList.IMAGE.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.IMAGE.functionParameter.number2.name", detail: "formula.functionList.IMAGE.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: y.INDEX, functionType: t.Lookup, description: "formula.functionList.INDEX.description", abstract: "formula.functionList.INDEX.abstract", functionParameter: [ { name: "formula.functionList.INDEX.functionParameter.reference.name", detail: "formula.functionList.INDEX.functionParameter.reference.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.INDEX.functionParameter.rowNum.name", detail: "formula.functionList.INDEX.functionParameter.rowNum.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.INDEX.functionParameter.columnNum.name", detail: "formula.functionList.INDEX.functionParameter.columnNum.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.INDEX.functionParameter.areaNum.name", detail: "formula.functionList.INDEX.functionParameter.areaNum.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: y.INDIRECT, functionType: t.Lookup, description: "formula.functionList.INDIRECT.description", abstract: "formula.functionList.INDIRECT.abstract", functionParameter: [ { name: "formula.functionList.INDIRECT.functionParameter.refText.name", detail: "formula.functionList.INDIRECT.functionParameter.refText.detail", example: '"A1"', require: 1, repeat: 0 }, { name: "formula.functionList.INDIRECT.functionParameter.a1.name", detail: "formula.functionList.INDIRECT.functionParameter.a1.detail", example: "TRUE", require: 0, repeat: 0 } ] }, { functionName: y.LOOKUP, functionType: t.Lookup, description: "formula.functionList.LOOKUP.description", abstract: "formula.functionList.LOOKUP.abstract", functionParameter: [ { name: "formula.functionList.LOOKUP.functionParameter.lookupValue.name", detail: "formula.functionList.LOOKUP.functionParameter.lookupValue.detail", example: "A1", require: 1, repeat: 0 }, { name: "formula.functionList.LOOKUP.functionParameter.lookupVectorOrArray.name", detail: "formula.functionList.LOOKUP.functionParameter.lookupVectorOrArray.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.LOOKUP.functionParameter.resultVector.name", detail: "formula.functionList.LOOKUP.functionParameter.resultVector.detail", example: "A1:A20", require: 0, repeat: 0 } ] }, { functionName: y.MATCH, functionType: t.Lookup, description: "formula.functionList.MATCH.description", abstract: "formula.functionList.MATCH.abstract", functionParameter: [ { name: "formula.functionList.MATCH.functionParameter.lookupValue.name", detail: "formula.functionList.MATCH.functionParameter.lookupValue.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.MATCH.functionParameter.lookupArray.name", detail: "formula.functionList.MATCH.functionParameter.lookupArray.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.MATCH.functionParameter.matchType.name", detail: "formula.functionList.MATCH.functionParameter.matchType.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: y.OFFSET, functionType: t.Lookup, description: "formula.functionList.OFFSET.description", abstract: "formula.functionList.OFFSET.abstract", functionParameter: [ { name: "formula.functionList.OFFSET.functionParameter.reference.name", detail: "formula.functionList.OFFSET.functionParameter.reference.detail", example: "A1", require: 1, repeat: 0 }, { name: "formula.functionList.OFFSET.functionParameter.rows.name", detail: "formula.functionList.OFFSET.functionParameter.rows.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.OFFSET.functionParameter.cols.name", detail: "formula.functionList.OFFSET.functionParameter.cols.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.OFFSET.functionParameter.height.name", detail: "formula.functionList.OFFSET.functionParameter.height.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.OFFSET.functionParameter.width.name", detail: "formula.functionList.OFFSET.functionParameter.width.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: y.ROW, functionType: t.Lookup, description: "formula.functionList.ROW.description", abstract: "formula.functionList.ROW.abstract", functionParameter: [ { name: "formula.functionList.ROW.functionParameter.reference.name", detail: "formula.functionList.ROW.functionParameter.reference.detail", example: "A1", require: 0, repeat: 0 } ] }, { functionName: y.ROWS, functionType: t.Lookup, description: "formula.functionList.ROWS.description", abstract: "formula.functionList.ROWS.abstract", functionParameter: [ { name: "formula.functionList.ROWS.functionParameter.array.name", detail: "formula.functionList.ROWS.functionParameter.array.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: y.RTD, functionType: t.Lookup, description: "formula.functionList.RTD.description", abstract: "formula.functionList.RTD.abstract", functionParameter: [ { name: "formula.functionList.RTD.functionParameter.number1.name", detail: "formula.functionList.RTD.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.RTD.functionParameter.number2.name", detail: "formula.functionList.RTD.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: y.SORT, functionType: t.Lookup, description: "formula.functionList.SORT.description", abstract: "formula.functionList.SORT.abstract", functionParameter: [ { name: "formula.functionList.SORT.functionParameter.array.name", detail: "formula.functionList.SORT.functionParameter.array.detail", example: "A2:A17", require: 1, repeat: 0 }, { name: "formula.functionList.SORT.functionParameter.sortIndex.name", detail: "formula.functionList.SORT.functionParameter.sortIndex.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.SORT.functionParameter.sortOrder.name", detail: "formula.functionList.SORT.functionParameter.sortOrder.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.SORT.functionParameter.byCol.name", detail: "formula.functionList.SORT.functionParameter.byCol.detail", example: "false", require: 0, repeat: 0 } ] }, { functionName: y.SORTBY, functionType: t.Lookup, description: "formula.functionList.SORTBY.description", abstract: "formula.functionList.SORTBY.abstract", functionParameter: [ { name: "formula.functionList.SORTBY.functionParameter.array.name", detail: "formula.functionList.SORTBY.functionParameter.array.detail", example: "D2:D9", require: 1, repeat: 0 }, { name: "formula.functionList.SORTBY.functionParameter.byArray1.name", detail: "formula.functionList.SORTBY.functionParameter.byArray1.detail", example: "E2:E9", require: 1, repeat: 0 }, { name: "formula.functionList.SORTBY.functionParameter.sortOrder1.name", detail: "formula.functionList.SORTBY.functionParameter.sortOrder1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.SORTBY.functionParameter.byArray2.name", detail: "formula.functionList.SORTBY.functionParameter.byArray2.detail", example: "E2:E9", require: 0, repeat: 1 }, { name: "formula.functionList.SORTBY.functionParameter.sortOrder2.name", detail: "formula.functionList.SORTBY.functionParameter.sortOrder2.detail", example: "1", require: 0, repeat: 1 } ] }, { functionName: y.TAKE, functionType: t.Lookup, description: "formula.functionList.TAKE.description", abstract: "formula.functionList.TAKE.abstract", functionParameter: [ { name: "formula.functionList.TAKE.functionParameter.array.name", detail: "formula.functionList.TAKE.functionParameter.array.detail", example: "A2:C4", require: 1, repeat: 0 }, { name: "formula.functionList.TAKE.functionParameter.rows.name", detail: "formula.functionList.TAKE.functionParameter.rows.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.TAKE.functionParameter.columns.name", detail: "formula.functionList.TAKE.functionParameter.columns.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: y.TOCOL, functionType: t.Lookup, description: "formula.functionList.TOCOL.description", abstract: "formula.functionList.TOCOL.abstract", functionParameter: [ { name: "formula.functionList.TOCOL.functionParameter.array.name", detail: "formula.functionList.TOCOL.functionParameter.array.detail", example: "A2:D4", require: 1, repeat: 0 }, { name: "formula.functionList.TOCOL.functionParameter.ignore.name", detail: "formula.functionList.TOCOL.functionParameter.ignore.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.TOCOL.functionParameter.scanByColumn.name", detail: "formula.functionList.TOCOL.functionParameter.scanByColumn.detail", example: "TRUE", require: 0, repeat: 0 } ] }, { functionName: y.TOROW, functionType: t.Lookup, description: "formula.functionList.TOROW.description", abstract: "formula.functionList.TOROW.abstract", functionParameter: [ { name: "formula.functionList.TOROW.functionParameter.array.name", detail: "formula.functionList.TOROW.functionParameter.array.detail", example: "A2:D4", require: 1, repeat: 0 }, { name: "formula.functionList.TOROW.functionParameter.ignore.name", detail: "formula.functionList.TOROW.functionParameter.ignore.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.TOROW.functionParameter.scanByColumn.name", detail: "formula.functionList.TOROW.functionParameter.scanByColumn.detail", example: "TRUE", require: 0, repeat: 0 } ] }, { functionName: y.TRANSPOSE, functionType: t.Lookup, description: "formula.functionList.TRANSPOSE.description", abstract: "formula.functionList.TRANSPOSE.abstract", functionParameter: [ { name: "formula.functionList.TRANSPOSE.functionParameter.array.name", detail: "formula.functionList.TRANSPOSE.functionParameter.array.detail", example: "A2:F9", require: 1, repeat: 0 } ] }, { functionName: y.UNIQUE, functionType: t.Lookup, description: "formula.functionList.UNIQUE.description", abstract: "formula.functionList.UNIQUE.abstract", functionParameter: [ { name: "formula.functionList.UNIQUE.functionParameter.array.name", detail: "formula.functionList.UNIQUE.functionParameter.array.detail", example: "A2:A12", require: 1, repeat: 0 }, { name: "formula.functionList.UNIQUE.functionParameter.byCol.name", detail: "formula.functionList.UNIQUE.functionParameter.byCol.detail", example: "false", require: 0, repeat: 0 }, { name: "formula.functionList.UNIQUE.functionParameter.exactlyOnce.name", detail: "formula.functionList.UNIQUE.functionParameter.exactlyOnce.detail", example: "false", require: 0, repeat: 0 } ] }, { functionName: y.VLOOKUP, functionType: t.Lookup, description: "formula.functionList.VLOOKUP.description", abstract: "formula.functionList.VLOOKUP.abstract", functionParameter: [ { name: "formula.functionList.VLOOKUP.functionParameter.lookupValue.name", detail: "formula.functionList.VLOOKUP.functionParameter.lookupValue.detail", example: "B2", require: 1, repeat: 0 }, { name: "formula.functionList.VLOOKUP.functionParameter.tableArray.name", detail: "formula.functionList.VLOOKUP.functionParameter.tableArray.detail", example: "C2:E7", require: 1, repeat: 0 }, { name: "formula.functionList.VLOOKUP.functionParameter.colIndexNum.name", detail: "formula.functionList.VLOOKUP.functionParameter.colIndexNum.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.VLOOKUP.functionParameter.rangeLookup.name", detail: "formula.functionList.VLOOKUP.functionParameter.rangeLookup.detail", example: "TRUE", require: 0, repeat: 0 } ] }, { functionName: y.VSTACK, functionType: t.Lookup, description: "formula.functionList.VSTACK.description", abstract: "formula.functionList.VSTACK.abstract", functionParameter: [ { name: "formula.functionList.VSTACK.functionParameter.array1.name", detail: "formula.functionList.VSTACK.functionParameter.array1.detail", example: "A2:C3", require: 1, repeat: 0 }, { name: "formula.functionList.VSTACK.functionParameter.array2.name", detail: "formula.functionList.VSTACK.functionParameter.array2.detail", example: "E2:G3", require: 0, repeat: 1 } ] }, { functionName: y.WRAPCOLS, functionType: t.Lookup, description: "formula.functionList.WRAPCOLS.description", abstract: "formula.functionList.WRAPCOLS.abstract", functionParameter: [ { name: "formula.functionList.WRAPCOLS.functionParameter.vector.name", detail: "formula.functionList.WRAPCOLS.functionParameter.vector.detail", example: "A2:G2", require: 1, repeat: 0 }, { name: "formula.functionList.WRAPCOLS.functionParameter.wrapCount.name", detail: "formula.functionList.WRAPCOLS.functionParameter.wrapCount.detail", example: "3", require: 1, repeat: 0 }, { name: "formula.functionList.WRAPCOLS.functionParameter.padWith.name", detail: "formula.functionList.WRAPCOLS.functionParameter.padWith.detail", example: '"x"', require: 0, repeat: 0 } ] }, { functionName: y.WRAPROWS, functionType: t.Lookup, description: "formula.functionList.WRAPROWS.description", abstract: "formula.functionList.WRAPROWS.abstract", functionParameter: [ { name: "formula.functionList.WRAPROWS.functionParameter.vector.name", detail: "formula.functionList.WRAPROWS.functionParameter.vector.detail", example: "A2:G2", require: 1, repeat: 0 }, { name: "formula.functionList.WRAPROWS.functionParameter.wrapCount.name", detail: "formula.functionList.WRAPROWS.functionParameter.wrapCount.detail", example: "3", require: 1, repeat: 0 }, { name: "formula.functionList.WRAPROWS.functionParameter.padWith.name", detail: "formula.functionList.WRAPROWS.functionParameter.padWith.detail", example: '"x"', require: 0, repeat: 0 } ] }, { functionName: y.XLOOKUP, functionType: t.Lookup, description: "formula.functionList.XLOOKUP.description", abstract: "formula.functionList.XLOOKUP.abstract", functionParameter: [ { name: "formula.functionList.XLOOKUP.functionParameter.lookupValue.name", detail: "formula.functionList.XLOOKUP.functionParameter.lookupValue.detail", example: "A1", require: 1, repeat: 0 }, { name: "formula.functionList.XLOOKUP.functionParameter.lookupArray.name", detail: "formula.functionList.XLOOKUP.functionParameter.lookupArray.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.XLOOKUP.functionParameter.returnArray.name", detail: "formula.functionList.XLOOKUP.functionParameter.returnArray.detail", example: "B1:B20", require: 1, repeat: 0 }, { name: "formula.functionList.XLOOKUP.functionParameter.ifNotFound.name", detail: "formula.functionList.XLOOKUP.functionParameter.ifNotFound.detail", example: "default", require: 0, repeat: 0 }, { name: "formula.functionList.XLOOKUP.functionParameter.matchMode.name", detail: "formula.functionList.XLOOKUP.functionParameter.matchMode.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.XLOOKUP.functionParameter.searchMode.name", detail: "formula.functionList.XLOOKUP.functionParameter.searchMode.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: y.XMATCH, functionType: t.Lookup, description: "formula.functionList.XMATCH.description", abstract: "formula.functionList.XMATCH.abstract", functionParameter: [ { name: "formula.functionList.XMATCH.functionParameter.lookupValue.name", detail: "formula.functionList.XMATCH.functionParameter.lookupValue.detail", example: "B1", require: 1, repeat: 0 }, { name: "formula.functionList.XMATCH.functionParameter.lookupArray.name", detail: "formula.functionList.XMATCH.functionParameter.lookupArray.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.XMATCH.functionParameter.matchMode.name", detail: "formula.functionList.XMATCH.functionParameter.matchMode.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.XMATCH.functionParameter.searchMode.name", detail: "formula.functionList.XMATCH.functionParameter.searchMode.detail", example: "1", require: 0, repeat: 0 } ] } ], ji = [ { functionName: T.ABS, functionType: t.Math, description: "formula.functionList.ABS.description", abstract: "formula.functionList.ABS.abstract", functionParameter: [ { name: "formula.functionList.ABS.functionParameter.number.name", detail: "formula.functionList.ABS.functionParameter.number.detail", example: "-2", require: 1, repeat: 0 } ] }, { functionName: T.ACOS, functionType: t.Math, description: "formula.functionList.ACOS.description", abstract: "formula.functionList.ACOS.abstract", functionParameter: [ { name: "formula.functionList.ACOS.functionParameter.number.name", detail: "formula.functionList.ACOS.functionParameter.number.detail", example: "0", require: 1, repeat: 0 } ] }, { functionName: T.ACOSH, functionType: t.Math, description: "formula.functionList.ACOSH.description", abstract: "formula.functionList.ACOSH.abstract", functionParameter: [ { name: "formula.functionList.ACOSH.functionParameter.number.name", detail: "formula.functionList.ACOSH.functionParameter.number.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: T.ACOT, functionType: t.Math, description: "formula.functionList.ACOT.description", abstract: "formula.functionList.ACOT.abstract", functionParameter: [ { name: "formula.functionList.ACOT.functionParameter.number.name", detail: "formula.functionList.ACOT.functionParameter.number.detail", example: "0", require: 1, repeat: 0 } ] }, { functionName: T.ACOTH, functionType: t.Math, description: "formula.functionList.ACOTH.description", abstract: "formula.functionList.ACOTH.abstract", functionParameter: [ { name: "formula.functionList.ACOTH.functionParameter.number.name", detail: "formula.functionList.ACOTH.functionParameter.number.detail", example: "6", require: 1, repeat: 0 } ] }, { functionName: T.AGGREGATE, functionType: t.Math, description: "formula.functionList.AGGREGATE.description", abstract: "formula.functionList.AGGREGATE.abstract", functionParameter: [ { name: "formula.functionList.AGGREGATE.functionParameter.number1.name", detail: "formula.functionList.AGGREGATE.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.AGGREGATE.functionParameter.number2.name", detail: "formula.functionList.AGGREGATE.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: T.ARABIC, functionType: t.Math, description: "formula.functionList.ARABIC.description", abstract: "formula.functionList.ARABIC.abstract", functionParameter: [ { name: "formula.functionList.ARABIC.functionParameter.text.name", detail: "formula.functionList.ARABIC.functionParameter.text.detail", example: '"LVII"', require: 1, repeat: 0 } ] }, { functionName: T.ASIN, functionType: t.Math, description: "formula.functionList.ASIN.description", abstract: "formula.functionList.ASIN.abstract", functionParameter: [ { name: "formula.functionList.ASIN.functionParameter.number.name", detail: "formula.functionList.ASIN.functionParameter.number.detail", example: "0", require: 1, repeat: 0 } ] }, { functionName: T.ASINH, functionType: t.Math, description: "formula.functionList.ASINH.description", abstract: "formula.functionList.ASINH.abstract", functionParameter: [ { name: "formula.functionList.ASINH.functionParameter.number.name", detail: "formula.functionList.ASINH.functionParameter.number.detail", example: "10", require: 1, repeat: 0 } ] }, { functionName: T.ATAN, functionType: t.Math, description: "formula.functionList.ATAN.description", abstract: "formula.functionList.ATAN.abstract", functionParameter: [ { name: "formula.functionList.ATAN.functionParameter.number.name", detail: "formula.functionList.ATAN.functionParameter.number.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: T.ATAN2, functionType: t.Math, description: "formula.functionList.ATAN2.description", abstract: "formula.functionList.ATAN2.abstract", functionParameter: [ { name: "formula.functionList.ATAN2.functionParameter.xNum.name", detail: "formula.functionList.ATAN2.functionParameter.xNum.detail", example: "4", require: 1, repeat: 0 }, { name: "formula.functionList.ATAN2.functionParameter.yNum.name", detail: "formula.functionList.ATAN2.functionParameter.yNum.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: T.ATANH, functionType: t.Math, description: "formula.functionList.ATANH.description", abstract: "formula.functionList.ATANH.abstract", functionParameter: [ { name: "formula.functionList.ATANH.functionParameter.number.name", detail: "formula.functionList.ATANH.functionParameter.number.detail", example: "0.1", require: 1, repeat: 0 } ] }, { functionName: T.BASE, functionType: t.Math, description: "formula.functionList.BASE.description", abstract: "formula.functionList.BASE.abstract", functionParameter: [ { name: "formula.functionList.BASE.functionParameter.number.name", detail: "formula.functionList.BASE.functionParameter.number.detail", example: "15", require: 1, repeat: 0 }, { name: "formula.functionList.BASE.functionParameter.radix.name", detail: "formula.functionList.BASE.functionParameter.radix.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.BASE.functionParameter.minLength.name", detail: "formula.functionList.BASE.functionParameter.minLength.detail", example: "10", require: 0, repeat: 0 } ] }, { functionName: T.CEILING, functionType: t.Math, description: "formula.functionList.CEILING.description", abstract: "formula.functionList.CEILING.abstract", functionParameter: [ { name: "formula.functionList.CEILING.functionParameter.number.name", detail: "formula.functionList.CEILING.functionParameter.number.detail", example: "2.5", require: 1, repeat: 0 }, { name: "formula.functionList.CEILING.functionParameter.significance.name", detail: "formula.functionList.CEILING.functionParameter.significance.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: T.CEILING_MATH, functionType: t.Math, description: "formula.functionList.CEILING_MATH.description", abstract: "formula.functionList.CEILING_MATH.abstract", functionParameter: [ { name: "formula.functionList.CEILING_MATH.functionParameter.number.name", detail: "formula.functionList.CEILING_MATH.functionParameter.number.detail", example: "-5.5", require: 1, repeat: 0 }, { name: "formula.functionList.CEILING_MATH.functionParameter.significance.name", detail: "formula.functionList.CEILING_MATH.functionParameter.significance.detail", example: "2", require: 0, repeat: 0 }, { name: "formula.functionList.CEILING_MATH.functionParameter.mode.name", detail: "formula.functionList.CEILING_MATH.functionParameter.mode.detail", example: "-1", require: 0, repeat: 0 } ] }, { functionName: T.CEILING_PRECISE, functionType: t.Math, description: "formula.functionList.CEILING_PRECISE.description", abstract: "formula.functionList.CEILING_PRECISE.abstract", functionParameter: [ { name: "formula.functionList.CEILING_PRECISE.functionParameter.number.name", detail: "formula.functionList.CEILING_PRECISE.functionParameter.number.detail", example: "4.3", require: 1, repeat: 0 }, { name: "formula.functionList.CEILING_PRECISE.functionParameter.significance.name", detail: "formula.functionList.CEILING_PRECISE.functionParameter.significance.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: T.COMBIN, functionType: t.Math, description: "formula.functionList.COMBIN.description", abstract: "formula.functionList.COMBIN.abstract", functionParameter: [ { name: "formula.functionList.COMBIN.functionParameter.number.name", detail: "formula.functionList.COMBIN.functionParameter.number.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.COMBIN.functionParameter.numberChosen.name", detail: "formula.functionList.COMBIN.functionParameter.numberChosen.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: T.COMBINA, functionType: t.Math, description: "formula.functionList.COMBINA.description", abstract: "formula.functionList.COMBINA.abstract", functionParameter: [ { name: "formula.functionList.COMBINA.functionParameter.number.name", detail: "formula.functionList.COMBINA.functionParameter.number.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.COMBINA.functionParameter.numberChosen.name", detail: "formula.functionList.COMBINA.functionParameter.numberChosen.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: T.COS, functionType: t.Math, description: "formula.functionList.COS.description", abstract: "formula.functionList.COS.abstract", functionParameter: [ { name: "formula.functionList.COS.functionParameter.number.name", detail: "formula.functionList.COS.functionParameter.number.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: T.COSH, functionType: t.Math, description: "formula.functionList.COSH.description", abstract: "formula.functionList.COSH.abstract", functionParameter: [ { name: "formula.functionList.COSH.functionParameter.number.name", detail: "formula.functionList.COSH.functionParameter.number.detail", example: "4", require: 1, repeat: 0 } ] }, { functionName: T.COT, functionType: t.Math, description: "formula.functionList.COT.description", abstract: "formula.functionList.COT.abstract", functionParameter: [ { name: "formula.functionList.COT.functionParameter.number.name", detail: "formula.functionList.COT.functionParameter.number.detail", example: "30", require: 1, repeat: 0 } ] }, { functionName: T.COTH, functionType: t.Math, description: "formula.functionList.COTH.description", abstract: "formula.functionList.COTH.abstract", functionParameter: [ { name: "formula.functionList.COTH.functionParameter.number.name", detail: "formula.functionList.COTH.functionParameter.number.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: T.CSC, functionType: t.Math, description: "formula.functionList.CSC.description", abstract: "formula.functionList.CSC.abstract", functionParameter: [ { name: "formula.functionList.CSC.functionParameter.number.name", detail: "formula.functionList.CSC.functionParameter.number.detail", example: "15", require: 1, repeat: 0 } ] }, { functionName: T.CSCH, functionType: t.Math, description: "formula.functionList.CSCH.description", abstract: "formula.functionList.CSCH.abstract", functionParameter: [ { name: "formula.functionList.CSCH.functionParameter.number.name", detail: "formula.functionList.CSCH.functionParameter.number.detail", example: "1.5", require: 1, repeat: 0 } ] }, { functionName: T.DECIMAL, functionType: t.Math, description: "formula.functionList.DECIMAL.description", abstract: "formula.functionList.DECIMAL.abstract", functionParameter: [ { name: "formula.functionList.DECIMAL.functionParameter.text.name", detail: "formula.functionList.DECIMAL.functionParameter.text.detail", example: '"FF"', require: 1, repeat: 0 }, { name: "formula.functionList.DECIMAL.functionParameter.radix.name", detail: "formula.functionList.DECIMAL.functionParameter.radix.detail", example: "16", require: 1, repeat: 0 } ] }, { functionName: T.DEGREES, functionType: t.Math, description: "formula.functionList.DEGREES.description", abstract: "formula.functionList.DEGREES.abstract", functionParameter: [ { name: "formula.functionList.DEGREES.functionParameter.angle.name", detail: "formula.functionList.DEGREES.functionParameter.angle.detail", example: "PI()", require: 1, repeat: 0 } ] }, { functionName: T.EVEN, functionType: t.Math, description: "formula.functionList.EVEN.description", abstract: "formula.functionList.EVEN.abstract", functionParameter: [ { name: "formula.functionList.EVEN.functionParameter.number.name", detail: "formula.functionList.EVEN.functionParameter.number.detail", example: "1.5", require: 1, repeat: 0 } ] }, { functionName: T.EXP, functionType: t.Math, description: "formula.functionList.EXP.description", abstract: "formula.functionList.EXP.abstract", functionParameter: [ { name: "formula.functionList.EXP.functionParameter.number.name", detail: "formula.functionList.EXP.functionParameter.number.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: T.FACT, functionType: t.Math, description: "formula.functionList.FACT.description", abstract: "formula.functionList.FACT.abstract", functionParameter: [ { name: "formula.functionList.FACT.functionParameter.number.name", detail: "formula.functionList.FACT.functionParameter.number.detail", example: "5", require: 1, repeat: 0 } ] }, { functionName: T.FACTDOUBLE, functionType: t.Math, description: "formula.functionList.FACTDOUBLE.description", abstract: "formula.functionList.FACTDOUBLE.abstract", functionParameter: [ { name: "formula.functionList.FACTDOUBLE.functionParameter.number.name", detail: "formula.functionList.FACTDOUBLE.functionParameter.number.detail", example: "6", require: 1, repeat: 0 } ] }, { functionName: T.FLOOR, functionType: t.Math, description: "formula.functionList.FLOOR.description", abstract: "formula.functionList.FLOOR.abstract", functionParameter: [ { name: "formula.functionList.FLOOR.functionParameter.number.name", detail: "formula.functionList.FLOOR.functionParameter.number.detail", example: "3.7", require: 1, repeat: 0 }, { name: "formula.functionList.FLOOR.functionParameter.significance.name", detail: "formula.functionList.FLOOR.functionParameter.significance.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: T.FLOOR_MATH, functionType: t.Math, description: "formula.functionList.FLOOR_MATH.description", abstract: "formula.functionList.FLOOR_MATH.abstract", functionParameter: [ { name: "formula.functionList.FLOOR_MATH.functionParameter.number.name", detail: "formula.functionList.FLOOR_MATH.functionParameter.number.detail", example: "-5.5", require: 1, repeat: 0 }, { name: "formula.functionList.FLOOR_MATH.functionParameter.significance.name", detail: "formula.functionList.FLOOR_MATH.functionParameter.significance.detail", example: "2", require: 0, repeat: 0 }, { name: "formula.functionList.FLOOR_MATH.functionParameter.mode.name", detail: "formula.functionList.FLOOR_MATH.functionParameter.mode.detail", example: "-1", require: 0, repeat: 0 } ] }, { functionName: T.FLOOR_PRECISE, functionType: t.Math, description: "formula.functionList.FLOOR_PRECISE.description", abstract: "formula.functionList.FLOOR_PRECISE.abstract", functionParameter: [ { name: "formula.functionList.FLOOR_PRECISE.functionParameter.number.name", detail: "formula.functionList.FLOOR_PRECISE.functionParameter.number.detail", example: "-3.2", require: 1, repeat: 0 }, { name: "formula.functionList.FLOOR_PRECISE.functionParameter.significance.name", detail: "formula.functionList.FLOOR_PRECISE.functionParameter.significance.detail", example: "-1", require: 0, repeat: 0 } ] }, { functionName: T.GCD, functionType: t.Math, description: "formula.functionList.GCD.description", abstract: "formula.functionList.GCD.abstract", functionParameter: [ { name: "formula.functionList.GCD.functionParameter.number1.name", detail: "formula.functionList.GCD.functionParameter.number1.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.GCD.functionParameter.number2.name", detail: "formula.functionList.GCD.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: T.INT, functionType: t.Math, description: "formula.functionList.INT.description", abstract: "formula.functionList.INT.abstract", functionParameter: [ { name: "formula.functionList.INT.functionParameter.number.name", detail: "formula.functionList.INT.functionParameter.number.detail", example: "8.9", require: 1, repeat: 0 } ] }, { functionName: T.ISO_CEILING, functionType: t.Math, description: "formula.functionList.ISO_CEILING.description", abstract: "formula.functionList.ISO_CEILING.abstract", functionParameter: [ { name: "formula.functionList.ISO_CEILING.functionParameter.number1.name", detail: "formula.functionList.ISO_CEILING.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.ISO_CEILING.functionParameter.number2.name", detail: "formula.functionList.ISO_CEILING.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: T.LCM, functionType: t.Math, description: "formula.functionList.LCM.description", abstract: "formula.functionList.LCM.abstract", functionParameter: [ { name: "formula.functionList.LCM.functionParameter.number1.name", detail: "formula.functionList.LCM.functionParameter.number1.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.LCM.functionParameter.number2.name", detail: "formula.functionList.LCM.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: T.LET, functionType: t.Math, description: "formula.functionList.LET.description", abstract: "formula.functionList.LET.abstract", functionParameter: [ { name: "formula.functionList.LET.functionParameter.number1.name", detail: "formula.functionList.LET.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.LET.functionParameter.number2.name", detail: "formula.functionList.LET.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: T.LN, functionType: t.Math, description: "formula.functionList.LN.description", abstract: "formula.functionList.LN.abstract", functionParameter: [ { name: "formula.functionList.LN.functionParameter.number.name", detail: "formula.functionList.LN.functionParameter.number.detail", example: "EXP(3)", require: 1, repeat: 0 } ] }, { functionName: T.LOG, functionType: t.Math, description: "formula.functionList.LOG.description", abstract: "formula.functionList.LOG.abstract", functionParameter: [ { name: "formula.functionList.LOG.functionParameter.number.name", detail: "formula.functionList.LOG.functionParameter.number.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.LOG.functionParameter.base.name", detail: "formula.functionList.LOG.functionParameter.base.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: T.LOG10, functionType: t.Math, description: "formula.functionList.LOG10.description", abstract: "formula.functionList.LOG10.abstract", functionParameter: [ { name: "formula.functionList.LOG10.functionParameter.number.name", detail: "formula.functionList.LOG10.functionParameter.number.detail", example: "100000", require: 1, repeat: 0 } ] }, { functionName: T.MDETERM, functionType: t.Math, description: "formula.functionList.MDETERM.description", abstract: "formula.functionList.MDETERM.abstract", functionParameter: [ { name: "formula.functionList.MDETERM.functionParameter.array.name", detail: "formula.functionList.MDETERM.functionParameter.array.detail", example: "A1:C3", require: 1, repeat: 0 } ] }, { functionName: T.MINVERSE, functionType: t.Math, description: "formula.functionList.MINVERSE.description", abstract: "formula.functionList.MINVERSE.abstract", functionParameter: [ { name: "formula.functionList.MINVERSE.functionParameter.array.name", detail: "formula.functionList.MINVERSE.functionParameter.array.detail", example: "A1:C3", require: 1, repeat: 0 } ] }, { functionName: T.MMULT, functionType: t.Math, description: "formula.functionList.MMULT.description", abstract: "formula.functionList.MMULT.abstract", functionParameter: [ { name: "formula.functionList.MMULT.functionParameter.array1.name", detail: "formula.functionList.MMULT.functionParameter.array1.detail", example: "A2:B3", require: 1, repeat: 0 }, { name: "formula.functionList.MMULT.functionParameter.array2.name", detail: "formula.functionList.MMULT.functionParameter.array2.detail", example: "A5:B6", require: 1, repeat: 0 } ] }, { functionName: T.MOD, functionType: t.Math, description: "formula.functionList.MOD.description", abstract: "formula.functionList.MOD.abstract", functionParameter: [ { name: "formula.functionList.MOD.functionParameter.number.name", detail: "formula.functionList.MOD.functionParameter.number.detail", example: "3", require: 1, repeat: 0 }, { name: "formula.functionList.MOD.functionParameter.divisor.name", detail: "formula.functionList.MOD.functionParameter.divisor.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: T.MROUND, functionType: t.Math, description: "formula.functionList.MROUND.description", abstract: "formula.functionList.MROUND.abstract", functionParameter: [ { name: "formula.functionList.MROUND.functionParameter.number.name", detail: "formula.functionList.MROUND.functionParameter.number.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.MROUND.functionParameter.multiple.name", detail: "formula.functionList.MROUND.functionParameter.multiple.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: T.MULTINOMIAL, functionType: t.Math, description: "formula.functionList.MULTINOMIAL.description", abstract: "formula.functionList.MULTINOMIAL.abstract", functionParameter: [ { name: "formula.functionList.MULTINOMIAL.functionParameter.number1.name", detail: "formula.functionList.MULTINOMIAL.functionParameter.number1.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.MULTINOMIAL.functionParameter.number2.name", detail: "formula.functionList.MULTINOMIAL.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: T.MUNIT, functionType: t.Math, description: "formula.functionList.MUNIT.description", abstract: "formula.functionList.MUNIT.abstract", functionParameter: [ { name: "formula.functionList.MUNIT.functionParameter.dimension.name", detail: "formula.functionList.MUNIT.functionParameter.dimension.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: T.ODD, functionType: t.Math, description: "formula.functionList.ODD.description", abstract: "formula.functionList.ODD.abstract", functionParameter: [ { name: "formula.functionList.ODD.functionParameter.number.name", detail: "formula.functionList.ODD.functionParameter.number.detail", example: "1.5", require: 1, repeat: 0 } ] }, { functionName: T.PI, functionType: t.Math, description: "formula.functionList.PI.description", abstract: "formula.functionList.PI.abstract", functionParameter: [] }, { functionName: T.POWER, functionType: t.Math, description: "formula.functionList.POWER.description", abstract: "formula.functionList.POWER.abstract", functionParameter: [ { name: "formula.functionList.POWER.functionParameter.number.name", detail: "formula.functionList.POWER.functionParameter.number.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.POWER.functionParameter.power.name", detail: "formula.functionList.POWER.functionParameter.power.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: T.PRODUCT, functionType: t.Math, description: "formula.functionList.PRODUCT.description", abstract: "formula.functionList.PRODUCT.abstract", functionParameter: [ { name: "formula.functionList.PRODUCT.functionParameter.number1.name", detail: "formula.functionList.PRODUCT.functionParameter.number1.detail", example: "A1", require: 1, repeat: 0 }, { name: "formula.functionList.PRODUCT.functionParameter.number2.name", detail: "formula.functionList.PRODUCT.functionParameter.number2.detail", example: "A2", require: 0, repeat: 1 } ] }, { functionName: T.QUOTIENT, functionType: t.Math, description: "formula.functionList.QUOTIENT.description", abstract: "formula.functionList.QUOTIENT.abstract", functionParameter: [ { name: "formula.functionList.QUOTIENT.functionParameter.numerator.name", detail: "formula.functionList.QUOTIENT.functionParameter.numerator.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.QUOTIENT.functionParameter.denominator.name", detail: "formula.functionList.QUOTIENT.functionParameter.denominator.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: T.RADIANS, functionType: t.Math, description: "formula.functionList.RADIANS.description", abstract: "formula.functionList.RADIANS.abstract", functionParameter: [ { name: "formula.functionList.RADIANS.functionParameter.angle.name", detail: "formula.functionList.RADIANS.functionParameter.angle.detail", example: "270", require: 1, repeat: 0 } ] }, { functionName: T.RAND, functionType: t.Math, description: "formula.functionList.RAND.description", abstract: "formula.functionList.RAND.abstract", functionParameter: [] }, { functionName: T.RANDARRAY, functionType: t.Math, description: "formula.functionList.RANDARRAY.description", abstract: "formula.functionList.RANDARRAY.abstract", functionParameter: [ { name: "formula.functionList.RANDARRAY.functionParameter.rows.name", detail: "formula.functionList.RANDARRAY.functionParameter.rows.detail", example: "5", require: 0, repeat: 0 }, { name: "formula.functionList.RANDARRAY.functionParameter.columns.name", detail: "formula.functionList.RANDARRAY.functionParameter.columns.detail", example: "3", require: 0, repeat: 0 }, { name: "formula.functionList.RANDARRAY.functionParameter.min.name", detail: "formula.functionList.RANDARRAY.functionParameter.min.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.RANDARRAY.functionParameter.max.name", detail: "formula.functionList.RANDARRAY.functionParameter.max.detail", example: "100", require: 0, repeat: 0 }, { name: "formula.functionList.RANDARRAY.functionParameter.wholeNumber.name", detail: "formula.functionList.RANDARRAY.functionParameter.wholeNumber.detail", example: "TRUE", require: 0, repeat: 0 } ] }, { functionName: T.RANDBETWEEN, functionType: t.Math, description: "formula.functionList.RANDBETWEEN.description", abstract: "formula.functionList.RANDBETWEEN.abstract", functionParameter: [ { name: "formula.functionList.RANDBETWEEN.functionParameter.bottom.name", detail: "formula.functionList.RANDBETWEEN.functionParameter.bottom.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.RANDBETWEEN.functionParameter.top.name", detail: "formula.functionList.RANDBETWEEN.functionParameter.top.detail", example: "100", require: 1, repeat: 0 } ] }, { functionName: T.ROMAN, functionType: t.Math, description: "formula.functionList.ROMAN.description", abstract: "formula.functionList.ROMAN.abstract", functionParameter: [ { name: "formula.functionList.ROMAN.functionParameter.number.name", detail: "formula.functionList.ROMAN.functionParameter.number.detail", example: "499", require: 1, repeat: 0 }, { name: "formula.functionList.ROMAN.functionParameter.form.name", detail: "formula.functionList.ROMAN.functionParameter.form.detail", example: "0", require: 0, repeat: 0 } ] }, { functionName: T.ROUND, functionType: t.Math, description: "formula.functionList.ROUND.description", abstract: "formula.functionList.ROUND.abstract", functionParameter: [ { name: "formula.functionList.ROUND.functionParameter.number.name", detail: "formula.functionList.ROUND.functionParameter.number.detail", example: "2.15", require: 1, repeat: 0 }, { name: "formula.functionList.ROUND.functionParameter.numDigits.name", detail: "formula.functionList.ROUND.functionParameter.numDigits.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: T.ROUNDBANK, functionType: t.Math, description: "formula.functionList.ROUNDBANK.description", abstract: "formula.functionList.ROUNDBANK.abstract", functionParameter: [ { name: "formula.functionList.ROUNDBANK.functionParameter.number.name", detail: "formula.functionList.ROUNDBANK.functionParameter.number.detail", example: "2.345", require: 1, repeat: 0 }, { name: "formula.functionList.ROUNDBANK.functionParameter.numDigits.name", detail: "formula.functionList.ROUNDBANK.functionParameter.numDigits.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: T.ROUNDDOWN, functionType: t.Math, description: "formula.functionList.ROUNDDOWN.description", abstract: "formula.functionList.ROUNDDOWN.abstract", functionParameter: [ { name: "formula.functionList.ROUNDDOWN.functionParameter.number.name", detail: "formula.functionList.ROUNDDOWN.functionParameter.number.detail", example: "3.2", require: 1, repeat: 0 }, { name: "formula.functionList.ROUNDDOWN.functionParameter.numDigits.name", detail: "formula.functionList.ROUNDDOWN.functionParameter.numDigits.detail", example: "0", require: 1, repeat: 0 } ] }, { functionName: T.ROUNDUP, functionType: t.Math, description: "formula.functionList.ROUNDUP.description", abstract: "formula.functionList.ROUNDUP.abstract", functionParameter: [ { name: "formula.functionList.ROUNDUP.functionParameter.number.name", detail: "formula.functionList.ROUNDUP.functionParameter.number.detail", example: "3.2", require: 1, repeat: 0 }, { name: "formula.functionList.ROUNDUP.functionParameter.numDigits.name", detail: "formula.functionList.ROUNDUP.functionParameter.numDigits.detail", example: "0", require: 1, repeat: 0 } ] }, { functionName: T.SEC, functionType: t.Math, description: "formula.functionList.SEC.description", abstract: "formula.functionList.SEC.abstract", functionParameter: [ { name: "formula.functionList.SEC.functionParameter.number.name", detail: "formula.functionList.SEC.functionParameter.number.detail", example: "30", require: 1, repeat: 0 } ] }, { functionName: T.SECH, functionType: t.Math, description: "formula.functionList.SECH.description", abstract: "formula.functionList.SECH.abstract", functionParameter: [ { name: "formula.functionList.SECH.functionParameter.number.name", detail: "formula.functionList.SECH.functionParameter.number.detail", example: "30", require: 1, repeat: 0 } ] }, { functionName: T.SERIESSUM, functionType: t.Math, description: "formula.functionList.SERIESSUM.description", abstract: "formula.functionList.SERIESSUM.abstract", functionParameter: [ { name: "formula.functionList.SERIESSUM.functionParameter.x.name", detail: "formula.functionList.SERIESSUM.functionParameter.x.detail", example: "0.785398163", require: 1, repeat: 0 }, { name: "formula.functionList.SERIESSUM.functionParameter.n.name", detail: "formula.functionList.SERIESSUM.functionParameter.n.detail", example: "0", require: 1, repeat: 0 }, { name: "formula.functionList.SERIESSUM.functionParameter.m.name", detail: "formula.functionList.SERIESSUM.functionParameter.m.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.SERIESSUM.functionParameter.coefficients.name", detail: "formula.functionList.SERIESSUM.functionParameter.coefficients.detail", example: "A1:A4", require: 1, repeat: 0 } ] }, { functionName: T.SEQUENCE, functionType: t.Math, description: "formula.functionList.SEQUENCE.description", abstract: "formula.functionList.SEQUENCE.abstract", functionParameter: [ { name: "formula.functionList.SEQUENCE.functionParameter.rows.name", detail: "formula.functionList.SEQUENCE.functionParameter.rows.detail", example: "4", require: 1, repeat: 0 }, { name: "formula.functionList.SEQUENCE.functionParameter.columns.name", detail: "formula.functionList.SEQUENCE.functionParameter.columns.detail", example: "5", require: 0, repeat: 0 }, { name: "formula.functionList.SEQUENCE.functionParameter.start.name", detail: "formula.functionList.SEQUENCE.functionParameter.start.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.SEQUENCE.functionParameter.step.name", detail: "formula.functionList.SEQUENCE.functionParameter.step.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: T.SIGN, functionType: t.Math, description: "formula.functionList.SIGN.description", abstract: "formula.functionList.SIGN.abstract", functionParameter: [ { name: "formula.functionList.SIGN.functionParameter.number.name", detail: "formula.functionList.SIGN.functionParameter.number.detail", example: "10", require: 1, repeat: 0 } ] }, { functionName: T.SIN, functionType: t.Math, description: "formula.functionList.SIN.description", abstract: "formula.functionList.SIN.abstract", functionParameter: [ { name: "formula.functionList.SIN.functionParameter.number.name", detail: "formula.functionList.SIN.functionParameter.number.detail", example: "30*PI()/180", require: 1, repeat: 0 } ] }, { functionName: T.SINH, functionType: t.Math, description: "formula.functionList.SINH.description", abstract: "formula.functionList.SINH.abstract", functionParameter: [ { name: "formula.functionList.SINH.functionParameter.number.name", detail: "formula.functionList.SINH.functionParameter.number.detail", example: "0.0342*1.03", require: 1, repeat: 0 } ] }, { functionName: T.SQRT, functionType: t.Math, description: "formula.functionList.SQRT.description", abstract: "formula.functionList.SQRT.abstract", functionParameter: [ { name: "formula.functionList.SQRT.functionParameter.number.name", detail: "formula.functionList.SQRT.functionParameter.number.detail", example: "16", require: 1, repeat: 0 } ] }, { functionName: T.SQRTPI, functionType: t.Math, description: "formula.functionList.SQRTPI.description", abstract: "formula.functionList.SQRTPI.abstract", functionParameter: [ { name: "formula.functionList.SQRTPI.functionParameter.number.name", detail: "formula.functionList.SQRTPI.functionParameter.number.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: T.SUBTOTAL, functionType: t.Math, description: "formula.functionList.SUBTOTAL.description", abstract: "formula.functionList.SUBTOTAL.abstract", functionParameter: [ { name: "formula.functionList.SUBTOTAL.functionParameter.functionNum.name", detail: "formula.functionList.SUBTOTAL.functionParameter.functionNum.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.SUBTOTAL.functionParameter.ref1.name", detail: "formula.functionList.SUBTOTAL.functionParameter.ref1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.SUBTOTAL.functionParameter.ref2.name", detail: "formula.functionList.SUBTOTAL.functionParameter.ref2.detail", example: "B1:B20", require: 0, repeat: 1 } ] }, { functionName: T.SUM, aliasFunctionName: "formula.functionList.SUM.aliasFunctionName", functionType: t.Math, description: "formula.functionList.SUM.description", abstract: "formula.functionList.SUM.abstract", functionParameter: [ { name: "formula.functionList.SUM.functionParameter.number1.name", detail: "formula.functionList.SUM.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.SUM.functionParameter.number2.name", detail: "formula.functionList.SUM.functionParameter.number2.detail", example: "B2:B10", require: 0, repeat: 1 } ] }, { functionName: T.SUMIF, aliasFunctionName: "formula.functionList.SUMIF.aliasFunctionName", functionType: t.Math, description: "formula.functionList.SUMIF.description", abstract: "formula.functionList.SUMIF.abstract", functionParameter: [ { name: "formula.functionList.SUMIF.functionParameter.range.name", detail: "formula.functionList.SUMIF.functionParameter.range.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.SUMIF.functionParameter.criteria.name", detail: "formula.functionList.SUMIF.functionParameter.criteria.detail", example: '">5"', require: 1, repeat: 0 }, { name: "formula.functionList.SUMIF.functionParameter.sumRange.name", detail: "formula.functionList.SUMIF.functionParameter.sumRange.detail", example: "B1:B20", require: 0, repeat: 0 } ] }, { functionName: T.SUMIFS, functionType: t.Math, description: "formula.functionList.SUMIFS.description", abstract: "formula.functionList.SUMIFS.abstract", functionParameter: [ { name: "formula.functionList.SUMIFS.functionParameter.sumRange.name", detail: "formula.functionList.SUMIFS.functionParameter.sumRange.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.SUMIFS.functionParameter.criteriaRange1.name", detail: "formula.functionList.SUMIFS.functionParameter.criteriaRange1.detail", example: "B1:B20", require: 1, repeat: 0 }, { name: "formula.functionList.SUMIFS.functionParameter.criteria1.name", detail: "formula.functionList.SUMIFS.functionParameter.criteria1.detail", example: '">10"', require: 1, repeat: 0 }, { name: "formula.functionList.SUMIFS.functionParameter.criteriaRange2.name", detail: "formula.functionList.SUMIFS.functionParameter.criteriaRange2.detail", example: "C1:C20", require: 0, repeat: 1 }, { name: "formula.functionList.SUMIFS.functionParameter.criteria2.name", detail: "formula.functionList.SUMIFS.functionParameter.criteria2.detail", example: '"<20"', require: 0, repeat: 1 } ] }, { functionName: T.SUMPRODUCT, functionType: t.Math, description: "formula.functionList.SUMPRODUCT.description", abstract: "formula.functionList.SUMPRODUCT.abstract", functionParameter: [ { name: "formula.functionList.SUMPRODUCT.functionParameter.array1.name", detail: "formula.functionList.SUMPRODUCT.functionParameter.array1.detail", example: "C2:C5", require: 1, repeat: 0 }, { name: "formula.functionList.SUMPRODUCT.functionParameter.array2.name", detail: "formula.functionList.SUMPRODUCT.functionParameter.array2.detail", example: "D2:D5", require: 0, repeat: 1 } ] }, { functionName: T.SUMSQ, functionType: t.Math, description: "formula.functionList.SUMSQ.description", abstract: "formula.functionList.SUMSQ.abstract", functionParameter: [ { name: "formula.functionList.SUMSQ.functionParameter.number1.name", detail: "formula.functionList.SUMSQ.functionParameter.number1.detail", example: "3", require: 1, repeat: 0 }, { name: "formula.functionList.SUMSQ.functionParameter.number2.name", detail: "formula.functionList.SUMSQ.functionParameter.number2.detail", example: "4", require: 0, repeat: 1 } ] }, { functionName: T.SUMX2MY2, functionType: t.Math, description: "formula.functionList.SUMX2MY2.description", abstract: "formula.functionList.SUMX2MY2.abstract", functionParameter: [ { name: "formula.functionList.SUMX2MY2.functionParameter.arrayX.name", detail: "formula.functionList.SUMX2MY2.functionParameter.arrayX.detail", example: "A2:A8", require: 1, repeat: 0 }, { name: "formula.functionList.SUMX2MY2.functionParameter.arrayY.name", detail: "formula.functionList.SUMX2MY2.functionParameter.arrayY.detail", example: "B2:B8", require: 1, repeat: 0 } ] }, { functionName: T.SUMX2PY2, functionType: t.Math, description: "formula.functionList.SUMX2PY2.description", abstract: "formula.functionList.SUMX2PY2.abstract", functionParameter: [ { name: "formula.functionList.SUMX2PY2.functionParameter.arrayX.name", detail: "formula.functionList.SUMX2PY2.functionParameter.arrayX.detail", example: "A2:A8", require: 1, repeat: 0 }, { name: "formula.functionList.SUMX2PY2.functionParameter.arrayY.name", detail: "formula.functionList.SUMX2PY2.functionParameter.arrayY.detail", example: "B2:B8", require: 1, repeat: 0 } ] }, { functionName: T.SUMXMY2, functionType: t.Math, description: "formula.functionList.SUMXMY2.description", abstract: "formula.functionList.SUMXMY2.abstract", functionParameter: [ { name: "formula.functionList.SUMXMY2.functionParameter.arrayX.name", detail: "formula.functionList.SUMXMY2.functionParameter.arrayX.detail", example: "A2:A8", require: 1, repeat: 0 }, { name: "formula.functionList.SUMXMY2.functionParameter.arrayY.name", detail: "formula.functionList.SUMXMY2.functionParameter.arrayY.detail", example: "B2:B8", require: 1, repeat: 0 } ] }, { functionName: T.TAN, functionType: t.Math, description: "formula.functionList.TAN.description", abstract: "formula.functionList.TAN.abstract", functionParameter: [ { name: "formula.functionList.TAN.functionParameter.number.name", detail: "formula.functionList.TAN.functionParameter.number.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: T.TANH, functionType: t.Math, description: "formula.functionList.TANH.description", abstract: "formula.functionList.TANH.abstract", functionParameter: [ { name: "formula.functionList.TANH.functionParameter.number.name", detail: "formula.functionList.TANH.functionParameter.number.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: T.TRUNC, functionType: t.Math, description: "formula.functionList.TRUNC.description", abstract: "formula.functionList.TRUNC.abstract", functionParameter: [ { name: "formula.functionList.TRUNC.functionParameter.number.name", detail: "formula.functionList.TRUNC.functionParameter.number.detail", example: "0.45", require: 1, repeat: 0 }, { name: "formula.functionList.TRUNC.functionParameter.numDigits.name", detail: "formula.functionList.TRUNC.functionParameter.numDigits.detail", example: "1", require: 0, repeat: 0 } ] } ], zi = [ { functionName: l.AVEDEV, functionType: t.Statistical, description: "formula.functionList.AVEDEV.description", abstract: "formula.functionList.AVEDEV.abstract", functionParameter: [ { name: "formula.functionList.AVEDEV.functionParameter.number1.name", detail: "formula.functionList.AVEDEV.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.AVEDEV.functionParameter.number2.name", detail: "formula.functionList.AVEDEV.functionParameter.number2.detail", example: "B1:B20", require: 0, repeat: 1 } ] }, { functionName: l.AVERAGE, aliasFunctionName: "formula.functionList.AVERAGE.aliasFunctionName", functionType: t.Statistical, description: "formula.functionList.AVERAGE.description", abstract: "formula.functionList.AVERAGE.abstract", functionParameter: [ { name: "formula.functionList.AVERAGE.functionParameter.number1.name", detail: "formula.functionList.AVERAGE.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.AVERAGE.functionParameter.number2.name", detail: "formula.functionList.AVERAGE.functionParameter.number2.detail", example: "B1:B20", require: 0, repeat: 1 } ] }, { functionName: l.AVERAGE_WEIGHTED, aliasFunctionName: "formula.functionList.AVERAGE_WEIGHTED.aliasFunctionName", functionType: t.Statistical, description: "formula.functionList.AVERAGE_WEIGHTED.description", abstract: "formula.functionList.AVERAGE_WEIGHTED.abstract", functionParameter: [ { name: "formula.functionList.AVERAGE_WEIGHTED.functionParameter.values.name", detail: "formula.functionList.AVERAGE_WEIGHTED.functionParameter.values.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.AVERAGE_WEIGHTED.functionParameter.weights.name", detail: "formula.functionList.AVERAGE_WEIGHTED.functionParameter.weights.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalValues.name", detail: "formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalValues.detail", example: "20", require: 0, repeat: 1 }, { name: "formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalWeights.name", detail: "formula.functionList.AVERAGE_WEIGHTED.functionParameter.additionalWeights.detail", example: "3", require: 0, repeat: 1 } ] }, { functionName: l.AVERAGEA, functionType: t.Statistical, description: "formula.functionList.AVERAGEA.description", abstract: "formula.functionList.AVERAGEA.abstract", functionParameter: [ { name: "formula.functionList.AVERAGEA.functionParameter.value1.name", detail: "formula.functionList.AVERAGEA.functionParameter.value1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.AVERAGEA.functionParameter.value2.name", detail: "formula.functionList.AVERAGEA.functionParameter.value2.detail", example: "B1:B20", require: 0, repeat: 1 } ] }, { functionName: l.AVERAGEIF, functionType: t.Statistical, description: "formula.functionList.AVERAGEIF.description", abstract: "formula.functionList.AVERAGEIF.abstract", functionParameter: [ { name: "formula.functionList.AVERAGEIF.functionParameter.range.name", detail: "formula.functionList.AVERAGEIF.functionParameter.range.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.AVERAGEIF.functionParameter.criteria.name", detail: "formula.functionList.AVERAGEIF.functionParameter.criteria.detail", example: '">5"', require: 1, repeat: 0 }, { name: "formula.functionList.AVERAGEIF.functionParameter.averageRange.name", detail: "formula.functionList.AVERAGEIF.functionParameter.averageRange.detail", example: "B1:B20", require: 0, repeat: 0 } ] }, { functionName: l.AVERAGEIFS, functionType: t.Statistical, description: "formula.functionList.AVERAGEIFS.description", abstract: "formula.functionList.AVERAGEIFS.abstract", functionParameter: [ { name: "formula.functionList.AVERAGEIFS.functionParameter.averageRange.name", detail: "formula.functionList.AVERAGEIFS.functionParameter.averageRange.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.AVERAGEIFS.functionParameter.criteriaRange1.name", detail: "formula.functionList.AVERAGEIFS.functionParameter.criteriaRange1.detail", example: "B1:B20", require: 1, repeat: 0 }, { name: "formula.functionList.AVERAGEIFS.functionParameter.criteria1.name", detail: "formula.functionList.AVERAGEIFS.functionParameter.criteria1.detail", example: '">10"', require: 1, repeat: 0 }, { name: "formula.functionList.AVERAGEIFS.functionParameter.criteriaRange2.name", detail: "formula.functionList.AVERAGEIFS.functionParameter.criteriaRange2.detail", example: "C1:C20", require: 0, repeat: 1 }, { name: "formula.functionList.AVERAGEIFS.functionParameter.criteria2.name", detail: "formula.functionList.AVERAGEIFS.functionParameter.criteria2.detail", example: '"<20"', require: 0, repeat: 1 } ] }, { functionName: l.BETA_DIST, functionType: t.Statistical, description: "formula.functionList.BETA_DIST.description", abstract: "formula.functionList.BETA_DIST.abstract", functionParameter: [ { name: "formula.functionList.BETA_DIST.functionParameter.x.name", detail: "formula.functionList.BETA_DIST.functionParameter.x.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.BETA_DIST.functionParameter.alpha.name", detail: "formula.functionList.BETA_DIST.functionParameter.alpha.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.BETA_DIST.functionParameter.beta.name", detail: "formula.functionList.BETA_DIST.functionParameter.beta.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.BETA_DIST.functionParameter.cumulative.name", detail: "formula.functionList.BETA_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 }, { name: "formula.functionList.BETA_DIST.functionParameter.A.name", detail: "formula.functionList.BETA_DIST.functionParameter.A.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.BETA_DIST.functionParameter.B.name", detail: "formula.functionList.BETA_DIST.functionParameter.B.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: l.BETA_INV, functionType: t.Statistical, description: "formula.functionList.BETA_INV.description", abstract: "formula.functionList.BETA_INV.abstract", functionParameter: [ { name: "formula.functionList.BETA_INV.functionParameter.probability.name", detail: "formula.functionList.BETA_INV.functionParameter.probability.detail", example: "0.685470581", require: 1, repeat: 0 }, { name: "formula.functionList.BETA_INV.functionParameter.alpha.name", detail: "formula.functionList.BETA_INV.functionParameter.alpha.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.BETA_INV.functionParameter.beta.name", detail: "formula.functionList.BETA_INV.functionParameter.beta.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.BETA_INV.functionParameter.A.name", detail: "formula.functionList.BETA_INV.functionParameter.A.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.BETA_INV.functionParameter.B.name", detail: "formula.functionList.BETA_INV.functionParameter.B.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: l.BINOM_DIST, functionType: t.Statistical, description: "formula.functionList.BINOM_DIST.description", abstract: "formula.functionList.BINOM_DIST.abstract", functionParameter: [ { name: "formula.functionList.BINOM_DIST.functionParameter.numberS.name", detail: "formula.functionList.BINOM_DIST.functionParameter.numberS.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.BINOM_DIST.functionParameter.trials.name", detail: "formula.functionList.BINOM_DIST.functionParameter.trials.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.BINOM_DIST.functionParameter.probabilityS.name", detail: "formula.functionList.BINOM_DIST.functionParameter.probabilityS.detail", example: "0.5", require: 1, repeat: 0 }, { name: "formula.functionList.BINOM_DIST.functionParameter.cumulative.name", detail: "formula.functionList.BINOM_DIST.functionParameter.cumulative.detail", example: "false", require: 1, repeat: 0 } ] }, { functionName: l.BINOM_DIST_RANGE, functionType: t.Statistical, description: "formula.functionList.BINOM_DIST_RANGE.description", abstract: "formula.functionList.BINOM_DIST_RANGE.abstract", functionParameter: [ { name: "formula.functionList.BINOM_DIST_RANGE.functionParameter.trials.name", detail: "formula.functionList.BINOM_DIST_RANGE.functionParameter.trials.detail", example: "60", require: 1, repeat: 0 }, { name: "formula.functionList.BINOM_DIST_RANGE.functionParameter.probabilityS.name", detail: "formula.functionList.BINOM_DIST_RANGE.functionParameter.probabilityS.detail", example: "0.75", require: 1, repeat: 0 }, { name: "formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS.name", detail: "formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS.detail", example: "45", require: 1, repeat: 0 }, { name: "formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS2.name", detail: "formula.functionList.BINOM_DIST_RANGE.functionParameter.numberS2.detail", example: "50", require: 0, repeat: 0 } ] }, { functionName: l.BINOM_INV, functionType: t.Statistical, description: "formula.functionList.BINOM_INV.description", abstract: "formula.functionList.BINOM_INV.abstract", functionParameter: [ { name: "formula.functionList.BINOM_INV.functionParameter.trials.name", detail: "formula.functionList.BINOM_INV.functionParameter.trials.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.BINOM_INV.functionParameter.probabilityS.name", detail: "formula.functionList.BINOM_INV.functionParameter.probabilityS.detail", example: "0.5", require: 1, repeat: 0 }, { name: "formula.functionList.BINOM_INV.functionParameter.alpha.name", detail: "formula.functionList.BINOM_INV.functionParameter.alpha.detail", example: "0.75", require: 1, repeat: 0 } ] }, { functionName: l.CHISQ_DIST, functionType: t.Statistical, description: "formula.functionList.CHISQ_DIST.description", abstract: "formula.functionList.CHISQ_DIST.abstract", functionParameter: [ { name: "formula.functionList.CHISQ_DIST.functionParameter.x.name", detail: "formula.functionList.CHISQ_DIST.functionParameter.x.detail", example: "0.5", require: 1, repeat: 0 }, { name: "formula.functionList.CHISQ_DIST.functionParameter.degFreedom.name", detail: "formula.functionList.CHISQ_DIST.functionParameter.degFreedom.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.CHISQ_DIST.functionParameter.cumulative.name", detail: "formula.functionList.CHISQ_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.CHISQ_DIST_RT, functionType: t.Statistical, description: "formula.functionList.CHISQ_DIST_RT.description", abstract: "formula.functionList.CHISQ_DIST_RT.abstract", functionParameter: [ { name: "formula.functionList.CHISQ_DIST_RT.functionParameter.x.name", detail: "formula.functionList.CHISQ_DIST_RT.functionParameter.x.detail", example: "0.5", require: 1, repeat: 0 }, { name: "formula.functionList.CHISQ_DIST_RT.functionParameter.degFreedom.name", detail: "formula.functionList.CHISQ_DIST_RT.functionParameter.degFreedom.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: l.CHISQ_INV, functionType: t.Statistical, description: "formula.functionList.CHISQ_INV.description", abstract: "formula.functionList.CHISQ_INV.abstract", functionParameter: [ { name: "formula.functionList.CHISQ_INV.functionParameter.probability.name", detail: "formula.functionList.CHISQ_INV.functionParameter.probability.detail", example: "0.93", require: 1, repeat: 0 }, { name: "formula.functionList.CHISQ_INV.functionParameter.degFreedom.name", detail: "formula.functionList.CHISQ_INV.functionParameter.degFreedom.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: l.CHISQ_INV_RT, functionType: t.Statistical, description: "formula.functionList.CHISQ_INV_RT.description", abstract: "formula.functionList.CHISQ_INV_RT.abstract", functionParameter: [ { name: "formula.functionList.CHISQ_INV_RT.functionParameter.probability.name", detail: "formula.functionList.CHISQ_INV_RT.functionParameter.probability.detail", example: "0.93", require: 1, repeat: 0 }, { name: "formula.functionList.CHISQ_INV_RT.functionParameter.degFreedom.name", detail: "formula.functionList.CHISQ_INV_RT.functionParameter.degFreedom.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: l.CHISQ_TEST, functionType: t.Statistical, description: "formula.functionList.CHISQ_TEST.description", abstract: "formula.functionList.CHISQ_TEST.abstract", functionParameter: [ { name: "formula.functionList.CHISQ_TEST.functionParameter.actualRange.name", detail: "formula.functionList.CHISQ_TEST.functionParameter.actualRange.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.CHISQ_TEST.functionParameter.expectedRange.name", detail: "formula.functionList.CHISQ_TEST.functionParameter.expectedRange.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.CONFIDENCE_NORM, functionType: t.Statistical, description: "formula.functionList.CONFIDENCE_NORM.description", abstract: "formula.functionList.CONFIDENCE_NORM.abstract", functionParameter: [ { name: "formula.functionList.CONFIDENCE_NORM.functionParameter.alpha.name", detail: "formula.functionList.CONFIDENCE_NORM.functionParameter.alpha.detail", example: "0.05", require: 1, repeat: 0 }, { name: "formula.functionList.CONFIDENCE_NORM.functionParameter.standardDev.name", detail: "formula.functionList.CONFIDENCE_NORM.functionParameter.standardDev.detail", example: "2.5", require: 1, repeat: 0 }, { name: "formula.functionList.CONFIDENCE_NORM.functionParameter.size.name", detail: "formula.functionList.CONFIDENCE_NORM.functionParameter.size.detail", example: "50", require: 1, repeat: 0 } ] }, { functionName: l.CONFIDENCE_T, functionType: t.Statistical, description: "formula.functionList.CONFIDENCE_T.description", abstract: "formula.functionList.CONFIDENCE_T.abstract", functionParameter: [ { name: "formula.functionList.CONFIDENCE_T.functionParameter.alpha.name", detail: "formula.functionList.CONFIDENCE_T.functionParameter.alpha.detail", example: "0.05", require: 1, repeat: 0 }, { name: "formula.functionList.CONFIDENCE_T.functionParameter.standardDev.name", detail: "formula.functionList.CONFIDENCE_T.functionParameter.standardDev.detail", example: "2.5", require: 1, repeat: 0 }, { name: "formula.functionList.CONFIDENCE_T.functionParameter.size.name", detail: "formula.functionList.CONFIDENCE_T.functionParameter.size.detail", example: "50", require: 1, repeat: 0 } ] }, { functionName: l.CORREL, functionType: t.Statistical, description: "formula.functionList.CORREL.description", abstract: "formula.functionList.CORREL.abstract", functionParameter: [ { name: "formula.functionList.CORREL.functionParameter.array1.name", detail: "formula.functionList.CORREL.functionParameter.array1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.CORREL.functionParameter.array2.name", detail: "formula.functionList.CORREL.functionParameter.array2.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.COUNT, aliasFunctionName: "formula.functionList.COUNT.aliasFunctionName", functionType: t.Statistical, description: "formula.functionList.COUNT.description", abstract: "formula.functionList.COUNT.abstract", functionParameter: [ { name: "formula.functionList.COUNT.functionParameter.value1.name", detail: "formula.functionList.COUNT.functionParameter.value1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.COUNT.functionParameter.value2.name", detail: "formula.functionList.COUNT.functionParameter.value2.detail", example: "B2:B10", require: 0, repeat: 1 } ] }, { functionName: l.COUNTA, aliasFunctionName: "formula.functionList.COUNTA.aliasFunctionName", functionType: t.Statistical, description: "formula.functionList.COUNTA.description", abstract: "formula.functionList.COUNTA.abstract", functionParameter: [ { name: "formula.functionList.COUNTA.functionParameter.number1.name", detail: "formula.functionList.COUNTA.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.COUNTA.functionParameter.number2.name", detail: "formula.functionList.COUNTA.functionParameter.number2.detail", example: "B2:B10", require: 0, repeat: 1 } ] }, { functionName: l.COUNTBLANK, functionType: t.Statistical, description: "formula.functionList.COUNTBLANK.description", abstract: "formula.functionList.COUNTBLANK.abstract", functionParameter: [ { name: "formula.functionList.COUNTBLANK.functionParameter.range.name", detail: "formula.functionList.COUNTBLANK.functionParameter.range.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: l.COUNTIF, functionType: t.Statistical, description: "formula.functionList.COUNTIF.description", abstract: "formula.functionList.COUNTIF.abstract", functionParameter: [ { name: "formula.functionList.COUNTIF.functionParameter.range.name", detail: "formula.functionList.COUNTIF.functionParameter.range.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.COUNTIF.functionParameter.criteria.name", detail: "formula.functionList.COUNTIF.functionParameter.criteria.detail", example: '">5"', require: 1, repeat: 0 } ] }, { functionName: l.COUNTIFS, functionType: t.Statistical, description: "formula.functionList.COUNTIFS.description", abstract: "formula.functionList.COUNTIFS.abstract", functionParameter: [ { name: "formula.functionList.COUNTIFS.functionParameter.criteriaRange1.name", detail: "formula.functionList.COUNTIFS.functionParameter.criteriaRange1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.COUNTIFS.functionParameter.criteria1.name", detail: "formula.functionList.COUNTIFS.functionParameter.criteria1.detail", example: '">10"', require: 1, repeat: 0 }, { name: "formula.functionList.COUNTIFS.functionParameter.criteriaRange2.name", detail: "formula.functionList.COUNTIFS.functionParameter.criteriaRange2.detail", example: "B1:B20", require: 0, repeat: 1 }, { name: "formula.functionList.COUNTIFS.functionParameter.criteria2.name", detail: "formula.functionList.COUNTIFS.functionParameter.criteria2.detail", example: '"<20"', require: 0, repeat: 1 } ] }, { functionName: l.COVARIANCE_P, functionType: t.Statistical, description: "formula.functionList.COVARIANCE_P.description", abstract: "formula.functionList.COVARIANCE_P.abstract", functionParameter: [ { name: "formula.functionList.COVARIANCE_P.functionParameter.array1.name", detail: "formula.functionList.COVARIANCE_P.functionParameter.array1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.COVARIANCE_P.functionParameter.array2.name", detail: "formula.functionList.COVARIANCE_P.functionParameter.array2.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.COVARIANCE_S, functionType: t.Statistical, description: "formula.functionList.COVARIANCE_S.description", abstract: "formula.functionList.COVARIANCE_S.abstract", functionParameter: [ { name: "formula.functionList.COVARIANCE_S.functionParameter.array1.name", detail: "formula.functionList.COVARIANCE_S.functionParameter.array1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.COVARIANCE_S.functionParameter.array2.name", detail: "formula.functionList.COVARIANCE_S.functionParameter.array2.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.DEVSQ, functionType: t.Statistical, description: "formula.functionList.DEVSQ.description", abstract: "formula.functionList.DEVSQ.abstract", functionParameter: [ { name: "formula.functionList.DEVSQ.functionParameter.number1.name", detail: "formula.functionList.DEVSQ.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.DEVSQ.functionParameter.number2.name", detail: "formula.functionList.DEVSQ.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.EXPON_DIST, functionType: t.Statistical, description: "formula.functionList.EXPON_DIST.description", abstract: "formula.functionList.EXPON_DIST.abstract", functionParameter: [ { name: "formula.functionList.EXPON_DIST.functionParameter.x.name", detail: "formula.functionList.EXPON_DIST.functionParameter.x.detail", example: "0.2", require: 1, repeat: 0 }, { name: "formula.functionList.EXPON_DIST.functionParameter.lambda.name", detail: "formula.functionList.EXPON_DIST.functionParameter.lambda.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.EXPON_DIST.functionParameter.cumulative.name", detail: "formula.functionList.EXPON_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.F_DIST, functionType: t.Statistical, description: "formula.functionList.F_DIST.description", abstract: "formula.functionList.F_DIST.abstract", functionParameter: [ { name: "formula.functionList.F_DIST.functionParameter.x.name", detail: "formula.functionList.F_DIST.functionParameter.x.detail", example: "15.2069", require: 1, repeat: 0 }, { name: "formula.functionList.F_DIST.functionParameter.degFreedom1.name", detail: "formula.functionList.F_DIST.functionParameter.degFreedom1.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.F_DIST.functionParameter.degFreedom2.name", detail: "formula.functionList.F_DIST.functionParameter.degFreedom2.detail", example: "4", require: 1, repeat: 0 }, { name: "formula.functionList.F_DIST.functionParameter.cumulative.name", detail: "formula.functionList.F_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.F_DIST_RT, functionType: t.Statistical, description: "formula.functionList.F_DIST_RT.description", abstract: "formula.functionList.F_DIST_RT.abstract", functionParameter: [ { name: "formula.functionList.F_DIST_RT.functionParameter.x.name", detail: "formula.functionList.F_DIST_RT.functionParameter.x.detail", example: "15.2069", require: 1, repeat: 0 }, { name: "formula.functionList.F_DIST_RT.functionParameter.degFreedom1.name", detail: "formula.functionList.F_DIST_RT.functionParameter.degFreedom1.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.F_DIST_RT.functionParameter.degFreedom2.name", detail: "formula.functionList.F_DIST_RT.functionParameter.degFreedom2.detail", example: "4", require: 1, repeat: 0 } ] }, { functionName: l.F_INV, functionType: t.Statistical, description: "formula.functionList.F_INV.description", abstract: "formula.functionList.F_INV.abstract", functionParameter: [ { name: "formula.functionList.F_INV.functionParameter.probability.name", detail: "formula.functionList.F_INV.functionParameter.probability.detail", example: "0.01", require: 1, repeat: 0 }, { name: "formula.functionList.F_INV.functionParameter.degFreedom1.name", detail: "formula.functionList.F_INV.functionParameter.degFreedom1.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.F_INV.functionParameter.degFreedom2.name", detail: "formula.functionList.F_INV.functionParameter.degFreedom2.detail", example: "4", require: 1, repeat: 0 } ] }, { functionName: l.F_INV_RT, functionType: t.Statistical, description: "formula.functionList.F_INV_RT.description", abstract: "formula.functionList.F_INV_RT.abstract", functionParameter: [ { name: "formula.functionList.F_INV_RT.functionParameter.probability.name", detail: "formula.functionList.F_INV_RT.functionParameter.probability.detail", example: "0.01", require: 1, repeat: 0 }, { name: "formula.functionList.F_INV_RT.functionParameter.degFreedom1.name", detail: "formula.functionList.F_INV_RT.functionParameter.degFreedom1.detail", example: "6", require: 1, repeat: 0 }, { name: "formula.functionList.F_INV_RT.functionParameter.degFreedom2.name", detail: "formula.functionList.F_INV_RT.functionParameter.degFreedom2.detail", example: "4", require: 1, repeat: 0 } ] }, { functionName: l.F_TEST, functionType: t.Statistical, description: "formula.functionList.F_TEST.description", abstract: "formula.functionList.F_TEST.abstract", functionParameter: [ { name: "formula.functionList.F_TEST.functionParameter.array1.name", detail: "formula.functionList.F_TEST.functionParameter.array1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.F_TEST.functionParameter.array2.name", detail: "formula.functionList.F_TEST.functionParameter.array2.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.FISHER, functionType: t.Statistical, description: "formula.functionList.FISHER.description", abstract: "formula.functionList.FISHER.abstract", functionParameter: [ { name: "formula.functionList.FISHER.functionParameter.x.name", detail: "formula.functionList.FISHER.functionParameter.x.detail", example: "0.75", require: 1, repeat: 0 } ] }, { functionName: l.FISHERINV, functionType: t.Statistical, description: "formula.functionList.FISHERINV.description", abstract: "formula.functionList.FISHERINV.abstract", functionParameter: [ { name: "formula.functionList.FISHERINV.functionParameter.y.name", detail: "formula.functionList.FISHERINV.functionParameter.y.detail", example: "0.75", require: 1, repeat: 0 } ] }, { functionName: l.FORECAST, functionType: t.Statistical, description: "formula.functionList.FORECAST.description", abstract: "formula.functionList.FORECAST.abstract", functionParameter: [ { name: "formula.functionList.FORECAST.functionParameter.x.name", detail: "formula.functionList.FORECAST.functionParameter.x.detail", example: "30", require: 1, repeat: 0 }, { name: "formula.functionList.FORECAST.functionParameter.knownYs.name", detail: "formula.functionList.FORECAST.functionParameter.knownYs.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.FORECAST.functionParameter.knownXs.name", detail: "formula.functionList.FORECAST.functionParameter.knownXs.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.FORECAST_ETS, functionType: t.Statistical, description: "formula.functionList.FORECAST_ETS.description", abstract: "formula.functionList.FORECAST_ETS.abstract", functionParameter: [ { name: "formula.functionList.FORECAST_ETS.functionParameter.number1.name", detail: "formula.functionList.FORECAST_ETS.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.FORECAST_ETS.functionParameter.number2.name", detail: "formula.functionList.FORECAST_ETS.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: l.FORECAST_ETS_CONFINT, functionType: t.Statistical, description: "formula.functionList.FORECAST_ETS_CONFINT.description", abstract: "formula.functionList.FORECAST_ETS_CONFINT.abstract", functionParameter: [ { name: "formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number1.name", detail: "formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number2.name", detail: "formula.functionList.FORECAST_ETS_CONFINT.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: l.FORECAST_ETS_SEASONALITY, functionType: t.Statistical, description: "formula.functionList.FORECAST_ETS_SEASONALITY.description", abstract: "formula.functionList.FORECAST_ETS_SEASONALITY.abstract", functionParameter: [ { name: "formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number1.name", detail: "formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number2.name", detail: "formula.functionList.FORECAST_ETS_SEASONALITY.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: l.FORECAST_ETS_STAT, functionType: t.Statistical, description: "formula.functionList.FORECAST_ETS_STAT.description", abstract: "formula.functionList.FORECAST_ETS_STAT.abstract", functionParameter: [ { name: "formula.functionList.FORECAST_ETS_STAT.functionParameter.number1.name", detail: "formula.functionList.FORECAST_ETS_STAT.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.FORECAST_ETS_STAT.functionParameter.number2.name", detail: "formula.functionList.FORECAST_ETS_STAT.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: l.FORECAST_LINEAR, functionType: t.Statistical, description: "formula.functionList.FORECAST_LINEAR.description", abstract: "formula.functionList.FORECAST_LINEAR.abstract", functionParameter: [ { name: "formula.functionList.FORECAST_LINEAR.functionParameter.x.name", detail: "formula.functionList.FORECAST_LINEAR.functionParameter.x.detail", example: "30", require: 1, repeat: 0 }, { name: "formula.functionList.FORECAST_LINEAR.functionParameter.knownYs.name", detail: "formula.functionList.FORECAST_LINEAR.functionParameter.knownYs.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.FORECAST_LINEAR.functionParameter.knownXs.name", detail: "formula.functionList.FORECAST_LINEAR.functionParameter.knownXs.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.FREQUENCY, functionType: t.Statistical, description: "formula.functionList.FREQUENCY.description", abstract: "formula.functionList.FREQUENCY.abstract", functionParameter: [ { name: "formula.functionList.FREQUENCY.functionParameter.dataArray.name", detail: "formula.functionList.FREQUENCY.functionParameter.dataArray.detail", example: "A2:A10", require: 1, repeat: 0 }, { name: "formula.functionList.FREQUENCY.functionParameter.binsArray.name", detail: "formula.functionList.FREQUENCY.functionParameter.binsArray.detail", example: "B2:B4", require: 1, repeat: 0 } ] }, { functionName: l.GAMMA, functionType: t.Statistical, description: "formula.functionList.GAMMA.description", abstract: "formula.functionList.GAMMA.abstract", functionParameter: [ { name: "formula.functionList.GAMMA.functionParameter.number.name", detail: "formula.functionList.GAMMA.functionParameter.number.detail", example: "2.5", require: 1, repeat: 0 } ] }, { functionName: l.GAMMA_DIST, functionType: t.Statistical, description: "formula.functionList.GAMMA_DIST.description", abstract: "formula.functionList.GAMMA_DIST.abstract", functionParameter: [ { name: "formula.functionList.GAMMA_DIST.functionParameter.x.name", detail: "formula.functionList.GAMMA_DIST.functionParameter.x.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.GAMMA_DIST.functionParameter.alpha.name", detail: "formula.functionList.GAMMA_DIST.functionParameter.alpha.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.GAMMA_DIST.functionParameter.beta.name", detail: "formula.functionList.GAMMA_DIST.functionParameter.beta.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.GAMMA_DIST.functionParameter.cumulative.name", detail: "formula.functionList.GAMMA_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.GAMMA_INV, functionType: t.Statistical, description: "formula.functionList.GAMMA_INV.description", abstract: "formula.functionList.GAMMA_INV.abstract", functionParameter: [ { name: "formula.functionList.GAMMA_INV.functionParameter.probability.name", detail: "formula.functionList.GAMMA_INV.functionParameter.probability.detail", example: "0.068094", require: 1, repeat: 0 }, { name: "formula.functionList.GAMMA_INV.functionParameter.alpha.name", detail: "formula.functionList.GAMMA_INV.functionParameter.alpha.detail", example: "9", require: 1, repeat: 0 }, { name: "formula.functionList.GAMMA_INV.functionParameter.beta.name", detail: "formula.functionList.GAMMA_INV.functionParameter.beta.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: l.GAMMALN, functionType: t.Statistical, description: "formula.functionList.GAMMALN.description", abstract: "formula.functionList.GAMMALN.abstract", functionParameter: [ { name: "formula.functionList.GAMMALN.functionParameter.x.name", detail: "formula.functionList.GAMMALN.functionParameter.x.detail", example: "4", require: 1, repeat: 0 } ] }, { functionName: l.GAMMALN_PRECISE, functionType: t.Statistical, description: "formula.functionList.GAMMALN_PRECISE.description", abstract: "formula.functionList.GAMMALN_PRECISE.abstract", functionParameter: [ { name: "formula.functionList.GAMMALN_PRECISE.functionParameter.x.name", detail: "formula.functionList.GAMMALN_PRECISE.functionParameter.x.detail", example: "4", require: 1, repeat: 0 } ] }, { functionName: l.GAUSS, functionType: t.Statistical, description: "formula.functionList.GAUSS.description", abstract: "formula.functionList.GAUSS.abstract", functionParameter: [ { name: "formula.functionList.GAUSS.functionParameter.z.name", detail: "formula.functionList.GAUSS.functionParameter.z.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: l.GEOMEAN, functionType: t.Statistical, description: "formula.functionList.GEOMEAN.description", abstract: "formula.functionList.GEOMEAN.abstract", functionParameter: [ { name: "formula.functionList.GEOMEAN.functionParameter.number1.name", detail: "formula.functionList.GEOMEAN.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.GEOMEAN.functionParameter.number2.name", detail: "formula.functionList.GEOMEAN.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.GROWTH, functionType: t.Statistical, description: "formula.functionList.GROWTH.description", abstract: "formula.functionList.GROWTH.abstract", functionParameter: [ { name: "formula.functionList.GROWTH.functionParameter.knownYs.name", detail: "formula.functionList.GROWTH.functionParameter.knownYs.detail", example: "B2:B7", require: 1, repeat: 0 }, { name: "formula.functionList.GROWTH.functionParameter.knownXs.name", detail: "formula.functionList.GROWTH.functionParameter.knownXs.detail", example: "A2:A7", require: 0, repeat: 0 }, { name: "formula.functionList.GROWTH.functionParameter.newXs.name", detail: "formula.functionList.GROWTH.functionParameter.newXs.detail", example: "A9:A10", require: 0, repeat: 0 }, { name: "formula.functionList.GROWTH.functionParameter.constb.name", detail: "formula.functionList.GROWTH.functionParameter.constb.detail", example: "true", require: 0, repeat: 0 } ] }, { functionName: l.HARMEAN, functionType: t.Statistical, description: "formula.functionList.HARMEAN.description", abstract: "formula.functionList.HARMEAN.abstract", functionParameter: [ { name: "formula.functionList.HARMEAN.functionParameter.number1.name", detail: "formula.functionList.HARMEAN.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.HARMEAN.functionParameter.number2.name", detail: "formula.functionList.HARMEAN.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.HYPGEOM_DIST, functionType: t.Statistical, description: "formula.functionList.HYPGEOM_DIST.description", abstract: "formula.functionList.HYPGEOM_DIST.abstract", functionParameter: [ { name: "formula.functionList.HYPGEOM_DIST.functionParameter.sampleS.name", detail: "formula.functionList.HYPGEOM_DIST.functionParameter.sampleS.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.HYPGEOM_DIST.functionParameter.numberSample.name", detail: "formula.functionList.HYPGEOM_DIST.functionParameter.numberSample.detail", example: "4", require: 1, repeat: 0 }, { name: "formula.functionList.HYPGEOM_DIST.functionParameter.populationS.name", detail: "formula.functionList.HYPGEOM_DIST.functionParameter.populationS.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.HYPGEOM_DIST.functionParameter.numberPop.name", detail: "formula.functionList.HYPGEOM_DIST.functionParameter.numberPop.detail", example: "20", require: 1, repeat: 0 }, { name: "formula.functionList.HYPGEOM_DIST.functionParameter.cumulative.name", detail: "formula.functionList.HYPGEOM_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.INTERCEPT, functionType: t.Statistical, description: "formula.functionList.INTERCEPT.description", abstract: "formula.functionList.INTERCEPT.abstract", functionParameter: [ { name: "formula.functionList.INTERCEPT.functionParameter.knownYs.name", detail: "formula.functionList.INTERCEPT.functionParameter.knownYs.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.INTERCEPT.functionParameter.knownXs.name", detail: "formula.functionList.INTERCEPT.functionParameter.knownXs.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.KURT, functionType: t.Statistical, description: "formula.functionList.KURT.description", abstract: "formula.functionList.KURT.abstract", functionParameter: [ { name: "formula.functionList.KURT.functionParameter.number1.name", detail: "formula.functionList.KURT.functionParameter.number1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.KURT.functionParameter.number2.name", detail: "formula.functionList.KURT.functionParameter.number2.detail", example: "4", require: 0, repeat: 1 } ] }, { functionName: l.LARGE, functionType: t.Statistical, description: "formula.functionList.LARGE.description", abstract: "formula.functionList.LARGE.abstract", functionParameter: [ { name: "formula.functionList.LARGE.functionParameter.array.name", detail: "formula.functionList.LARGE.functionParameter.array.detail", example: "A2:B6", require: 1, repeat: 0 }, { name: "formula.functionList.LARGE.functionParameter.k.name", detail: "formula.functionList.LARGE.functionParameter.k.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: l.LINEST, functionType: t.Statistical, description: "formula.functionList.LINEST.description", abstract: "formula.functionList.LINEST.abstract", functionParameter: [ { name: "formula.functionList.LINEST.functionParameter.knownYs.name", detail: "formula.functionList.LINEST.functionParameter.knownYs.detail", example: "B2:B7", require: 1, repeat: 0 }, { name: "formula.functionList.LINEST.functionParameter.knownXs.name", detail: "formula.functionList.LINEST.functionParameter.knownXs.detail", example: "A2:A7", require: 0, repeat: 0 }, { name: "formula.functionList.LINEST.functionParameter.constb.name", detail: "formula.functionList.LINEST.functionParameter.constb.detail", example: "true", require: 0, repeat: 0 }, { name: "formula.functionList.LINEST.functionParameter.stats.name", detail: "formula.functionList.LINEST.functionParameter.stats.detail", example: "true", require: 0, repeat: 0 } ] }, { functionName: l.LOGEST, functionType: t.Statistical, description: "formula.functionList.LOGEST.description", abstract: "formula.functionList.LOGEST.abstract", functionParameter: [ { name: "formula.functionList.LOGEST.functionParameter.knownYs.name", detail: "formula.functionList.LOGEST.functionParameter.knownYs.detail", example: "B2:B7", require: 1, repeat: 0 }, { name: "formula.functionList.LOGEST.functionParameter.knownXs.name", detail: "formula.functionList.LOGEST.functionParameter.knownXs.detail", example: "A2:A7", require: 0, repeat: 0 }, { name: "formula.functionList.LOGEST.functionParameter.constb.name", detail: "formula.functionList.LOGEST.functionParameter.constb.detail", example: "true", require: 0, repeat: 0 }, { name: "formula.functionList.LOGEST.functionParameter.stats.name", detail: "formula.functionList.LOGEST.functionParameter.stats.detail", example: "true", require: 0, repeat: 0 } ] }, { functionName: l.LOGNORM_DIST, functionType: t.Statistical, description: "formula.functionList.LOGNORM_DIST.description", abstract: "formula.functionList.LOGNORM_DIST.abstract", functionParameter: [ { name: "formula.functionList.LOGNORM_DIST.functionParameter.x.name", detail: "formula.functionList.LOGNORM_DIST.functionParameter.x.detail", example: "42", require: 1, repeat: 0 }, { name: "formula.functionList.LOGNORM_DIST.functionParameter.mean.name", detail: "formula.functionList.LOGNORM_DIST.functionParameter.mean.detail", example: "40", require: 1, repeat: 0 }, { name: "formula.functionList.LOGNORM_DIST.functionParameter.standardDev.name", detail: "formula.functionList.LOGNORM_DIST.functionParameter.standardDev.detail", example: "1.5", require: 1, repeat: 0 }, { name: "formula.functionList.LOGNORM_DIST.functionParameter.cumulative.name", detail: "formula.functionList.LOGNORM_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.LOGNORM_INV, functionType: t.Statistical, description: "formula.functionList.LOGNORM_INV.description", abstract: "formula.functionList.LOGNORM_INV.abstract", functionParameter: [ { name: "formula.functionList.LOGNORM_INV.functionParameter.probability.name", detail: "formula.functionList.LOGNORM_INV.functionParameter.probability.detail", example: "0.908789", require: 1, repeat: 0 }, { name: "formula.functionList.LOGNORM_INV.functionParameter.mean.name", detail: "formula.functionList.LOGNORM_INV.functionParameter.mean.detail", example: "40", require: 1, repeat: 0 }, { name: "formula.functionList.LOGNORM_INV.functionParameter.standardDev.name", detail: "formula.functionList.LOGNORM_INV.functionParameter.standardDev.detail", example: "1.5", require: 1, repeat: 0 } ] }, { functionName: l.MARGINOFERROR, aliasFunctionName: "formula.functionList.MARGINOFERROR.aliasFunctionName", functionType: t.Statistical, description: "formula.functionList.MARGINOFERROR.description", abstract: "formula.functionList.MARGINOFERROR.abstract", functionParameter: [ { name: "formula.functionList.MARGINOFERROR.functionParameter.range.name", detail: "formula.functionList.MARGINOFERROR.functionParameter.range.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.MARGINOFERROR.functionParameter.confidence.name", detail: "formula.functionList.MARGINOFERROR.functionParameter.confidence.detail", example: "0.95", require: 1, repeat: 0 } ] }, { functionName: l.MAX, aliasFunctionName: "formula.functionList.MAX.aliasFunctionName", functionType: t.Statistical, description: "formula.functionList.MAX.description", abstract: "formula.functionList.MAX.abstract", functionParameter: [ { name: "formula.functionList.MAX.functionParameter.number1.name", detail: "formula.functionList.MAX.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.MAX.functionParameter.number2.name", detail: "formula.functionList.MAX.functionParameter.number2.detail", example: "B2:B10", require: 0, repeat: 1 } ] }, { functionName: l.MAXA, functionType: t.Statistical, description: "formula.functionList.MAXA.description", abstract: "formula.functionList.MAXA.abstract", functionParameter: [ { name: "formula.functionList.MAXA.functionParameter.value1.name", detail: "formula.functionList.MAXA.functionParameter.value1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.MAXA.functionParameter.value2.name", detail: "formula.functionList.MAXA.functionParameter.value2.detail", example: "B1:B20", require: 0, repeat: 1 } ] }, { functionName: l.MAXIFS, functionType: t.Statistical, description: "formula.functionList.MAXIFS.description", abstract: "formula.functionList.MAXIFS.abstract", functionParameter: [ { name: "formula.functionList.MAXIFS.functionParameter.maxRange.name", detail: "formula.functionList.MAXIFS.functionParameter.maxRange.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.MAXIFS.functionParameter.criteriaRange1.name", detail: "formula.functionList.MAXIFS.functionParameter.criteriaRange1.detail", example: "B1:B20", require: 1, repeat: 0 }, { name: "formula.functionList.MAXIFS.functionParameter.criteria1.name", detail: "formula.functionList.MAXIFS.functionParameter.criteria1.detail", example: '">10"', require: 1, repeat: 0 }, { name: "formula.functionList.MAXIFS.functionParameter.criteriaRange2.name", detail: "formula.functionList.MAXIFS.functionParameter.criteriaRange2.detail", example: "C1:C20", require: 0, repeat: 1 }, { name: "formula.functionList.MAXIFS.functionParameter.criteria2.name", detail: "formula.functionList.MAXIFS.functionParameter.criteria2.detail", example: '"<20"', require: 0, repeat: 1 } ] }, { functionName: l.MEDIAN, functionType: t.Statistical, description: "formula.functionList.MEDIAN.description", abstract: "formula.functionList.MEDIAN.abstract", functionParameter: [ { name: "formula.functionList.MEDIAN.functionParameter.number1.name", detail: "formula.functionList.MEDIAN.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.MEDIAN.functionParameter.number2.name", detail: "formula.functionList.MEDIAN.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.MIN, aliasFunctionName: "formula.functionList.MIN.aliasFunctionName", functionType: t.Statistical, description: "formula.functionList.MIN.description", abstract: "formula.functionList.MIN.abstract", functionParameter: [ { name: "formula.functionList.MIN.functionParameter.number1.name", detail: "formula.functionList.MIN.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.MIN.functionParameter.number2.name", detail: "formula.functionList.MIN.functionParameter.number2.detail", example: "B2:B10", require: 0, repeat: 1 } ] }, { functionName: l.MINA, functionType: t.Statistical, description: "formula.functionList.MINA.description", abstract: "formula.functionList.MINA.abstract", functionParameter: [ { name: "formula.functionList.MINA.functionParameter.value1.name", detail: "formula.functionList.MINA.functionParameter.value1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.MINA.functionParameter.value2.name", detail: "formula.functionList.MINA.functionParameter.value2.detail", example: "B1:B20", require: 0, repeat: 1 } ] }, { functionName: l.MINIFS, functionType: t.Statistical, description: "formula.functionList.MINIFS.description", abstract: "formula.functionList.MINIFS.abstract", functionParameter: [ { name: "formula.functionList.MINIFS.functionParameter.minRange.name", detail: "formula.functionList.MINIFS.functionParameter.minRange.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.MINIFS.functionParameter.criteriaRange1.name", detail: "formula.functionList.MINIFS.functionParameter.criteriaRange1.detail", example: "B1:B20", require: 1, repeat: 0 }, { name: "formula.functionList.MINIFS.functionParameter.criteria1.name", detail: "formula.functionList.MINIFS.functionParameter.criteria1.detail", example: '">10"', require: 1, repeat: 0 }, { name: "formula.functionList.MINIFS.functionParameter.criteriaRange2.name", detail: "formula.functionList.MINIFS.functionParameter.criteriaRange2.detail", example: "C1:C20", require: 0, repeat: 1 }, { name: "formula.functionList.MINIFS.functionParameter.criteria2.name", detail: "formula.functionList.MINIFS.functionParameter.criteria2.detail", example: '"<20"', require: 0, repeat: 1 } ] }, { functionName: l.MODE_MULT, functionType: t.Statistical, description: "formula.functionList.MODE_MULT.description", abstract: "formula.functionList.MODE_MULT.abstract", functionParameter: [ { name: "formula.functionList.MODE_MULT.functionParameter.number1.name", detail: "formula.functionList.MODE_MULT.functionParameter.number1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.MODE_MULT.functionParameter.number2.name", detail: "formula.functionList.MODE_MULT.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.MODE_SNGL, functionType: t.Statistical, description: "formula.functionList.MODE_SNGL.description", abstract: "formula.functionList.MODE_SNGL.abstract", functionParameter: [ { name: "formula.functionList.MODE_SNGL.functionParameter.number1.name", detail: "formula.functionList.MODE_SNGL.functionParameter.number1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.MODE_SNGL.functionParameter.number2.name", detail: "formula.functionList.MODE_SNGL.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.NEGBINOM_DIST, functionType: t.Statistical, description: "formula.functionList.NEGBINOM_DIST.description", abstract: "formula.functionList.NEGBINOM_DIST.abstract", functionParameter: [ { name: "formula.functionList.NEGBINOM_DIST.functionParameter.numberF.name", detail: "formula.functionList.NEGBINOM_DIST.functionParameter.numberF.detail", example: "10", require: 1, repeat: 0 }, { name: "formula.functionList.NEGBINOM_DIST.functionParameter.numberS.name", detail: "formula.functionList.NEGBINOM_DIST.functionParameter.numberS.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.NEGBINOM_DIST.functionParameter.probabilityS.name", detail: "formula.functionList.NEGBINOM_DIST.functionParameter.probabilityS.detail", example: "0.25", require: 1, repeat: 0 }, { name: "formula.functionList.NEGBINOM_DIST.functionParameter.cumulative.name", detail: "formula.functionList.NEGBINOM_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.NORM_DIST, functionType: t.Statistical, description: "formula.functionList.NORM_DIST.description", abstract: "formula.functionList.NORM_DIST.abstract", functionParameter: [ { name: "formula.functionList.NORM_DIST.functionParameter.x.name", detail: "formula.functionList.NORM_DIST.functionParameter.x.detail", example: "42", require: 1, repeat: 0 }, { name: "formula.functionList.NORM_DIST.functionParameter.mean.name", detail: "formula.functionList.NORM_DIST.functionParameter.mean.detail", example: "40", require: 1, repeat: 0 }, { name: "formula.functionList.NORM_DIST.functionParameter.standardDev.name", detail: "formula.functionList.NORM_DIST.functionParameter.standardDev.detail", example: "1.5", require: 1, repeat: 0 }, { name: "formula.functionList.NORM_DIST.functionParameter.cumulative.name", detail: "formula.functionList.NORM_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.NORM_INV, functionType: t.Statistical, description: "formula.functionList.NORM_INV.description", abstract: "formula.functionList.NORM_INV.abstract", functionParameter: [ { name: "formula.functionList.NORM_INV.functionParameter.probability.name", detail: "formula.functionList.NORM_INV.functionParameter.probability.detail", example: "0.908789", require: 1, repeat: 0 }, { name: "formula.functionList.NORM_INV.functionParameter.mean.name", detail: "formula.functionList.NORM_INV.functionParameter.mean.detail", example: "40", require: 1, repeat: 0 }, { name: "formula.functionList.NORM_INV.functionParameter.standardDev.name", detail: "formula.functionList.NORM_INV.functionParameter.standardDev.detail", example: "1.5", require: 1, repeat: 0 } ] }, { functionName: l.NORM_S_DIST, functionType: t.Statistical, description: "formula.functionList.NORM_S_DIST.description", abstract: "formula.functionList.NORM_S_DIST.abstract", functionParameter: [ { name: "formula.functionList.NORM_S_DIST.functionParameter.z.name", detail: "formula.functionList.NORM_S_DIST.functionParameter.z.detail", example: "1.333333", require: 1, repeat: 0 }, { name: "formula.functionList.NORM_S_DIST.functionParameter.cumulative.name", detail: "formula.functionList.NORM_S_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.NORM_S_INV, functionType: t.Statistical, description: "formula.functionList.NORM_S_INV.description", abstract: "formula.functionList.NORM_S_INV.abstract", functionParameter: [ { name: "formula.functionList.NORM_S_INV.functionParameter.probability.name", detail: "formula.functionList.NORM_S_INV.functionParameter.probability.detail", example: "0.908789", require: 1, repeat: 0 } ] }, { functionName: l.PEARSON, functionType: t.Statistical, description: "formula.functionList.PEARSON.description", abstract: "formula.functionList.PEARSON.abstract", functionParameter: [ { name: "formula.functionList.PEARSON.functionParameter.array1.name", detail: "formula.functionList.PEARSON.functionParameter.array1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.PEARSON.functionParameter.array2.name", detail: "formula.functionList.PEARSON.functionParameter.array2.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.PERCENTILE_EXC, functionType: t.Statistical, description: "formula.functionList.PERCENTILE_EXC.description", abstract: "formula.functionList.PERCENTILE_EXC.abstract", functionParameter: [ { name: "formula.functionList.PERCENTILE_EXC.functionParameter.array.name", detail: "formula.functionList.PERCENTILE_EXC.functionParameter.array.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.PERCENTILE_EXC.functionParameter.k.name", detail: "formula.functionList.PERCENTILE_EXC.functionParameter.k.detail", example: "0.3", require: 1, repeat: 0 } ] }, { functionName: l.PERCENTILE_INC, functionType: t.Statistical, description: "formula.functionList.PERCENTILE_INC.description", abstract: "formula.functionList.PERCENTILE_INC.abstract", functionParameter: [ { name: "formula.functionList.PERCENTILE_INC.functionParameter.array.name", detail: "formula.functionList.PERCENTILE_INC.functionParameter.array.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.PERCENTILE_INC.functionParameter.k.name", detail: "formula.functionList.PERCENTILE_INC.functionParameter.k.detail", example: "0.3", require: 1, repeat: 0 } ] }, { functionName: l.PERCENTRANK_EXC, functionType: t.Statistical, description: "formula.functionList.PERCENTRANK_EXC.description", abstract: "formula.functionList.PERCENTRANK_EXC.abstract", functionParameter: [ { name: "formula.functionList.PERCENTRANK_EXC.functionParameter.array.name", detail: "formula.functionList.PERCENTRANK_EXC.functionParameter.array.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.PERCENTRANK_EXC.functionParameter.x.name", detail: "formula.functionList.PERCENTRANK_EXC.functionParameter.x.detail", example: "1.5", require: 1, repeat: 0 }, { name: "formula.functionList.PERCENTRANK_EXC.functionParameter.significance.name", detail: "formula.functionList.PERCENTRANK_EXC.functionParameter.significance.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: l.PERCENTRANK_INC, functionType: t.Statistical, description: "formula.functionList.PERCENTRANK_INC.description", abstract: "formula.functionList.PERCENTRANK_INC.abstract", functionParameter: [ { name: "formula.functionList.PERCENTRANK_INC.functionParameter.array.name", detail: "formula.functionList.PERCENTRANK_INC.functionParameter.array.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.PERCENTRANK_INC.functionParameter.x.name", detail: "formula.functionList.PERCENTRANK_INC.functionParameter.x.detail", example: "1.5", require: 1, repeat: 0 }, { name: "formula.functionList.PERCENTRANK_INC.functionParameter.significance.name", detail: "formula.functionList.PERCENTRANK_INC.functionParameter.significance.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: l.PERMUT, functionType: t.Statistical, description: "formula.functionList.PERMUT.description", abstract: "formula.functionList.PERMUT.abstract", functionParameter: [ { name: "formula.functionList.PERMUT.functionParameter.number.name", detail: "formula.functionList.PERMUT.functionParameter.number.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.PERMUT.functionParameter.numberChosen.name", detail: "formula.functionList.PERMUT.functionParameter.numberChosen.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: l.PERMUTATIONA, functionType: t.Statistical, description: "formula.functionList.PERMUTATIONA.description", abstract: "formula.functionList.PERMUTATIONA.abstract", functionParameter: [ { name: "formula.functionList.PERMUT.functionParameter.number.name", detail: "formula.functionList.PERMUT.functionParameter.number.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.PERMUT.functionParameter.numberChosen.name", detail: "formula.functionList.PERMUT.functionParameter.numberChosen.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: l.PHI, functionType: t.Statistical, description: "formula.functionList.PHI.description", abstract: "formula.functionList.PHI.abstract", functionParameter: [ { name: "formula.functionList.PHI.functionParameter.x.name", detail: "formula.functionList.PHI.functionParameter.x.detail", example: "0.75", require: 1, repeat: 0 } ] }, { functionName: l.POISSON_DIST, functionType: t.Statistical, description: "formula.functionList.POISSON_DIST.description", abstract: "formula.functionList.POISSON_DIST.abstract", functionParameter: [ { name: "formula.functionList.POISSON_DIST.functionParameter.x.name", detail: "formula.functionList.POISSON_DIST.functionParameter.x.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.POISSON_DIST.functionParameter.mean.name", detail: "formula.functionList.POISSON_DIST.functionParameter.mean.detail", example: "5", require: 1, repeat: 0 }, { name: "formula.functionList.POISSON_DIST.functionParameter.cumulative.name", detail: "formula.functionList.POISSON_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.PROB, functionType: t.Statistical, description: "formula.functionList.PROB.description", abstract: "formula.functionList.PROB.abstract", functionParameter: [ { name: "formula.functionList.PROB.functionParameter.xRange.name", detail: "formula.functionList.PROB.functionParameter.xRange.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.PROB.functionParameter.probRange.name", detail: "formula.functionList.PROB.functionParameter.probRange.detail", example: "B1:B4", require: 1, repeat: 0 }, { name: "formula.functionList.PROB.functionParameter.lowerLimit.name", detail: "formula.functionList.PROB.functionParameter.lowerLimit.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.PROB.functionParameter.upperLimit.name", detail: "formula.functionList.PROB.functionParameter.upperLimit.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: l.QUARTILE_EXC, functionType: t.Statistical, description: "formula.functionList.QUARTILE_EXC.description", abstract: "formula.functionList.QUARTILE_EXC.abstract", functionParameter: [ { name: "formula.functionList.QUARTILE_EXC.functionParameter.array.name", detail: "formula.functionList.QUARTILE_EXC.functionParameter.array.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.QUARTILE_EXC.functionParameter.quart.name", detail: "formula.functionList.QUARTILE_EXC.functionParameter.quart.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: l.QUARTILE_INC, functionType: t.Statistical, description: "formula.functionList.QUARTILE_INC.description", abstract: "formula.functionList.QUARTILE_INC.abstract", functionParameter: [ { name: "formula.functionList.QUARTILE_INC.functionParameter.array.name", detail: "formula.functionList.QUARTILE_INC.functionParameter.array.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.QUARTILE_INC.functionParameter.quart.name", detail: "formula.functionList.QUARTILE_INC.functionParameter.quart.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: l.RANK_AVG, functionType: t.Statistical, description: "formula.functionList.RANK_AVG.description", abstract: "formula.functionList.RANK_AVG.abstract", functionParameter: [ { name: "formula.functionList.RANK_AVG.functionParameter.number.name", detail: "formula.functionList.RANK_AVG.functionParameter.number.detail", example: "A3", require: 1, repeat: 0 }, { name: "formula.functionList.RANK_AVG.functionParameter.ref.name", detail: "formula.functionList.RANK_AVG.functionParameter.ref.detail", example: "A2:A6", require: 1, repeat: 0 }, { name: "formula.functionList.RANK_AVG.functionParameter.order.name", detail: "formula.functionList.RANK_AVG.functionParameter.order.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: l.RANK_EQ, functionType: t.Statistical, description: "formula.functionList.RANK_EQ.description", abstract: "formula.functionList.RANK_EQ.abstract", functionParameter: [ { name: "formula.functionList.RANK_EQ.functionParameter.number.name", detail: "formula.functionList.RANK_EQ.functionParameter.number.detail", example: "A3", require: 1, repeat: 0 }, { name: "formula.functionList.RANK_EQ.functionParameter.ref.name", detail: "formula.functionList.RANK_EQ.functionParameter.ref.detail", example: "A2:A6", require: 1, repeat: 0 }, { name: "formula.functionList.RANK_EQ.functionParameter.order.name", detail: "formula.functionList.RANK_EQ.functionParameter.order.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: l.RSQ, functionType: t.Statistical, description: "formula.functionList.RSQ.description", abstract: "formula.functionList.RSQ.abstract", functionParameter: [ { name: "formula.functionList.RSQ.functionParameter.array1.name", detail: "formula.functionList.RSQ.functionParameter.array1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.RSQ.functionParameter.array2.name", detail: "formula.functionList.RSQ.functionParameter.array2.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.SKEW, functionType: t.Statistical, description: "formula.functionList.SKEW.description", abstract: "formula.functionList.SKEW.abstract", functionParameter: [ { name: "formula.functionList.SKEW.functionParameter.number1.name", detail: "formula.functionList.SKEW.functionParameter.number1.detail", example: "A1:C3", require: 1, repeat: 0 }, { name: "formula.functionList.SKEW.functionParameter.number2.name", detail: "formula.functionList.SKEW.functionParameter.number2.detail", example: "4", require: 0, repeat: 1 } ] }, { functionName: l.SKEW_P, functionType: t.Statistical, description: "formula.functionList.SKEW_P.description", abstract: "formula.functionList.SKEW_P.abstract", functionParameter: [ { name: "formula.functionList.SKEW_P.functionParameter.number1.name", detail: "formula.functionList.SKEW_P.functionParameter.number1.detail", example: "A1:C3", require: 1, repeat: 0 }, { name: "formula.functionList.SKEW_P.functionParameter.number2.name", detail: "formula.functionList.SKEW_P.functionParameter.number2.detail", example: "4", require: 0, repeat: 1 } ] }, { functionName: l.SLOPE, functionType: t.Statistical, description: "formula.functionList.SLOPE.description", abstract: "formula.functionList.SLOPE.abstract", functionParameter: [ { name: "formula.functionList.SLOPE.functionParameter.knownYs.name", detail: "formula.functionList.SLOPE.functionParameter.knownYs.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.SLOPE.functionParameter.knownXs.name", detail: "formula.functionList.SLOPE.functionParameter.knownXs.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.SMALL, functionType: t.Statistical, description: "formula.functionList.SMALL.description", abstract: "formula.functionList.SMALL.abstract", functionParameter: [ { name: "formula.functionList.SMALL.functionParameter.array.name", detail: "formula.functionList.SMALL.functionParameter.array.detail", example: "A2:B6", require: 1, repeat: 0 }, { name: "formula.functionList.SMALL.functionParameter.k.name", detail: "formula.functionList.SMALL.functionParameter.k.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: l.STANDARDIZE, functionType: t.Statistical, description: "formula.functionList.STANDARDIZE.description", abstract: "formula.functionList.STANDARDIZE.abstract", functionParameter: [ { name: "formula.functionList.STANDARDIZE.functionParameter.x.name", detail: "formula.functionList.STANDARDIZE.functionParameter.x.detail", example: "42", require: 1, repeat: 0 }, { name: "formula.functionList.STANDARDIZE.functionParameter.mean.name", detail: "formula.functionList.STANDARDIZE.functionParameter.mean.detail", example: "40", require: 1, repeat: 0 }, { name: "formula.functionList.STANDARDIZE.functionParameter.standardDev.name", detail: "formula.functionList.STANDARDIZE.functionParameter.standardDev.detail", example: "1.5", require: 1, repeat: 0 } ] }, { functionName: l.STDEV_P, functionType: t.Statistical, description: "formula.functionList.STDEV_P.description", abstract: "formula.functionList.STDEV_P.abstract", functionParameter: [ { name: "formula.functionList.STDEV_P.functionParameter.number1.name", detail: "formula.functionList.STDEV_P.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.STDEV_P.functionParameter.number2.name", detail: "formula.functionList.STDEV_P.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.STDEV_S, functionType: t.Statistical, description: "formula.functionList.STDEV_S.description", abstract: "formula.functionList.STDEV_S.abstract", functionParameter: [ { name: "formula.functionList.STDEV_S.functionParameter.number1.name", detail: "formula.functionList.STDEV_S.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.STDEV_S.functionParameter.number2.name", detail: "formula.functionList.STDEV_S.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.STDEVA, functionType: t.Statistical, description: "formula.functionList.STDEVA.description", abstract: "formula.functionList.STDEVA.abstract", functionParameter: [ { name: "formula.functionList.STDEVA.functionParameter.value1.name", detail: "formula.functionList.STDEVA.functionParameter.value1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.STDEVA.functionParameter.value2.name", detail: "formula.functionList.STDEVA.functionParameter.value2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.STDEVPA, functionType: t.Statistical, description: "formula.functionList.STDEVPA.description", abstract: "formula.functionList.STDEVPA.abstract", functionParameter: [ { name: "formula.functionList.STDEVPA.functionParameter.value1.name", detail: "formula.functionList.STDEVPA.functionParameter.value1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.STDEVPA.functionParameter.value2.name", detail: "formula.functionList.STDEVPA.functionParameter.value2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.STEYX, functionType: t.Statistical, description: "formula.functionList.STEYX.description", abstract: "formula.functionList.STEYX.abstract", functionParameter: [ { name: "formula.functionList.STEYX.functionParameter.knownYs.name", detail: "formula.functionList.STEYX.functionParameter.knownYs.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.STEYX.functionParameter.knownXs.name", detail: "formula.functionList.STEYX.functionParameter.knownXs.detail", example: "B1:B4", require: 1, repeat: 0 } ] }, { functionName: l.T_DIST, functionType: t.Statistical, description: "formula.functionList.T_DIST.description", abstract: "formula.functionList.T_DIST.abstract", functionParameter: [ { name: "formula.functionList.T_DIST.functionParameter.x.name", detail: "formula.functionList.T_DIST.functionParameter.x.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.T_DIST.functionParameter.degFreedom.name", detail: "formula.functionList.T_DIST.functionParameter.degFreedom.detail", example: "3", require: 1, repeat: 0 }, { name: "formula.functionList.T_DIST.functionParameter.cumulative.name", detail: "formula.functionList.T_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.T_DIST_2T, functionType: t.Statistical, description: "formula.functionList.T_DIST_2T.description", abstract: "formula.functionList.T_DIST_2T.abstract", functionParameter: [ { name: "formula.functionList.T_DIST_2T.functionParameter.x.name", detail: "formula.functionList.T_DIST_2T.functionParameter.x.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.T_DIST_2T.functionParameter.degFreedom.name", detail: "formula.functionList.T_DIST_2T.functionParameter.degFreedom.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: l.T_DIST_RT, functionType: t.Statistical, description: "formula.functionList.T_DIST_RT.description", abstract: "formula.functionList.T_DIST_RT.abstract", functionParameter: [ { name: "formula.functionList.T_DIST_RT.functionParameter.x.name", detail: "formula.functionList.T_DIST_RT.functionParameter.x.detail", example: "8", require: 1, repeat: 0 }, { name: "formula.functionList.T_DIST_RT.functionParameter.degFreedom.name", detail: "formula.functionList.T_DIST_RT.functionParameter.degFreedom.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: l.T_INV, functionType: t.Statistical, description: "formula.functionList.T_INV.description", abstract: "formula.functionList.T_INV.abstract", functionParameter: [ { name: "formula.functionList.T_INV.functionParameter.probability.name", detail: "formula.functionList.T_INV.functionParameter.probability.detail", example: "0.75", require: 1, repeat: 0 }, { name: "formula.functionList.T_INV.functionParameter.degFreedom.name", detail: "formula.functionList.T_INV.functionParameter.degFreedom.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: l.T_INV_2T, functionType: t.Statistical, description: "formula.functionList.T_INV_2T.description", abstract: "formula.functionList.T_INV_2T.abstract", functionParameter: [ { name: "formula.functionList.T_INV_2T.functionParameter.probability.name", detail: "formula.functionList.T_INV_2T.functionParameter.probability.detail", example: "0.75", require: 1, repeat: 0 }, { name: "formula.functionList.T_INV_2T.functionParameter.degFreedom.name", detail: "formula.functionList.T_INV_2T.functionParameter.degFreedom.detail", example: "2", require: 1, repeat: 0 } ] }, { functionName: l.T_TEST, functionType: t.Statistical, description: "formula.functionList.T_TEST.description", abstract: "formula.functionList.T_TEST.abstract", functionParameter: [ { name: "formula.functionList.T_TEST.functionParameter.array1.name", detail: "formula.functionList.T_TEST.functionParameter.array1.detail", example: "A1:A4", require: 1, repeat: 0 }, { name: "formula.functionList.T_TEST.functionParameter.array2.name", detail: "formula.functionList.T_TEST.functionParameter.array2.detail", example: "B1:B4", require: 1, repeat: 0 }, { name: "formula.functionList.T_TEST.functionParameter.tails.name", detail: "formula.functionList.T_TEST.functionParameter.tails.detail", example: "2", require: 1, repeat: 0 }, { name: "formula.functionList.T_TEST.functionParameter.type.name", detail: "formula.functionList.T_TEST.functionParameter.type.detail", example: "1", require: 1, repeat: 0 } ] }, { functionName: l.TREND, functionType: t.Statistical, description: "formula.functionList.TREND.description", abstract: "formula.functionList.TREND.abstract", functionParameter: [ { name: "formula.functionList.TREND.functionParameter.knownYs.name", detail: "formula.functionList.TREND.functionParameter.knownYs.detail", example: "B2:B7", require: 1, repeat: 0 }, { name: "formula.functionList.TREND.functionParameter.knownXs.name", detail: "formula.functionList.TREND.functionParameter.knownXs.detail", example: "A2:A7", require: 0, repeat: 0 }, { name: "formula.functionList.TREND.functionParameter.newXs.name", detail: "formula.functionList.TREND.functionParameter.newXs.detail", example: "A9:A10", require: 0, repeat: 0 }, { name: "formula.functionList.TREND.functionParameter.constb.name", detail: "formula.functionList.TREND.functionParameter.constb.detail", example: "true", require: 0, repeat: 0 } ] }, { functionName: l.TRIMMEAN, functionType: t.Statistical, description: "formula.functionList.TRIMMEAN.description", abstract: "formula.functionList.TRIMMEAN.abstract", functionParameter: [ { name: "formula.functionList.TRIMMEAN.functionParameter.array.name", detail: "formula.functionList.TRIMMEAN.functionParameter.array.detail", example: "A2:A12", require: 1, repeat: 0 }, { name: "formula.functionList.TRIMMEAN.functionParameter.percent.name", detail: "formula.functionList.TRIMMEAN.functionParameter.percent.detail", example: "0.2", require: 1, repeat: 0 } ] }, { functionName: l.VAR_P, functionType: t.Statistical, description: "formula.functionList.VAR_P.description", abstract: "formula.functionList.VAR_P.abstract", functionParameter: [ { name: "formula.functionList.VAR_P.functionParameter.number1.name", detail: "formula.functionList.VAR_P.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.VAR_P.functionParameter.number2.name", detail: "formula.functionList.VAR_P.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.VAR_S, functionType: t.Statistical, description: "formula.functionList.VAR_S.description", abstract: "formula.functionList.VAR_S.abstract", functionParameter: [ { name: "formula.functionList.VAR_S.functionParameter.number1.name", detail: "formula.functionList.VAR_S.functionParameter.number1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.VAR_S.functionParameter.number2.name", detail: "formula.functionList.VAR_S.functionParameter.number2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.VARA, functionType: t.Statistical, description: "formula.functionList.VARA.description", abstract: "formula.functionList.VARA.abstract", functionParameter: [ { name: "formula.functionList.VARA.functionParameter.value1.name", detail: "formula.functionList.VARA.functionParameter.value1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.VARA.functionParameter.value2.name", detail: "formula.functionList.VARA.functionParameter.value2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.VARPA, functionType: t.Statistical, description: "formula.functionList.VARPA.description", abstract: "formula.functionList.VARPA.abstract", functionParameter: [ { name: "formula.functionList.VARPA.functionParameter.value1.name", detail: "formula.functionList.VARPA.functionParameter.value1.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.VARPA.functionParameter.value2.name", detail: "formula.functionList.VARPA.functionParameter.value2.detail", example: "2", require: 0, repeat: 1 } ] }, { functionName: l.WEIBULL_DIST, functionType: t.Statistical, description: "formula.functionList.WEIBULL_DIST.description", abstract: "formula.functionList.WEIBULL_DIST.abstract", functionParameter: [ { name: "formula.functionList.WEIBULL_DIST.functionParameter.x.name", detail: "formula.functionList.WEIBULL_DIST.functionParameter.x.detail", example: "105", require: 1, repeat: 0 }, { name: "formula.functionList.WEIBULL_DIST.functionParameter.alpha.name", detail: "formula.functionList.WEIBULL_DIST.functionParameter.alpha.detail", example: "20", require: 1, repeat: 0 }, { name: "formula.functionList.WEIBULL_DIST.functionParameter.beta.name", detail: "formula.functionList.WEIBULL_DIST.functionParameter.beta.detail", example: "100", require: 1, repeat: 0 }, { name: "formula.functionList.WEIBULL_DIST.functionParameter.cumulative.name", detail: "formula.functionList.WEIBULL_DIST.functionParameter.cumulative.detail", example: "true", require: 1, repeat: 0 } ] }, { functionName: l.Z_TEST, functionType: t.Statistical, description: "formula.functionList.Z_TEST.description", abstract: "formula.functionList.Z_TEST.abstract", functionParameter: [ { name: "formula.functionList.Z_TEST.functionParameter.array.name", detail: "formula.functionList.Z_TEST.functionParameter.array.detail", example: "A2:A11", require: 1, repeat: 0 }, { name: "formula.functionList.Z_TEST.functionParameter.x.name", detail: "formula.functionList.Z_TEST.functionParameter.x.detail", example: "4", require: 1, repeat: 0 }, { name: "formula.functionList.Z_TEST.functionParameter.sigma.name", detail: "formula.functionList.Z_TEST.functionParameter.sigma.detail", example: "10", require: 0, repeat: 0 } ] } ], Zi = [ { functionName: D.ASC, functionType: t.Text, description: "formula.functionList.ASC.description", abstract: "formula.functionList.ASC.abstract", functionParameter: [ { name: "formula.functionList.ASC.functionParameter.text.name", detail: "formula.functionList.ASC.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 } ] }, { functionName: D.ARRAYTOTEXT, functionType: t.Text, description: "formula.functionList.ARRAYTOTEXT.description", abstract: "formula.functionList.ARRAYTOTEXT.abstract", functionParameter: [ { name: "formula.functionList.ARRAYTOTEXT.functionParameter.array.name", detail: "formula.functionList.ARRAYTOTEXT.functionParameter.array.detail", example: "A2:B4", require: 1, repeat: 0 }, { name: "formula.functionList.ARRAYTOTEXT.functionParameter.format.name", detail: "formula.functionList.ARRAYTOTEXT.functionParameter.format.detail", example: "0", require: 0, repeat: 0 } ] }, { functionName: D.BAHTTEXT, functionType: t.Text, description: "formula.functionList.BAHTTEXT.description", abstract: "formula.functionList.BAHTTEXT.abstract", functionParameter: [ { name: "formula.functionList.BAHTTEXT.functionParameter.number.name", detail: "formula.functionList.BAHTTEXT.functionParameter.number.detail", example: "1234", require: 1, repeat: 0 } ] }, { functionName: D.CHAR, functionType: t.Text, description: "formula.functionList.CHAR.description", abstract: "formula.functionList.CHAR.abstract", functionParameter: [ { name: "formula.functionList.CHAR.functionParameter.number.name", detail: "formula.functionList.CHAR.functionParameter.number.detail", example: "65", require: 1, repeat: 0 } ] }, { functionName: D.CLEAN, functionType: t.Text, description: "formula.functionList.CLEAN.description", abstract: "formula.functionList.CLEAN.abstract", functionParameter: [ { name: "formula.functionList.CLEAN.functionParameter.text.name", detail: "formula.functionList.CLEAN.functionParameter.text.detail", example: 'CHAR(1)&"Univer"', require: 1, repeat: 0 } ] }, { functionName: D.CODE, functionType: t.Text, description: "formula.functionList.CODE.description", abstract: "formula.functionList.CODE.abstract", functionParameter: [ { name: "formula.functionList.CODE.functionParameter.text.name", detail: "formula.functionList.CODE.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 } ] }, { functionName: D.CONCAT, functionType: t.Text, description: "formula.functionList.CONCAT.description", abstract: "formula.functionList.CONCAT.abstract", functionParameter: [ { name: "formula.functionList.CONCAT.functionParameter.text1.name", detail: "formula.functionList.CONCAT.functionParameter.text1.detail", example: '"Hello"', require: 1, repeat: 0 }, { name: "formula.functionList.CONCAT.functionParameter.text2.name", detail: "formula.functionList.CONCAT.functionParameter.text2.detail", example: '"Univer"', require: 0, repeat: 1 } ] }, { functionName: D.CONCATENATE, functionType: t.Text, description: "formula.functionList.CONCATENATE.description", abstract: "formula.functionList.CONCATENATE.abstract", functionParameter: [ { name: "formula.functionList.CONCATENATE.functionParameter.text1.name", detail: "formula.functionList.CONCATENATE.functionParameter.text1.detail", example: "A1", require: 1, repeat: 0 }, { name: "formula.functionList.CONCATENATE.functionParameter.text2.name", detail: "formula.functionList.CONCATENATE.functionParameter.text2.detail", example: "A2", require: 0, repeat: 1 } ] }, { functionName: D.DBCS, functionType: t.Text, description: "formula.functionList.DBCS.description", abstract: "formula.functionList.DBCS.abstract", functionParameter: [ { name: "formula.functionList.DBCS.functionParameter.text.name", detail: "formula.functionList.DBCS.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 } ] }, { functionName: D.DOLLAR, functionType: t.Text, description: "formula.functionList.DOLLAR.description", abstract: "formula.functionList.DOLLAR.abstract", functionParameter: [ { name: "formula.functionList.DOLLAR.functionParameter.number.name", detail: "formula.functionList.DOLLAR.functionParameter.number.detail", example: "1234.567", require: 1, repeat: 0 }, { name: "formula.functionList.DOLLAR.functionParameter.decimals.name", detail: "formula.functionList.DOLLAR.functionParameter.decimals.detail", example: "2", require: 0, repeat: 0 } ] }, { functionName: D.EXACT, functionType: t.Text, description: "formula.functionList.EXACT.description", abstract: "formula.functionList.EXACT.abstract", functionParameter: [ { name: "formula.functionList.EXACT.functionParameter.text1.name", detail: "formula.functionList.EXACT.functionParameter.text1.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.EXACT.functionParameter.text2.name", detail: "formula.functionList.EXACT.functionParameter.text2.detail", example: '"univer"', require: 1, repeat: 0 } ] }, { functionName: D.FIND, functionType: t.Text, description: "formula.functionList.FIND.description", abstract: "formula.functionList.FIND.abstract", functionParameter: [ { name: "formula.functionList.FIND.functionParameter.findText.name", detail: "formula.functionList.FIND.functionParameter.findText.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.FIND.functionParameter.withinText.name", detail: "formula.functionList.FIND.functionParameter.withinText.detail", example: '"Hello Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.FIND.functionParameter.startNum.name", detail: "formula.functionList.FIND.functionParameter.startNum.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: D.FINDB, functionType: t.Text, description: "formula.functionList.FINDB.description", abstract: "formula.functionList.FINDB.abstract", functionParameter: [ { name: "formula.functionList.FINDB.functionParameter.findText.name", detail: "formula.functionList.FINDB.functionParameter.findText.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.FINDB.functionParameter.withinText.name", detail: "formula.functionList.FINDB.functionParameter.withinText.detail", example: '"Hello Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.FINDB.functionParameter.startNum.name", detail: "formula.functionList.FINDB.functionParameter.startNum.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: D.FIXED, functionType: t.Text, description: "formula.functionList.FIXED.description", abstract: "formula.functionList.FIXED.abstract", functionParameter: [ { name: "formula.functionList.FIXED.functionParameter.number.name", detail: "formula.functionList.FIXED.functionParameter.number.detail", example: "1234.567", require: 1, repeat: 0 }, { name: "formula.functionList.FIXED.functionParameter.decimals.name", detail: "formula.functionList.FIXED.functionParameter.decimals.detail", example: "2", require: 0, repeat: 0 }, { name: "formula.functionList.FIXED.functionParameter.noCommas.name", detail: "formula.functionList.FIXED.functionParameter.noCommas.detail", example: "0", require: 0, repeat: 0 } ] }, { functionName: D.LEFT, functionType: t.Text, description: "formula.functionList.LEFT.description", abstract: "formula.functionList.LEFT.abstract", functionParameter: [ { name: "formula.functionList.LEFT.functionParameter.text.name", detail: "formula.functionList.LEFT.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.LEFT.functionParameter.numChars.name", detail: "formula.functionList.LEFT.functionParameter.numChars.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: D.LEFTB, functionType: t.Text, description: "formula.functionList.LEFTB.description", abstract: "formula.functionList.LEFTB.abstract", functionParameter: [ { name: "formula.functionList.LEFTB.functionParameter.text.name", detail: "formula.functionList.LEFTB.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.LEFTB.functionParameter.numBytes.name", detail: "formula.functionList.LEFTB.functionParameter.numBytes.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: D.LEN, functionType: t.Text, description: "formula.functionList.LEN.description", abstract: "formula.functionList.LEN.abstract", functionParameter: [ { name: "formula.functionList.LEN.functionParameter.text.name", detail: "formula.functionList.LEN.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 } ] }, { functionName: D.LENB, functionType: t.Text, description: "formula.functionList.LENB.description", abstract: "formula.functionList.LENB.abstract", functionParameter: [ { name: "formula.functionList.LENB.functionParameter.text.name", detail: "formula.functionList.LENB.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 } ] }, { functionName: D.LOWER, functionType: t.Text, description: "formula.functionList.LOWER.description", abstract: "formula.functionList.LOWER.abstract", functionParameter: [ { name: "formula.functionList.LOWER.functionParameter.text.name", detail: "formula.functionList.LOWER.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 } ] }, { functionName: D.MID, functionType: t.Text, description: "formula.functionList.MID.description", abstract: "formula.functionList.MID.abstract", functionParameter: [ { name: "formula.functionList.MID.functionParameter.text.name", detail: "formula.functionList.MID.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.MID.functionParameter.startNum.name", detail: "formula.functionList.MID.functionParameter.startNum.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.MID.functionParameter.numChars.name", detail: "formula.functionList.MID.functionParameter.numChars.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: D.MIDB, functionType: t.Text, description: "formula.functionList.MIDB.description", abstract: "formula.functionList.MIDB.abstract", functionParameter: [ { name: "formula.functionList.MIDB.functionParameter.text.name", detail: "formula.functionList.MIDB.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.MIDB.functionParameter.startNum.name", detail: "formula.functionList.MIDB.functionParameter.startNum.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.MIDB.functionParameter.numBytes.name", detail: "formula.functionList.MIDB.functionParameter.numBytes.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: D.NUMBERVALUE, functionType: t.Text, description: "formula.functionList.NUMBERVALUE.description", abstract: "formula.functionList.NUMBERVALUE.abstract", functionParameter: [ { name: "formula.functionList.NUMBERVALUE.functionParameter.text.name", detail: "formula.functionList.NUMBERVALUE.functionParameter.text.detail", example: '"2.500,27"', require: 1, repeat: 0 }, { name: "formula.functionList.NUMBERVALUE.functionParameter.decimalSeparator.name", detail: "formula.functionList.NUMBERVALUE.functionParameter.decimalSeparator.detail", example: '","', require: 0, repeat: 0 }, { name: "formula.functionList.NUMBERVALUE.functionParameter.groupSeparator.name", detail: "formula.functionList.NUMBERVALUE.functionParameter.groupSeparator.detail", example: '"."', require: 0, repeat: 0 } ] }, { functionName: D.PHONETIC, functionType: t.Text, description: "formula.functionList.PHONETIC.description", abstract: "formula.functionList.PHONETIC.abstract", functionParameter: [ { name: "formula.functionList.PHONETIC.functionParameter.number1.name", detail: "formula.functionList.PHONETIC.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.PHONETIC.functionParameter.number2.name", detail: "formula.functionList.PHONETIC.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: D.PROPER, functionType: t.Text, description: "formula.functionList.PROPER.description", abstract: "formula.functionList.PROPER.abstract", functionParameter: [ { name: "formula.functionList.PROPER.functionParameter.text.name", detail: "formula.functionList.PROPER.functionParameter.text.detail", example: '"hello univer"', require: 1, repeat: 0 } ] }, { functionName: D.REGEXEXTRACT, functionType: t.Text, description: "formula.functionList.REGEXEXTRACT.description", abstract: "formula.functionList.REGEXEXTRACT.abstract", functionParameter: [ { name: "formula.functionList.REGEXEXTRACT.functionParameter.text.name", detail: "formula.functionList.REGEXEXTRACT.functionParameter.text.detail", example: '"abcdefg"', require: 1, repeat: 0 }, { name: "formula.functionList.REGEXEXTRACT.functionParameter.regularExpression.name", detail: "formula.functionList.REGEXEXTRACT.functionParameter.regularExpression.detail", example: '"c.*f"', require: 1, repeat: 0 } ] }, { functionName: D.REGEXMATCH, functionType: t.Text, description: "formula.functionList.REGEXMATCH.description", abstract: "formula.functionList.REGEXMATCH.abstract", functionParameter: [ { name: "formula.functionList.REGEXMATCH.functionParameter.text.name", detail: "formula.functionList.REGEXMATCH.functionParameter.text.detail", example: '"Spreadsheets"', require: 1, repeat: 0 }, { name: "formula.functionList.REGEXMATCH.functionParameter.regularExpression.name", detail: "formula.functionList.REGEXMATCH.functionParameter.regularExpression.detail", example: '"S.r"', require: 1, repeat: 0 } ] }, { functionName: D.REGEXREPLACE, functionType: t.Text, description: "formula.functionList.REGEXREPLACE.description", abstract: "formula.functionList.REGEXREPLACE.abstract", functionParameter: [ { name: "formula.functionList.REGEXREPLACE.functionParameter.text.name", detail: "formula.functionList.REGEXREPLACE.functionParameter.text.detail", example: '"abcedfg"', require: 1, repeat: 0 }, { name: "formula.functionList.REGEXREPLACE.functionParameter.regularExpression.name", detail: "formula.functionList.REGEXREPLACE.functionParameter.regularExpression.detail", example: '"a.*d"', require: 1, repeat: 0 }, { name: "formula.functionList.REGEXREPLACE.functionParameter.replacement.name", detail: "formula.functionList.REGEXREPLACE.functionParameter.replacement.detail", example: '"xyz"', require: 1, repeat: 0 } ] }, { functionName: D.REPLACE, functionType: t.Text, description: "formula.functionList.REPLACE.description", abstract: "formula.functionList.REPLACE.abstract", functionParameter: [ { name: "formula.functionList.REPLACE.functionParameter.oldText.name", detail: "formula.functionList.REPLACE.functionParameter.oldText.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.REPLACE.functionParameter.startNum.name", detail: "formula.functionList.REPLACE.functionParameter.startNum.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.REPLACE.functionParameter.numChars.name", detail: "formula.functionList.REPLACE.functionParameter.numChars.detail", example: "0", require: 1, repeat: 0 }, { name: "formula.functionList.REPLACE.functionParameter.newText.name", detail: "formula.functionList.REPLACE.functionParameter.newText.detail", example: '"Hello "', require: 1, repeat: 0 } ] }, { functionName: D.REPLACEB, functionType: t.Text, description: "formula.functionList.REPLACEB.description", abstract: "formula.functionList.REPLACEB.abstract", functionParameter: [ { name: "formula.functionList.REPLACEB.functionParameter.oldText.name", detail: "formula.functionList.REPLACEB.functionParameter.oldText.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.REPLACEB.functionParameter.startNum.name", detail: "formula.functionList.REPLACEB.functionParameter.startNum.detail", example: "1", require: 1, repeat: 0 }, { name: "formula.functionList.REPLACEB.functionParameter.numBytes.name", detail: "formula.functionList.REPLACEB.functionParameter.numBytes.detail", example: "0", require: 1, repeat: 0 }, { name: "formula.functionList.REPLACEB.functionParameter.newText.name", detail: "formula.functionList.REPLACEB.functionParameter.newText.detail", example: '"Hello "', require: 1, repeat: 0 } ] }, { functionName: D.REPT, functionType: t.Text, description: "formula.functionList.REPT.description", abstract: "formula.functionList.REPT.abstract", functionParameter: [ { name: "formula.functionList.REPT.functionParameter.text.name", detail: "formula.functionList.REPT.functionParameter.text.detail", example: '"*-"', require: 1, repeat: 0 }, { name: "formula.functionList.REPT.functionParameter.numberTimes.name", detail: "formula.functionList.REPT.functionParameter.numberTimes.detail", example: "3", require: 1, repeat: 0 } ] }, { functionName: D.RIGHT, functionType: t.Text, description: "formula.functionList.RIGHT.description", abstract: "formula.functionList.RIGHT.abstract", functionParameter: [ { name: "formula.functionList.RIGHT.functionParameter.text.name", detail: "formula.functionList.RIGHT.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.RIGHT.functionParameter.numChars.name", detail: "formula.functionList.RIGHT.functionParameter.numChars.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: D.RIGHTB, functionType: t.Text, description: "formula.functionList.RIGHTB.description", abstract: "formula.functionList.RIGHTB.abstract", functionParameter: [ { name: "formula.functionList.RIGHTB.functionParameter.text.name", detail: "formula.functionList.RIGHTB.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.RIGHTB.functionParameter.numBytes.name", detail: "formula.functionList.RIGHTB.functionParameter.numBytes.detail", example: "3", require: 0, repeat: 0 } ] }, { functionName: D.SEARCH, functionType: t.Text, description: "formula.functionList.SEARCH.description", abstract: "formula.functionList.SEARCH.abstract", functionParameter: [ { name: "formula.functionList.SEARCH.functionParameter.findText.name", detail: "formula.functionList.SEARCH.functionParameter.findText.detail", example: '"univer"', require: 1, repeat: 0 }, { name: "formula.functionList.SEARCH.functionParameter.withinText.name", detail: "formula.functionList.SEARCH.functionParameter.withinText.detail", example: '"Hello Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.SEARCH.functionParameter.startNum.name", detail: "formula.functionList.SEARCH.functionParameter.startNum.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: D.SEARCHB, functionType: t.Text, description: "formula.functionList.SEARCHB.description", abstract: "formula.functionList.SEARCHB.abstract", functionParameter: [ { name: "formula.functionList.SEARCHB.functionParameter.findText.name", detail: "formula.functionList.SEARCHB.functionParameter.findText.detail", example: '"univer"', require: 1, repeat: 0 }, { name: "formula.functionList.SEARCHB.functionParameter.withinText.name", detail: "formula.functionList.SEARCHB.functionParameter.withinText.detail", example: '"Hello Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.SEARCHB.functionParameter.startNum.name", detail: "formula.functionList.SEARCHB.functionParameter.startNum.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: D.SUBSTITUTE, functionType: t.Text, description: "formula.functionList.SUBSTITUTE.description", abstract: "formula.functionList.SUBSTITUTE.abstract", functionParameter: [ { name: "formula.functionList.SUBSTITUTE.functionParameter.text.name", detail: "formula.functionList.SUBSTITUTE.functionParameter.text.detail", example: '"Hello Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.SUBSTITUTE.functionParameter.oldText.name", detail: "formula.functionList.SUBSTITUTE.functionParameter.oldText.detail", example: '"Hello"', require: 1, repeat: 0 }, { name: "formula.functionList.SUBSTITUTE.functionParameter.newText.name", detail: "formula.functionList.SUBSTITUTE.functionParameter.newText.detail", example: '"Hi"', require: 1, repeat: 0 }, { name: "formula.functionList.SUBSTITUTE.functionParameter.instanceNum.name", detail: "formula.functionList.SUBSTITUTE.functionParameter.instanceNum.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: D.T, functionType: t.Text, description: "formula.functionList.T.description", abstract: "formula.functionList.T.abstract", functionParameter: [ { name: "formula.functionList.T.functionParameter.value.name", detail: "formula.functionList.T.functionParameter.value.detail", example: '"Univer"', require: 1, repeat: 0 } ] }, { functionName: D.TEXT, functionType: t.Text, description: "formula.functionList.TEXT.description", abstract: "formula.functionList.TEXT.abstract", functionParameter: [ { name: "formula.functionList.TEXT.functionParameter.value.name", detail: "formula.functionList.TEXT.functionParameter.value.detail", example: "1.23", require: 1, repeat: 0 }, { name: "formula.functionList.TEXT.functionParameter.formatText.name", detail: "formula.functionList.TEXT.functionParameter.formatText.detail", example: '"$0.00"', require: 1, repeat: 0 } ] }, { functionName: D.TEXTAFTER, functionType: t.Text, description: "formula.functionList.TEXTAFTER.description", abstract: "formula.functionList.TEXTAFTER.abstract", functionParameter: [ { name: "formula.functionList.TEXTAFTER.functionParameter.text.name", detail: "formula.functionList.TEXTAFTER.functionParameter.text.detail", example: '"Red riding hood’s, red hood"', require: 1, repeat: 0 }, { name: "formula.functionList.TEXTAFTER.functionParameter.delimiter.name", detail: "formula.functionList.TEXTAFTER.functionParameter.delimiter.detail", example: '"hood"', require: 1, repeat: 0 }, { name: "formula.functionList.TEXTAFTER.functionParameter.instanceNum.name", detail: "formula.functionList.TEXTAFTER.functionParameter.instanceNum.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.TEXTAFTER.functionParameter.matchMode.name", detail: "formula.functionList.TEXTAFTER.functionParameter.matchMode.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.TEXTAFTER.functionParameter.matchEnd.name", detail: "formula.functionList.TEXTAFTER.functionParameter.matchEnd.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.TEXTAFTER.functionParameter.ifNotFound.name", detail: "formula.functionList.TEXTAFTER.functionParameter.ifNotFound.detail", example: '"not found"', require: 0, repeat: 0 } ] }, { functionName: D.TEXTBEFORE, functionType: t.Text, description: "formula.functionList.TEXTBEFORE.description", abstract: "formula.functionList.TEXTBEFORE.abstract", functionParameter: [ { name: "formula.functionList.TEXTBEFORE.functionParameter.text.name", detail: "formula.functionList.TEXTBEFORE.functionParameter.text.detail", example: '"Red riding hood’s, red hood"', require: 1, repeat: 0 }, { name: "formula.functionList.TEXTBEFORE.functionParameter.delimiter.name", detail: "formula.functionList.TEXTBEFORE.functionParameter.delimiter.detail", example: '"hood"', require: 1, repeat: 0 }, { name: "formula.functionList.TEXTBEFORE.functionParameter.instanceNum.name", detail: "formula.functionList.TEXTBEFORE.functionParameter.instanceNum.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.TEXTBEFORE.functionParameter.matchMode.name", detail: "formula.functionList.TEXTBEFORE.functionParameter.matchMode.detail", example: "1", require: 0, repeat: 0 }, { name: "formula.functionList.TEXTBEFORE.functionParameter.matchEnd.name", detail: "formula.functionList.TEXTBEFORE.functionParameter.matchEnd.detail", example: "0", require: 0, repeat: 0 }, { name: "formula.functionList.TEXTBEFORE.functionParameter.ifNotFound.name", detail: "formula.functionList.TEXTBEFORE.functionParameter.ifNotFound.detail", example: '"not found"', require: 0, repeat: 0 } ] }, { functionName: D.TEXTJOIN, functionType: t.Text, description: "formula.functionList.TEXTJOIN.description", abstract: "formula.functionList.TEXTJOIN.abstract", functionParameter: [ { name: "formula.functionList.TEXTJOIN.functionParameter.delimiter.name", detail: "formula.functionList.TEXTJOIN.functionParameter.delimiter.detail", example: '", "', require: 1, repeat: 0 }, { name: "formula.functionList.TEXTJOIN.functionParameter.ignoreEmpty.name", detail: "formula.functionList.TEXTJOIN.functionParameter.ignoreEmpty.detail", example: "true", require: 1, repeat: 0 }, { name: "formula.functionList.TEXTJOIN.functionParameter.text1.name", detail: "formula.functionList.TEXTJOIN.functionParameter.text1.detail", example: '"Hi"', require: 1, repeat: 0 }, { name: "formula.functionList.TEXTJOIN.functionParameter.text2.name", detail: "formula.functionList.TEXTJOIN.functionParameter.text2.detail", example: '"Univer"', require: 0, repeat: 1 } ] }, { functionName: D.TEXTSPLIT, functionType: t.Text, description: "formula.functionList.TEXTSPLIT.description", abstract: "formula.functionList.TEXTSPLIT.abstract", functionParameter: [ { name: "formula.functionList.TEXTSPLIT.functionParameter.text.name", detail: "formula.functionList.TEXTSPLIT.functionParameter.text.detail", example: "A1:C2", require: 1, repeat: 0 }, { name: "formula.functionList.TEXTSPLIT.functionParameter.colDelimiter.name", detail: "formula.functionList.TEXTSPLIT.functionParameter.colDelimiter.detail", example: '","', require: 1, repeat: 0 }, { name: "formula.functionList.TEXTSPLIT.functionParameter.rowDelimiter.name", detail: "formula.functionList.TEXTSPLIT.functionParameter.rowDelimiter.detail", example: '";"', require: 0, repeat: 0 }, { name: "formula.functionList.TEXTSPLIT.functionParameter.ignoreEmpty.name", detail: "formula.functionList.TEXTSPLIT.functionParameter.ignoreEmpty.detail", example: "", require: 0, repeat: 0 }, { name: "formula.functionList.TEXTSPLIT.functionParameter.matchMode.name", detail: "formula.functionList.TEXTSPLIT.functionParameter.matchMode.detail", example: "", require: 0, repeat: 0 }, { name: "formula.functionList.TEXTSPLIT.functionParameter.padWith.name", detail: "formula.functionList.TEXTSPLIT.functionParameter.padWith.detail", example: "", require: 0, repeat: 0 } ] }, { functionName: D.TRIM, functionType: t.Text, description: "formula.functionList.TRIM.description", abstract: "formula.functionList.TRIM.abstract", functionParameter: [ { name: "formula.functionList.TRIM.functionParameter.text.name", detail: "formula.functionList.TRIM.functionParameter.text.detail", example: '" Hello Univer "', require: 1, repeat: 0 } ] }, { functionName: D.UNICHAR, functionType: t.Text, description: "formula.functionList.UNICHAR.description", abstract: "formula.functionList.UNICHAR.abstract", functionParameter: [ { name: "formula.functionList.UNICHAR.functionParameter.number.name", detail: "formula.functionList.UNICHAR.functionParameter.number.detail", example: "65", require: 1, repeat: 0 } ] }, { functionName: D.UNICODE, functionType: t.Text, description: "formula.functionList.UNICODE.description", abstract: "formula.functionList.UNICODE.abstract", functionParameter: [ { name: "formula.functionList.UNICODE.functionParameter.text.name", detail: "formula.functionList.UNICODE.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 } ] }, { functionName: D.UPPER, functionType: t.Text, description: "formula.functionList.UPPER.description", abstract: "formula.functionList.UPPER.abstract", functionParameter: [ { name: "formula.functionList.UPPER.functionParameter.text.name", detail: "formula.functionList.UPPER.functionParameter.text.detail", example: '"Univer"', require: 1, repeat: 0 } ] }, { functionName: D.VALUE, functionType: t.Text, description: "formula.functionList.VALUE.description", abstract: "formula.functionList.VALUE.abstract", functionParameter: [ { name: "formula.functionList.VALUE.functionParameter.text.name", detail: "formula.functionList.VALUE.functionParameter.text.detail", example: '"123"', require: 1, repeat: 0 } ] }, { functionName: D.VALUETOTEXT, functionType: t.Text, description: "formula.functionList.VALUETOTEXT.description", abstract: "formula.functionList.VALUETOTEXT.abstract", functionParameter: [ { name: "formula.functionList.VALUETOTEXT.functionParameter.value.name", detail: "formula.functionList.VALUETOTEXT.functionParameter.value.detail", example: '"Univer"', require: 1, repeat: 0 }, { name: "formula.functionList.VALUETOTEXT.functionParameter.format.name", detail: "formula.functionList.VALUETOTEXT.functionParameter.format.detail", example: "1", require: 0, repeat: 0 } ] }, { functionName: D.CALL, functionType: t.Text, description: "formula.functionList.CALL.description", abstract: "formula.functionList.CALL.abstract", functionParameter: [ { name: "formula.functionList.CALL.functionParameter.number1.name", detail: "formula.functionList.CALL.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.CALL.functionParameter.number2.name", detail: "formula.functionList.CALL.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: D.EUROCONVERT, functionType: t.Text, description: "formula.functionList.EUROCONVERT.description", abstract: "formula.functionList.EUROCONVERT.abstract", functionParameter: [ { name: "formula.functionList.EUROCONVERT.functionParameter.number1.name", detail: "formula.functionList.EUROCONVERT.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.EUROCONVERT.functionParameter.number2.name", detail: "formula.functionList.EUROCONVERT.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: D.REGISTER_ID, functionType: t.Text, description: "formula.functionList.REGISTER_ID.description", abstract: "formula.functionList.REGISTER_ID.abstract", functionParameter: [ { name: "formula.functionList.REGISTER_ID.functionParameter.number1.name", detail: "formula.functionList.REGISTER_ID.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.REGISTER_ID.functionParameter.number2.name", detail: "formula.functionList.REGISTER_ID.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] } ], Ji = [], er = [ { functionName: ft.ENCODEURL, functionType: t.Web, description: "formula.functionList.ENCODEURL.description", abstract: "formula.functionList.ENCODEURL.abstract", functionParameter: [ { name: "formula.functionList.ENCODEURL.functionParameter.text.name", detail: "formula.functionList.ENCODEURL.functionParameter.text.detail", example: '"https://univer.ai/"', require: 1, repeat: 0 } ] }, { functionName: ft.FILTERXML, functionType: t.Web, description: "formula.functionList.FILTERXML.description", abstract: "formula.functionList.FILTERXML.abstract", functionParameter: [ { name: "formula.functionList.FILTERXML.functionParameter.number1.name", detail: "formula.functionList.FILTERXML.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.FILTERXML.functionParameter.number2.name", detail: "formula.functionList.FILTERXML.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] }, { functionName: ft.WEBSERVICE, functionType: t.Web, description: "formula.functionList.WEBSERVICE.description", abstract: "formula.functionList.WEBSERVICE.abstract", functionParameter: [ { name: "formula.functionList.WEBSERVICE.functionParameter.number1.name", detail: "formula.functionList.WEBSERVICE.functionParameter.number1.detail", example: "A1:A20", require: 1, repeat: 0 }, { name: "formula.functionList.WEBSERVICE.functionParameter.number2.name", detail: "formula.functionList.WEBSERVICE.functionParameter.number2.detail", example: "A1:A20", require: 1, repeat: 0 } ] } ], tr = [ ...Ki, ...Xi, ...ji, ...zi, ...$i, ...wi, ...Zi, ...ki, ...Qi, ...Wi, ...Yi, ...Hi, ...er, ...Gi, ...Ji ]; function ar(n, e) { let a = ""; return n.aliasFunctionName ? (a = e.t(n.aliasFunctionName), a === n.aliasFunctionName && (a = n.functionName)) : a = n.functionName, a; } var nr = Object.defineProperty, ir = Object.getOwnPropertyDescriptor, rr = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? ir(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && nr(e, a, r), r; }, Lt = (n, e) => (a, i) => e(a, i, n); const Ut = Mt("formula.description-service"); let Ct = class { constructor(n, e, a) { X(this, "_descriptions", []); this._functionService = n, this._localeService = e, this._configService = a, this._initialize(); } dispose() { this._localeService.localeChanged$.complete(); } getDescriptions() { return this._functionService.getDescriptions(); } hasFunction(n) { return this._functionService.getDescriptions().get(n.toLocaleUpperCase()) !== void 0; } getFunctionInfo(n) { return this._functionService.getDescriptions().get(n.toLocaleUpperCase()); } getSearchListByName(n) { const e = [], a = this._functionService.getDescriptions(), i = n.toLocaleUpperCase().trim(); return a.forEach((r) => { const { functionName: o, abstract: u, functionType: m } = r; o.toLocaleUpperCase().indexOf(i) > -1 && m !== t.DefinedName && e.push({ name: o, desc: u }); }), e; } getSearchListByNameFirstLetter(n) { const e = [], a = this._functionService.getDescriptions(), i = n.toLocaleUpperCase().trim(); return a.forEach((r) => { const { functionName: o, abstract: u } = r; o.toLocaleUpperCase().indexOf(i) === 0 && e.push({ name: o, desc: u }); }), e; } getSearchListByType(n) { const e = []; return this._functionService.getDescriptions().forEach((i) => { const { functionName: r, functionType: o, abstract: u } = i; (o === n || n === -1) && o !== t.DefinedName && e.push({ name: r, desc: u }); }), e; } registerDescriptions(n) { return this._descriptions = this._descriptions.concat(n), this._registerDescriptions(), se(() => { const e = n.map((a) => a.functionName); this.unregisterDescriptions(e); }); } unregisterDescriptions(n) { this._descriptions = this._descriptions.filter((e) => !n.includes(e.functionName)), this._functionService.unregisterDescriptions(...n); } hasDescription(n) { return this._descriptions.some((e) => e.functionName === n); } hasDefinedNameDescription(n) { return this._descriptions.some((e) => e.functionName === n && e.functionType === t.DefinedName); } isFormulaDefinedName(n) { const e = this._descriptions.filter((i) => i.functionName === n && i.functionType === t.DefinedName); if (e.length === 0) return !1; const a = e[0].description; return !In(a); } _initialize() { this._localeService.localeChanged$.subscribe(() => { this._registerDescriptions(); }), this._initDescription(), this._registerDescriptions(); } _initDescription() { var i; const n = [ ...Nn, ...Rn, ...An, ...Sn, ...Cn, ...Dn, ...bn, ...On, ...Mn, ...xn, ..._n, ...yn, ...qn, ...gn, ...hn, ...Un ].map((r) => r[1]), e = tr.filter((r) => n.includes(r.functionName)), a = this._configService.getConfig(ot); this._descriptions = e.concat((i = a == null ? void 0 : a.description) != null ? i : []); } _registerDescriptions() { const n = this._localeService, e = this._descriptions.map((a) => ({ functionName: ar(a, n), functionType: a.functionType, description: n.t(a.description), abstract: n.t(a.abstract), functionParameter: a.functionParameter.map((i) => ({ name: n.t(i.name), detail: n.t(i.detail), example: i.example, require: i.require, repeat: i.repeat })) })); this._functionService.registerDescriptions(...e); } }; Ct = rr([ Lt(0, ht), Lt(1, W(Ot)), Lt(2, _e) ], Ct); var or = Object.defineProperty, ur = Object.getOwnPropertyDescriptor, mr = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? ur(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && or(e, a, r), r; }, Fe = (n, e) => (a, i) => e(a, i, n); function ua(n, e, a, i) { const r = n.sequenceNodesBuilder(e); if (r == null) return e; const o = []; for (let u = 0, m = r.length; u < m; u++) { const f = r[u]; if (typeof f == "string" || f.nodeType !== J.REFERENCE) continue; const { token: s } = f, p = pe(s), { sheetName: d, unitId: L } = p; let E = p.range; E.startAbsoluteRefType === we.ALL && E.endAbsoluteRefType === we.ALL || (E = Et(E, a, i), o.push({ unitId: L, sheetName: d, range: E })); } return o.map((u) => `${u.unitId}!${u.sheetName}!${u.range.startRow}!${u.range.endRow}!${u.range.startColumn}!${u.range.endColumn}`).join("|"); } let Dt = class extends te { constructor(n, e, a, i) { super(), this._refRangeService = n, this._lexerTreeBuilder = e, this._univerInstanceService = a, this._injector = i; } transformFormulaByEffectCommand(n, e, a, i) { const r = this._lexerTreeBuilder.sequenceNodesBuilder(a), o = this._univerInstanceService.getCurrentUnitForType(ee.UNIVER_SHEET), u = o.getActiveSheet(), m = o.getUnitId(), f = u.getSheetId(), s = r == null ? void 0 : r.map((p) => { if (typeof p == "object" && p.nodeType === J.REFERENCE) { const d = pe(p.token), { range: L, unitId: E, sheetName: I } = d, S = this._univerInstanceService.getUnit(E || n), c = I ? S == null ? void 0 : S.getSheetBySheetName(I) : S == null ? void 0 : S.getSheetBySheetId(e); if (!c) throw new Error("Sheet not found"); const N = S.getUnitId(), R = c.getSheetId(); if (N !== m || R !== f) return p; const P = Gt(L, i); let O = ""; if (P) { const M = P.startColumn - L.startColumn, F = P.startRow - L.startRow, U = Et(L, M, F); E && I ? O = Jt(E, I, U) : I ? O = ea(I, U) : O = ta(U); } else O = j.REF; return { ...p, token: O }; } else return p; }); return s ? `=${Xe(s)}` : ""; } registerFormula(n, e, a, i) { const r = /* @__PURE__ */ new Map(), o = this._lexerTreeBuilder.sequenceNodesBuilder(a), u = new Ye(), m = (f) => { const s = this._univerInstanceService.getCurrentUnitForType(ee.UNIVER_SHEET), p = s.getActiveSheet(), d = s.getUnitId(), L = p.getSheetId(), E = o == null ? void 0 : o.map((S) => { if (typeof S == "object" && S.nodeType === J.REFERENCE) { const c = r.get(S.token); if (c.unitId !== d || c.subUnitId !== L) return S; const N = Gt(c.range, f); let R = ""; if (N) { const P = N.startColumn - c.range.startColumn, O = N.startRow - c.range.startRow, M = Et(c.range, P, O); c.unitId && c.sheetName ? R = Jt(c.unitId, c.sheetName, M) : c.sheetName ? R = ea(c.sheetName, M) : R = ta(M); } else R = j.REF; return { ...S, token: R }; } else return S; }), I = E && Xe(E); return i(`=${I}`); }; return o == null || o.forEach((f) => { if (typeof f == "object" && f.nodeType === J.REFERENCE) { const s = pe(f.token), { range: p, unitId: d, sheetName: L } = s, E = this._univerInstanceService.getUnit(d || n), I = L ? E == null ? void 0 : E.getSheetBySheetName(L) : E == null ? void 0 : E.getSheetBySheetId(e); if (!I) return; const S = E.getUnitId(), c = I.getSheetId(), N = { unitId: S, subUnitId: c, range: p, sheetName: L }; r.set(f.token, N), u.add(this._refRangeService.registerRefRange(p, m, S, c)); } }), u; } _getFormulaDependcy(n, e, a, i) { const r = be(a) ? this._lexerTreeBuilder.sequenceNodesBuilder(a) : null, o = []; return r == null || r.forEach((u) => { if (typeof u == "object" && u.nodeType === J.REFERENCE) { const m = pe(u.token), { range: f, unitId: s, sheetName: p } = m; if (f.startAbsoluteRefType === we.ALL && f.endAbsoluteRefType === we.ALL) return; const d = this._univerInstanceService.getUnit(s || n), L = p ? d == null ? void 0 : d.getSheetBySheetName(p) : d == null ? void 0 : d.getSheetBySheetId(e); if (!L) return; const E = d.getUnitId(), I = L.getSheetId(), S = i[0].startRow, c = i[0].startColumn, N = f.startRow, R = f.startColumn, P = i.map((O) => ({ startRow: O.startRow - S + N, endRow: O.endRow - S + N, startColumn: O.startColumn - c + R, endColumn: O.endColumn - c + R })); o.push({ unitId: E, subUnitId: I, ranges: P }); } }), o; } // eslint-disable-next-line max-lines-per-function registerRangeFormula(n, e, a, i, r) { const o = new Ye(), u = i.map((f) => this._getFormulaDependcy(n, e, f, a)), m = (f) => { const s = a[0].startRow, p = a[0].startColumn, d = [{ unitId: n, subUnitId: e, ranges: a }, ...u.flat()], L = [], E = cn(this._injector, f); for (const { unitId: I, subUnitId: S, ranges: c } of d) if (I === E.unitId && S === E.subUnitId) { const N = [], R = c[0].startRow, P = c[0].startColumn, O = R - s, M = P - p; for (const F of E.ranges) { const U = c.map((g) => Ve(F, g)).filter(Boolean); U.length > 0 && N.push(...U); } N.length > 0 && L.push( N.map((F) => ({ startRow: F.startRow - O, endRow: F.endRow - O, startColumn: F.startColumn - M, endColumn: F.endColumn - M })) ); } if (L.length > 0) { const I = De.splitIntoGrid([...L.flat()]), S = De.subtractMulti(a, I); S.sort((O, M) => O.startRow - M.startRow || O.startColumn - M.startColumn); const c = /* @__PURE__ */ new Map(); for (let O = 0; O < I.length; O++) { const M = I[O], F = M.startRow, U = M.startColumn, g = F - s, x = U - p, h = ln(M, f).sort((Q, oe) => Q.startRow - oe.startRow || Q.startColumn - oe.startColumn); if (!h.length) continue; const V = h[0].startRow, k = h[0].startColumn, b = V - s, Le = k - p, ae = []; for (let Q = 0; Q < i.length; Q++) { const oe = i[Q], z = be(oe), ye = z ? this._lexerTreeBuilder.moveFormulaRefOffset(oe, x, g) : oe, ue = z ? this.transformFormulaByEffectCommand(n, e, ye, f) : ye, Pe = ua(this._lexerTreeBuilder, ue, -Le, -b); ae.push({ newFormula: ue, orginFormula: Pe }); } const re = { formulas: ae, ranges: h, key: ae.map((Q) => Q.orginFormula).join("_") }; c.has(re.key) ? c.get(re.key).push(re) : c.set(re.key, [re]); } const N = i.map((O) => ua(this._lexerTreeBuilder, O, 0, 0)).join("_"); if (S.length > 0) { const O = S[0].startRow, M = S[0].startColumn, F = []; for (let g = 0; g < i.length; g++) { const x = i[g]; F.push({ newFormula: be(x) ? this._lexerTreeBuilder.moveFormulaRefOffset(x, M - p, O - s) : x, orginFormula: x }); } const U = { formulas: F, ranges: S, key: N }; c.has(U.key) ? c.get(U.key).push(U) : c.set(U.key, [U]); } const R = [], P = Array.from(c.keys()); for (let O = P.length - 1; O >= 0; O--) { const M = P[O], F = c.get(M).sort((x, h) => x.ranges[0].startRow - h.ranges[0].startRow || x.ranges[0].startColumn - h.ranges[0].startColumn), U = []; for (let x = 0; x < F[0].formulas.length; x++) U.push(F[0].formulas[x].newFormula); const g = De.mergeRanges(F.map((x) => x.ranges).flat()); g.sort((x, h) => x.startRow - h.startRow || x.startColumn - h.startColumn), R.push({ formulas: U, ranges: g }); } return r(R); } return { undos: [], redos: [] }; }; return a.forEach((f) => { const s = this._refRangeService.registerRefRange(f, m, n, e); o.add(s); }), [...u.flat()].forEach(({ unitId: f, subUnitId: s, ranges: p }) => { p.forEach((d) => { const L = this._refRangeService.registerRefRange(d, m, f, s); o.add(L); }); }), o; } }; Dt = mr([ Fe(0, W(fn)), Fe(1, W(yt)), Fe(2, xe), Fe(3, W(at)) ], Dt); var fr = Object.defineProperty, cr = Object.getOwnPropertyDescriptor, lr = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? cr(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && fr(e, a, r), r; }, sr = (n, e) => (a, i) => e(a, i, n); const Ft = "sheets-formula.remote-register-function.service", va = Mt(Ft); let ke = class { constructor(n) { this._functionService = n; } async registerFunctions(n) { const e = n.map(([a, i]) => pr(a, i)); this._functionService.registerExecutors(...e); } async registerAsyncFunctions(n) { const e = n.map(([a, i]) => dr(a, i)); this._functionService.registerExecutors(...e); } async unregisterFunctions(n) { this._functionService.unregisterDescriptions(...n); } }; ke = lr([ sr(0, ht) ], ke); function pr(n, e) { const a = new At(e), i = new Function(`return ${n}`)(); return a.calculateCustom = i, a; } function dr(n, e) { const a = new xa(e), i = new Function(`return ${n}`)(); return a.calculateCustom = i, a; } var Lr = Object.defineProperty, Pr = Object.getOwnPropertyDescriptor, Tr = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? Pr(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && Lr(e, a, r), r; }, Be = (n, e) => (a, i) => e(a, i, n); const Er = Mt( "sheets-formula.register-function-service" ); let bt = class extends te { constructor(n, e, a, i) { super(), this._localeService = n, this._descriptionService = e, this._functionService = a, this._remoteRegisterFunctionService = i; } registerFunction(n) { return this._registerSingleFunction(n); } registerAsyncFunction(n) { return this._registerSingleFunction({ ...n, async: !0 }); } registerFunctions(n) { const { locales: e, description: a, calculate: i } = n; e && this._localeService.load(e); const r = new Ye(); if (a) r.add(this._descriptionService.registerDescriptions(a)); else { const o = i.map(([u, m, f]) => ({ functionName: m, functionType: t.User, description: "", abstract: f || "", functionParameter: [] })); r.add(this._functionService.registerDescriptions(...o)); } return r.add(this._registerLocalExecutors(i)), this._remoteRegisterFunctionService && r.add(this._registerRemoteExecutors(i)), r; } _registerSingleFunction(n) { const { name: e, func: a, description: i, locales: r, async: o = !1 } = n, u = new Ye(); if (r && this._localeService.load(r), typeof i == "string") { const f = { functionName: e, functionType: t.User, description: i, abstract: i || "", functionParameter: [] }; u.add(this._descriptionService.registerDescriptions([f])); } else u.add(this._descriptionService.registerDescriptions([i])); const m = o ? new xa(e) : new At(e); return m.calculateCustom = a, this._functionService.registerExecutors(m), u.add(se(() => this._functionService.unregisterExecutors(e))), this._remoteRegisterFunctionService && (this._remoteRegisterFunctionService.registerAsyncFunctions([[a.toString(), e]]), u.add( se(() => this._remoteRegisterFunctionService.unregisterFunctions([e])) )), u; } _registerLocalExecutors(n) { const e = n.map(([i, r]) => r), a = n.map(([i, r]) => { const o = new At(r); return o.calculateCustom = i, o; }); return this._functionService.registerExecutors(...a), se(() => this._functionService.unregisterExecutors(...e)); } _registerRemoteExecutors(n) { const e = [], a = n.map(([i, r]) => (e.push(r), [i.toString(), r])); return this._remoteRegisterFunctionService.registerFunctions(a), se(() => this._remoteRegisterFunctionService.unregisterFunctions(e)); } }; bt = Tr([ Be(0, W(Ot)), Be(1, W(Ut)), Be(2, ht), Be(3, Wa(va)) ], bt); const Ir = "SHEETS_FORMULA_PLUGIN"; var Nr = Object.defineProperty, Rr = Object.getOwnPropertyDescriptor, Ar = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? Rr(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && Nr(e, a, r), r; }, Pt = (n, e) => (a, i) => e(a, i, n); let $e = class extends te { constructor(n, e, a) { super(), this._activeDirtyManagerService = n, this._univerInstanceService = e, this._formulaDataModel = a, this._initialize(); } _initialize() { this._initialConversion(); } _initialConversion() { this._activeDirtyManagerService.register(ie.id, { commandId: ie.id, getDirtyData: (n) => { const e = n.params; return e.trigger === _t.id ? {} : { dirtyRanges: this._getSetRangeValuesMutationDirtyRange(e) }; } }), this._initialMove(), this._initialRowAndColumn(), this._initialSheet(), this._initialDefinedName(); } _initialMove() { this._activeDirtyManagerService.register(Ht.id, { commandId: Ht.id, getDirtyData: (n) => { const e = n.params; return { dirtyRanges: this._getMoveRangeMutationDirtyRange(e), clearDependencyTreeCache: { [e.unitId]: { [e.to.subUnitId]: "1", [e.from.subUnitId]: "1" } } }; } }), this._activeDirtyManagerService.register(Yt.id, { commandId: Yt.id, getDirtyData: (n) => { const e = n.params; return { dirtyRanges: this._getMoveRowsMutationDirtyRange(e), clearDependencyTreeCache: { [e.unitId]: { [e.subUnitId]: "1" } } }; } }), this._activeDirtyManagerService.register(wt.id, { commandId: wt.id, getDirtyData: (n) => { const e = n.params; return { dirtyRanges: this._getMoveRowsMutationDirtyRange(e), clearDependencyTreeCache: { [e.unitId]: { [e.subUnitId]: "1" } } }; } }), this._activeDirtyManagerService.register(Xt.id, { commandId: Xt.id, getDirtyData: (n) => { const e = n.params; return { dirtyRanges: this._getReorderRangeMutationDirtyRange(e), clearDependencyTreeCache: { [e.unitId]: { [e.subUnitId]: "1" } } }; } }); } _initialRowAndColumn() { this._activeDirtyManagerService.register(Wt.id, { commandId: Wt.id, getDirtyData: (n) => { const e = n.params; return { dirtyRanges: this._getRemoveRowOrColumnMutation(e, !0), clearDependencyTreeCache: { [e.unitId]: { [e.subUnitId]: "1" } } }; } }), this._activeDirtyManagerService.register(Kt.id, { commandId: Kt.id, getDirtyData: (n) => { const e = n.params; return { dirtyRanges: this._getRemoveRowOrColumnMutation(e, !1), clearDependencyTreeCache: { [e.unitId]: { [e.subUnitId]: "1" } } }; } }), this._activeDirtyManagerService.register(Qt.id, { commandId: Qt.id, getDirtyData: (n) => { const e = n.params; return { clearDependencyTreeCache: { [e.unitId]: { [e.subUnitId]: "1" } } }; } }), this._activeDirtyManagerService.register(kt.id, { commandId: kt.id, getDirtyData: (n) => { const e = n.params; return { clearDependencyTreeCache: { [e.unitId]: { [e.subUnitId]: "1" } } }; } }); } _initialSheet() { this._activeDirtyManagerService.register(It.id, { commandId: It.id, getDirtyData: (n) => { const e = n.params; return { dirtyNameMap: this._getRemoveSheetMutation(e), clearDependencyTreeCache: { [e.unitId]: { [e.subUnitId]: "1" } } }; } }), this._activeDirtyManagerService.register(Nt.id, { commandId: Nt.id, getDirtyData: (n) => { const e = n.params; return { dirtyNameMap: this._getInsertSheetMutation(e) }; } }); } _initialDefinedName() { this._activeDirtyManagerService.register(Me.id, { commandId: Me.id, getDirtyData: (n) => { const e = n.params; return { dirtyDefinedNameMap: this._getDefinedNameMutation(e) }; } }), this._activeDirtyManagerService.register(St.id, { commandId: St.id, getDirtyData: (n) => { const e = n.params; return { dirtyDefinedNameMap: this._getDefinedNameMutation(e) }; } }); } _getDefinedNameMutation(n) { const { unitId: e, name: a, formulaOrRefString: i } = n, r = {}; return n == null ? {} : (r[e] = {}, r[e][a] = i, r); } _getSetRangeValuesMutationDirtyRange(n) { const { subUnitId: e, unitId: a, cellValue: i } = n, r = []; return i == null || (r.push(...this._getDirtyRangesByCellValue(a, e, i)), r.push(...this._getDirtyRangesForArrayFormula(a, e, i))), r; } _getMoveRangeMutationDirtyRange(n) { const { unitId: e, from: a, to: i } = n, r = []; return r.push(...this._getDirtyRangesByCellValue(e, a.subUnitId, a.value)), r.push(...this._getDirtyRangesByCellValue(e, i.subUnitId, i.value)), r.push(...this._getDirtyRangesForArrayFormula(e, i.subUnitId, i.value)), r; } _getMoveRowsMutationDirtyRange(n) { const { subUnitId: e, unitId: a, sourceRange: i, targetRange: r } = n, o = [], u = this._rangeToMatrix(i).getData(), m = this._rangeToMatrix(r).getData(); return o.push(...this._getDirtyRangesByCellValue(a, e, u)), o.push(...this._getDirtyRangesByCellValue(a, e, m)), o.push(...this._getDirtyRangesForArrayFormula(a, e, m)), o; } _getReorderRangeMutationDirtyRange(n) { const { unitId: e, subUnitId: a, range: i } = n, r = this._rangeToMatrix(i).getData(), o = []; return o.push(...this._getDirtyRangesByCellValue(e, a, r)), o.push(...this._getDirtyRangesForArrayFormula(e, a, r)), o; } _getDeleteRangeMutationDirtyRange(n) { const { subUnitId: e, unitId: a, range: i, shiftDimension: r } = n, o = [], u = this._univerInstanceService.getUniverSheetInstance(a), m = u == null ? void 0 : u.getSheetBySheetId(e), f = (m == null ? void 0 : m.getLastRowWithContent()) || 0, s = (m == null ? void 0 : m.getLastColumnWithContent()) || 0, p = new w(); let d = null; const { startRow: L, startColumn: E, endRow: I, endColumn: S } = i; r === Bt.ROWS ? d = this._rangeToMatrix({ startRow: L, startColumn: E, endRow: f, endColumn: S }) : r === Bt.COLUMNS && (d = this._rangeToMatrix({ startRow: L, startColumn: E, endRow: I, endColumn: s })), d != null && p.merge(d); const c = p.getData(); return o.push(...this._getDirtyRangesByCellValue(a, e, c)), o.push(...this._getDirtyRangesForArrayFormula(a, e, c)), o; } _getRemoveRowOrColumnMutation(n, e = !0) { const { subUnitId: a, unitId: i, range: r } = n, o = [], u = this._univerInstanceService.getUniverSheetInstance(i), m = u == null ? void 0 : u.getSheetBySheetId(a), f = (m == null ? void 0 : m.getRowCount()) || 0, s = (m == null ? void 0 : m.getColumnCount()) || 0, p = new w(); let d = null; const { startRow: L, endRow: E, startColumn: I, endColumn: S } = r; e === !0 ? d = this._rangeToMatrix({ startRow: L, startColumn: 0, endRow: E, endColumn: s - 1 }) : d = this._rangeToMatrix({ startRow: 0, startColumn: I, endRow: f, endColumn: S }), d != null && p.merge(d); const c = p.getData(); return o.push(...this._getDirtyRangesByCellValue(i, a, c)), o.push(...this._getDirtyRangesForArrayFormula(i, a, c)), o; } _getRemoveSheetMutation(n) { const e = {}, { subUnitId: a, unitId: i, subUnitName: r } = n; return e[i] == null && (e[i] = {}), e[i][a] = r, e; } _getInsertSheetMutation(n) { const e = {}, { sheet: a, unitId: i } = n; return e[i] == null && (e[i] = {}), e[i][a.id] = a.name, e; } _rangeToMatrix(n) { const e = new w(), { startRow: a, startColumn: i, endRow: r, endColumn: o } = n; for (let u = a; u <= r; u++) for (let m = i; m <= o; m++) e.setValue(u, m, {}); return e; } _getDirtyRangesByCellValue(n, e, a) { const i = []; return a == null || new w(a).getDiscreteRanges().forEach((u) => { i.push({ unitId: n, sheetId: e, range: u }); }), i; } /** * The array formula is a range where only the top-left corner contains the formula value. * All other positions, apart from the top-left corner, need to be marked as dirty. */ _getDirtyRangesForArrayFormula(n, e, a) { var u, m; const i = []; if (a == null) return i; const r = new w(a), o = this._formulaDataModel.getArrayFormulaRange(); if ((u = o == null ? void 0 : o[n]) != null && u[e]) { const f = new w((m = o == null ? void 0 : o[n]) == null ? void 0 : m[e]); r.forValue((s, p) => { f.forValue((d, L, E) => { if (E == null) return !0; const { startRow: I, startColumn: S, endRow: c, endColumn: N } = E; s >= I && s <= c && p >= S && p <= N && i.push({ unitId: n, sheetId: e, range: { startRow: I, startColumn: S, endRow: I, endColumn: S } }); }); }); } return i; } }; $e = Ar([ Pt(0, gt), Pt(1, xe), Pt(2, W(it)) ], $e); var Sr = Object.defineProperty, Cr = Object.getOwnPropertyDescriptor, Dr = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? Cr(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && Sr(e, a, r), r; }, Tt = (n, e) => (a, i) => e(a, i, n); let je = class extends te { constructor(n, e, a) { super(), this._commandService = n, this._sheetInterceptorService = e, this._formulaDataModel = a, this._initialize(); } _initialize() { this._commandExecutedListener(), this._initInterceptorCellContent(); } _commandExecutedListener() { this.disposeWithMe( this._commandService.onCommandExecuted((n) => { if (n.id !== Rt.id) return; const e = n.params; if (e == null) return; const { arrayFormulaRange: a, arrayFormulaCellData: i } = e; this._formulaDataModel.setArrayFormulaRange(a), this._formulaDataModel.setArrayFormulaCellData(i); }) ); } _initInterceptorCellContent() { this.disposeWithMe( this._sheetInterceptorService.intercept(sn.CELL_CONTENT, { priority: 100, effect: Ka.Value, handler: (n, e, a) => { var s, p, d; const { unitId: i, subUnitId: r, row: o, col: u } = e, m = this._formulaDataModel.getArrayFormulaCellData(), f = (d = (p = (s = m == null ? void 0 : m[i]) == null ? void 0 : s[r]) == null ? void 0 : p[o]) == null ? void 0 : d[u]; return f == null ? a(n) : f.v == null && f.t == null ? a({ ...n, v: 0, // Default value for empty cell t: vt.NUMBER }) : (n == null ? void 0 : n.t) === vt.NUMBER && n.v !== void 0 && n.v !== null && Qa(n.v) ? a({ ...n, v: Fn(Number(n.v)) }) : a({ ...n, v: f.v, t: f.t }); } }) ); } }; je = Dr([ Tt(0, de), Tt(1, W(xt)), Tt(2, W(it)) ], je); var br = Object.defineProperty, Or = Object.getOwnPropertyDescriptor, Mr = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? Or(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && br(e, a, r), r; }, ve = (n, e) => (a, i) => e(a, i, n); let ze = class extends te { constructor(e, a, i, r) { super(); X(this, "_preUnitId", null); this._descriptionService = e, this._definedNamesService = a, this._univerInstanceService = i, this._commandService = r, this._initialize(); } _initialize() { this._descriptionListener(), this._changeUnitListener(), this._changeSheetListener(); } _descriptionListener() { se( this._definedNamesService.update$.subscribe(() => { this._registerDescriptions(); }) ); } _changeUnitListener() { se( this._univerInstanceService.getCurrentTypeOfUnit$(ee.UNIVER_SHEET).subscribe(() => { this._unRegisterDescriptions(), this._registerDescriptions(); }) ); } _changeSheetListener() { this.disposeWithMe( this._commandService.onCommandExecuted((e, a) => { if (!(a != null && a.fromCollab)) { if (e.id === pn.id) this._unregisterDescriptionsForNotInSheetId(), this._registerDescriptions(); else if (e.id === Me.id) { const i = e.params; this._registerDescription(i); } else if (e.id === St.id) { const i = e.params; this._unregisterDescription(i); } } }) ); } _registerDescription(e) { const { unitId: a, sheetId: i } = this._getUnitIdAndSheetId(); if (a == null || i == null) return; const { name: r, comment: o, formulaOrRefString: u, localSheetId: m } = e; !this._descriptionService.hasDescription(r) && (m == null || m === mt || m === i) && this._descriptionService.registerDescriptions([{ functionName: r, description: u + (o || ""), abstract: u, functionType: t.DefinedName, functionParameter: [] }]); } _unregisterDescription(e) { const { name: a } = e; this._descriptionService.unregisterDescriptions([a]); } _unRegisterDescriptions() { if (this._preUnitId == null) return; const e = this._definedNamesService.getDefinedNameMap(this._preUnitId); if (e == null) return; const a = []; Array.from(Object.values(e)).forEach((i) => { const { name: r } = i; a.push(r); }), this._descriptionService.unregisterDescriptions(a), this._preUnitId = null; } _getUnitIdAndSheetId() { const e = this._univerInstanceService.getCurrentUnitForType(ee.UNIVER_SHEET); if (e == null) return {}; const a = e.getActiveSheet(); return a == null ? {} : { unitId: e.getUnitId(), sheetId: a.getSheetId() }; } _registerDescriptions() { const { unitId: e, sheetId: a } = this._getUnitIdAndSheetId(); if (e == null || a == null) return; const i = this._definedNamesService.getDefinedNameMap(e); if (!i) return; const r = []; this._preUnitId = e, Array.from(Object.values(i)).forEach((o) => { const { name: u, comment: m, formulaOrRefString: f, localSheetId: s } = o; !this._descriptionService.hasDescription(u) && (s == null || s === mt || s === a) && r.push({ functionName: u, description: f + (m || ""), abstract: f, functionType: t.DefinedName, functionParameter: [] }); }), this._descriptionService.registerDescriptions(r); } _unregisterDescriptionsForNotInSheetId() { const { unitId: e, sheetId: a } = this._getUnitIdAndSheetId(); if (e == null || a == null) return; const i = this._definedNamesService.getDefinedNameMap(e); if (!i) return; const r = []; Array.from(Object.values(i)).forEach((o) => { const { name: u, localSheetId: m } = o; m !== mt && m !== a && r.push(u); }), this._descriptionService.unregisterDescriptions(r); } }; ze = Mr([ ve(0, Ut), ve(1, qt), ve(2, xe), ve(3, de) ], ze); var xr = Object.defineProperty, _r = Object.getOwnPropertyDescriptor, yr = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? _r(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && xr(e, a, r), r; }, qr = (n, e) => (a, i) => e(a, i, n); let Ze = class extends te { constructor(n) { super(), this._commandService = n, [ Hn, Ge ].forEach((e) => this._commandService.registerCommand(e)); } }; Ze = yr([ qr(0, de) ], Ze); var Va = Object.defineProperty, gr = Object.getOwnPropertyDescriptor, hr = (n, e, a) => e in n ? Va(n, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : n[e] = a, Ga = (n, e, a, i) => { for (var r = i > 1 ? void 0 : i ? gr(e, a) : e, o = n.length - 1, u; o >= 0; o--) (u = n[o]) && (r = (i ? u(e, a, r) : u(r)) || r); return i && r && Va(e, a, r), r; }, Je = (n, e) => (a, i) => e(a, i, n), ut = (n, e, a) => hr(n, typeof e != "symbol" ? e + "" : e, a); let et = class extends sa { constructor(n = ra, e, a) { super(), this._config = n, this._injector = e, this._configService = a; const { ...i } = pa( {}, ra, this._config ); this._configService.setConfig(gi, i); } onStarting() { this._injector.add([ke]), this._injector.get(qa).registerChannel( Ft, Vn(this._injector.get(ke)) ); } }; ut(et, "pluginName", "SHEET_FORMULA_REMOTE_PLUGIN"); ut(et, "type", ee.UNIVER_SHEET); et = Ga([ la(_a), Je(1, W(at)), Je(2, _e) ], et); let tt = class extends sa { constructor(n = ia, e, a) { super(), this._config = n, this._injector = e, this._configService = a; const { ...i } = pa( {}, ia, this._config ); this._configService.setConfig(ot, i); } onStarting() { const n = this._injector, e = [ [Er, { useClass: bt }], [Ut, { useClass: Ct }], [Ze], [Dt], [Ke], [je], [Oe], [Qe], [$e], [ze], [We] ]; if (this._config.notExecuteFormula) { const a = n.get(qa); e.push([va, { useFactory: () => Gn(a.requestChannel(Ft)) }]); } e.forEach((a) => n.add(a)); } onReady() { qe(this._injector, [ [Ze], [$e], [je], [Qe], [We] ]), Vt() && qe(this._injector, [ [Oe] ]); } onRendered() { qe(this._injector, [ [ze] ]), Vt() || qe(this._injector, [ [Oe] ]); } }; ut(tt, "pluginName", Ir); ut(tt, "type", ee.UNIVER_SHEET); tt = Ga([ la(_a, dn), Je(1, W(at)), Je(2, _e) ], tt); export { ne as CalculationMode, Ct as DescriptionService, Dt as FormulaRefRangeService, Ut as IDescriptionService, Er as IRegisterFunctionService, va as IRemoteRegisterFunctionService, Hn as InsertFunctionCommand, Ge as OtherFormulaMarkDirty, ot as PLUGIN_CONFIG_KEY_BASE, bt as RegisterFunctionService, Ke as RegisterOtherFormulaService, ke as RemoteRegisterFunctionService, Oe as TriggerCalculationController, et as UniverRemoteSheetsFormulaPlugin, tt as UniverSheetsFormulaPlugin, We as UpdateDefinedNameController, Qe as UpdateFormulaController };