Syncfusion.Calculate.Base Contains the class for assembly information. This class holds the name of the Syncfusion.Calculate.Base assembly and provides a helper routine that helps with resolving types when loading a serialization stream and when the framework probes for assemblies by reflection. The full name of this assembly without version information, e.g. "Syncfusion.Grid". A reference to the for the grid assembly. The root namespace of this assembly. Used internally for locating resources within the assembly. This delegate helps with resolving types and can be used as an event handler for a event. The source of the event. The event data with information about the type. A reference to the assembly where the type is located. Use this handler when reading back types from a serialization stream saved with an earlier version of this assembly. public static GridModel LoadSoap(Stream s) { try { AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(GridAssembly.AssemblyResolver); SoapFormatter b = new SoapFormatter(); b.AssemblyFormat = FormatterAssemblyStyle.Simple; GridModel t = b.Deserialize(s) as GridModel; t.Modified = false; return t; } finally { AppDomain.CurrentDomain.AssemblyResolve -= new ResolveEventHandler(GridAssembly.AssemblyResolver); } } CalculateConfig serves as a Configuration class for the calculate library. In the current version, there are no explicit settings. Adding this component from the tool box allows you to easily configure your project for calculate support. Constructor function Copyright notice for the library. FormulaInfo maintains information on a single formula object. A property that gets/sets the text of the initial formula. A property that gets/sets the last computed value of this formula. A property that gets/sets the formula as a parsed string. CalcEngine encapsulates the code required to parse and compute formulas. Hashtable properties maintain a Formula Library of functions as well as a list of dependent cells. You can add and remove library functions. Used to store the value as double Used to store the value as double Used to store the value as double used to calculate the row in Table. used to calculate the header in Table. used to calculate the total in Table. used to calculate the data in Table used to calculate all in Table This field holds equivalent double value of 1904(DateTime). Field that turns on/off processing of the ICalcData.ValueChanged event. Used to store the number Used to store the big number as double Used to store the value as double This field will be set as true, if the 1904 date system is enabled in Excel. Set the boolean as true The constructor. The constructor. The ICalcData from the underlying grid. Gets or sets whether the formula is array formula or not. Gets or sets the instance of . Gets or sets the instance of Used to store the registed values The list of error strings which are used within the Essential Calculate internally. Users can make changes to this internal error strings. Default settings by assigning the new strings to the corresponding position.ReloadErrorStrings should be invoked to reset or modify the internal error strings. A method that checks the possible cases for error string(invalid arguments for formula). The arguments of formula. The formula's argument type. Returns the Error string if formula has invalid arguments Below method has been used to find the negative values(ex formula:=LARGE({6,23,-5,2.3}, 2)). string contains negative values(eg:-2,-2,-2) or possitve value. True if the values are number.else false. Returns true when Namedarange is in the scope and returns cellRange based on scope. NamedRange CellRange True when Namedarange is in the scope.else false. This method check "\"in the string and removes if the string contains "\"\. input string. returns The parsed string value without the "\"\ A method that parses the text in a formula passed in. The text formula to be parsed. A string holding a parsed representation of the formula. A method that parses and computes the string formula passed in. The text formula to be parsed and computed. A string holding the computed value. Accepts an unparsed formula string and replaces any sheet references with corresponding tokens. The unparsed formula string. This is an advanced method that lets you replace sheet names with corresponding tokens. You may have need of this method if you are adding your own functions to the function library. Tokenizes all library references. Accepts a string such as Sin(A1+A2) and tokenizes it into bqSIN[A1A2a]b which serves as input to ComputedValue. Formula to be tokenized. A method that adds a function to the function library. The name of the function to be added. The function to be added. True if successfully added, otherwise False. LibraryFunction is a delegate that defines the signature of functions that you can add to the function library. public delegate string LibraryFunction(string args); A method that removes a function from the function library. The name of the function to be removed. True if successfully removed, otherwise False. Creates and initially loads the function library with the supported functions. CreateSheetFamilyID is a method to create familyID for a sheet. Sheet family ID. Essential Calculate supports multisheet references within a family of ICalcData objects. To use this functionality, you use this method to get a unique identifier for the family. Then in the RegisterGridAsSheet method that you call to add ICalcData objects to this family, you pass this unique identifier to mark the ICalcData objects as belonging to this family. You can only cross reference ICalcData objects within the same family. RegisterGridAsSheet is a method that registers an ICalcData object so it can be referenced in a formula from another ICalcData object. The reference name used to refer to this ICalcData object from formulas in other ICalcData objects. The ICalcData from the ICalcData object being registered. /// An integer previously created with a call to CalcEngine.CreateSheetFamilyID. This number is used to identify the ICalcData objects as belonging to a particular family of ICalcData objects. You can only reference ICalcData objects from within the same family. Essential Calculate supports multisheet references with its formulas. For example, if you have two ICalcData objects, then you can reference cells from the first ICalcData object in the second ICalcData object. For this to work, both ICalcData objects need to be registered using this method. The syntax for using a sheet reference as part of a formula is to prefix a cell reference with the sheet reference name followed by an exclamation point. The formula "= sheet1!A1 + sheet2!C3" would add the value is cell A1 for the ICalcData object whose reference name is sheet1 to the value from cell C3 in the ICalcData object whose reference name is sheet2. Use this code to use cross sheet references: //Register three ICalcData objects so cell can be referenced across ICalcData objects: int sheetfamilyID = CalcEngine.CreateSheetFamilyID(); myCalcEngine.RegisterGridAsSheet("summary", calcData1, sheetfamilyID); myCalcEngine.RegisterGridAsSheet("income", calcData2, sheetfamilyID); myCalcEngine.RegisterGridAsSheet("expenses", calcData3, sheetfamilyID); .... //Sample formula usage for cells in calcData1, the 'summary' data source. //This code sums ups some cells from calcData3, the 'expenses' data source //and calcData2, the 'income' data source. //Sum the range B2:B8 from expenses: string sumExpenses = "= Sum(expenses!B2:expenses!B8)"; //Sum the range B2:B4 from income: string sumIncome = "= Sum(income!B2:income!B4)"; 'Register three ICalcData objects so cell can be referenced across ICalcData objects: Dim sheetfamilyID As Integer = CalcEngine.CreateSheetFamilyID(); myCalcEngine.RegisterGridAsSheet("summary", calcData1, sheetfamilyID) myCalcEngine.RegisterGridAsSheet("income", calcData2, sheetfamilyID) myCalcEngine.RegisterGridAsSheet("expenses", calcData3, sheetfamilyID) .... 'Sample formula usage for cells in calcData1, the 'summary' data source. 'This code sums ups some cells from calcData3, the 'expenses' data source 'and calcData2, the 'income' data source. 'Sum the range B2:B8 from expenses: Dim sumExpenses As String = "= Sum(expenses!B2:expenses!B8)" 'Sum the range B2:B4 from income: Dim sumIncome As String = "= Sum(income!B2:income!B4)" Unregisters a grid so it can no longer be referenced in a formula from another grid. The reference name used to refer to this grid from formulas in other grids. The grid model. Change the sheet name of with the given name. Name of the sheet. The ICalcData object. Triggers a calculation for any value depending upon the given cell. The cell. Returns the GridSheetFamilyItem for the specified model. If there was no item registered for the model, a new item is created and cached. The grid model. The GridSheetFamilyItem for the specified model. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Return the value of arraybounds as boolean current cell height width firstrowindex firstcolumnindex lastrowindex lastcolumnindex A method to retrieve the row index from a cell reference. String holding a cell reference such as C21 or AB11. An integer with the corresponding row number. A method that gets the column index from a cell reference passed in. String holding a cell reference such as C21 or AB11. An integer with the corresponding column number. Determines whether the arg is a valid cell name. Cell name. True is the arg is a valid cell name, false otherwise. To check whether the row index can be obtained from the arguments A method to split the arguments using argument seperator. arguments to split. argument seperator used to split. A string array. Removes outer quote marks from a string with no inner quote marks. The string with possible outer quote marks. The string with any outer quote marks removed. This is a utility method that removes outer quotes on a string. Returns an array of argument strings from a single string where the arguments are delimited by . Contains the argument list. A string array of arguments. This method properly preserves any quoted strings that contain the character. Tests whether a string is NULL or empty. String to be tested. True is passed in string is null or empty, otherwise False. Given a string, it returns a string that is passed through the FormulaParsing event to allow any listener to modify it. A string that is to be potentially parsed. Accepts a possible parsed formula and returns the calculated value without quotes. The argument to be adjusted. This method is useful in custom functions if you want to allow your custom functions to handle parsed formulas as arguments. In this case, calling this method at the beginning of your custom function will allow you custom function to work only with computed values, and not have to handle parsed formulas directly. Call this method to clear whether an exception was raised during the computation of a library function. Returns the value of specified cell in a Grid. Cell address If true, compute the formula and returns calculated result. Else, simply returns the value of the cell. value of the cell Conditionally gets either the formula value or the cell value depending upon whether the requested cell is a FormulaCell. Row index of the requested cell. Column index of the requested cell. String holding either the cell value or the computed formula value. Computes the exact date value when the input string is based on time span. value to be converted into date. computed date for the time. returns true if the value can be converted to date time. Conditionally gets either the formula value or the cell value depending upon whether the requested cell is a FormulaCell. The ICalcData object holding the requested cell. Row index of the requested cell. Column index of the requested cell. String holding either the cell value or the computed formula value. Returns the value of specified cell in a Grid. The ICalcData object holding the requested cell. Row index of the requested cell. Column index of the requested cell. If true, compute the formula and returns calculated result. Else, simply returns the value of the cell the value of the cell. A Virtual method to compute the value based on the argument passed in. This method takes the argument and checks whether it is a parsed formula, a raw number, or a cell reference like A21. The return value is a string that holds the computed value of the passed in argument. A parsed formula, raw number, or cell reference. A string with the computed number in it. A method that retrieves a string array of cells from the range passed in. Converts arguments in these forms to a string array of individual cells: A1,A2,B4,C1,...,D8 A1:A5 A1:C5 String containing a cell range. String array of cells. A method that retrieves a string array of cells from the range passed in. Converts arguments in these forms to a string array of individual cells: A1,A2,B4,C1,...,D8 A1:A5 A1:C5 String containing a cell range. default value is true. String array of cells if findCellsFromRange is true.otherwise return cell reference. This method recalculates any formula cells in the specified range. The calculations for non-visible formula cells are performed the next time cell are actually displayed. If you want the calculation performed immediately on cells (visible or not), call the two argument overload of RecalculateRange, passing the forceCalculations argument as True. GridRangInfo object that specifies the cells to be recalculated. ICalcData object that holds the data to be recalculated. An overridden method to display information on the cell currently being calculated. String with information on the cell currently being calculated. Conditionally gets either the formula value or the cell value depending upon whether the requested cell is a FormulaCell. The alphanumeric cell label, like A1, or EE14. String holding either the cell value or the computed formula value. Conditionally gets either the formula value or the cell value depending upon whether the requested cell is a FormulaCell. Row index of the requested cell. Column index of the requested cell. String holding either the cell value or the computed formula value. Evaluates a parsed formula. A string holding a valid parsed formula. The computed value of the formula. The string passed into this function must be previously parsed using ParseFormula. Compute the NestedIF formulas using the old code structure of CalcEngine. formula to execute / compute Compute the NestedIF formulas using new parse and compute technique. formula to execute / compute A method that computes a parsed formula. The parsed formula to be computed. A string holding the computed value. This method retrieves the value in the requested cell reference using fresh computations for any cells that affect the value of the requested cell. A cell reference like: Sheet5!B14 A freshly computed value for the cell. PullUpdatedValue is a method used to recompute the cells that are referred to compute the requested value. Integer identifying the ICalcData object. The row in the ICalcData object. The column in the ICalcData object. A method that increases the calculation level of the CalcEngine. Every formula has a calculation ID level associated with it. Every time a formula is retrieved, its calculation ID level is compared with the CalcEngine ID level. If they do not agree, the formula is recomputed. Calling UpdateCalcID will force any formula to be recomputed the next time it is retrieved. Refresh is a method that recalculates any cell that depends upon the passed in cell. A cell such as A21 or EE31. Returns the amount received at maturity for a fully invested security. Number and the number of digits Received amount Counts the nonblank cells in a field (column) of records in a list or database that match conditions that you specify. Number and the number of digits Received amount Averages the values in a field (column) of records in a list or database that match conditions you specify. Number and the number of digits Received amount Extracts a single value from a column of a list or database that matches conditions that you specify. Number and the number of digits Received amount Returns the largest number in a field (column) of records in a list or database that matches conditions you that specify. Number and the number of digits Received amount Returns the smallest number in a field (column) of records in a list or database that matches conditions that you specify. Number and the number of digits Received amount Returns the smallest number in a field (column) of records in a list or database that matches conditions that you specify. Number and the number of digits Received amount Estimates the variance of a population based on a sample by using the numbers in a field (column) of records in a list or database that match conditions that you specify. Number and the number of digits Received amount Calculates the variance of a population based on the entire population by using the numbers in a field (column) of records in a list or database that match conditions that you specify. Number and the number of digits Received amount Estimates the standard deviation of a population based on a sample by using the numbers in a field (column) of records in a list or database that match conditions that you specify. Number and the number of digits Received amount Calculates the standard deviation of a population based on the entire population by using the numbers in a field (column) of records in a list or database that match conditions that you specify. Number and the number of digits Received amount Adds the numbers in a field (column) of records in a list or database that match conditions that you specify Number and the number of digits Received amount Used to get the data from arguments Arguments This field is enable when the criteria is double. Returns the archyperbolic cosecant of an angle. A cell reference or a cell or a number A string containing the archyperbolic cosecant of an angle Returns the full product of two 32-bit numbers. The two 32 bit numbers. A string containing the product of two 32 bit numbers. Calculates the quotient of two 64-bit signed integers and also returns the remainder in an output parameter. returns the quotient of two 64-bit signed integers. Returns the remainder resulting from the division of a specified number by another specified number. contains a divisor and dividend Returns the remainder. Returns the CDF of the normal distribution. Value at which the distribution is evaluated. Mean of the distribution. Standard deviation of the distribution. Returns the inverse of the CDF of the F distribution. For k = 3, and 5+ the solution is an approximation. Cumulative probability of the distribution. p is between 0 and 1. Degrees of freedom for numerator chi-sqared distribution. Degrees of freedom for denominator chi-sqared distribution. Returns the inverse of the CDF of the normal distribution. Cumulative probability of the distribution. 0 <= p >= 1. Mean of the distribution. Standard deviation of the distribution. replaces part of a text string, based on the number of characters, with a different text string Text in which is want to replace, The position of the character in old_text., The number of characters in old_text returns replaced text Returns the row index of the passed in cell reference. Contains zero or one argument. If no argument is passed, returns the row index of the location of this Row function cell, otherwise returns the row index of the passed in cell reference. The row index. This method doesn't return an array of row numbers as the array formula entry is not supported in engine. It is another usecase of this library function. Returns the m parameter of the exponential curve y = b * m^x that best fits the given points. Only the first two Excel parameters are used. Y_range, x_range. returns m parameter. Returns the b value from the exponential curve y = b * m^x. Y_range, x_range. returns calculated b value. Returns the most recent points from an array (the points with the highest index values). For functions with a decay factor, the weight on the last element in the array is the highest. In many applications this corresponds with the assumption that the last element in the array represents the most recent data point. Array from which the data points will be selected. The number of data points to be returned. Returns the mean of an array. Array of data for which we are calculating the mean. For time series, the last element (index = n-1), is the most recent. In most applications, the decay factor is between 0 and 1. Weigth on the last element in array is 1.0, the 2nd to last element d, 3rd to last d^2, ... Window length. Method uses the most recent n points, n = length. Returns the weighted averages of the values in valueArray using the corresponding weights in weightArray. array of values for which we are computing the weighted average array of weights used in computing the weighted average Returns the CDF of the uniform distribution. Value at which the distribution is evaluated. Minimum value of the distribution. Maximum value of the distribution. Returns the half-life of a geometric series of length n, who's first element is 1. For decay factor d, 1 + d + d^2 + ... + d^(h-1) = 0.5 * [1 + d + d^2 + ... + d^(n-1)] Decay factor Typically between -1 adn +1. Number of elements in the geometric series, must be positive. Returns the sum of a geometric series of length n, who's first element is 1. For decay factor d, S = 1 + d + d^2 + ... + d^(n-1) Decay factor Typically between -1 adn +1. Number of elements in the geometric series, must be positive. Returns the sum of an infinite geometric series who's first element is 1. For decay factor d, S = 1 + d + d^2 + ... Decay factor. Typically between -1 adn +1. Returns the sample covariance between two arrays. Arrays should be of equal length, and contain more than one element. In most applications, the decay factor is between 0 and 1. Weigth on the last element in arrays is 1.0, the 2nd to last element d, 3rd to last d^2, ... Recalculates every cell that depends upon any cell in the passed-in range. For example, if range is RangeInfo(1,1,2,2), and cells (5,6) and (12,17) hold formulas that reference the cells in the range, then cells (5,6) and (12,17) will be re-computed as the result of this call. RangeInfo object to be refreshed. Clears any variable names registered with the CalcEngine. Registers a list of variable names so you can use it within formulas. List of names. Swaps variable names for tokens. The formula holding variable names. The formula with tokens. Return the value of besseli1 value Return the value of the besselk1 value Return the value of besselk0 value A method to get submatrix for matrix function used internally. double Array - Matrix Matix rows Columns Matrix Return the value of between strings source string start end Gets the text of any formula at the given row and column of the ICalcData object. The ICalcData object. The one-based row in the grd object. The one-based col in the grd object. String containing the text of the formula. If the data item at row and column is not a formula, the return value is an empty string. Retrieves the current CalcEngine calculation level ID. Current calculation level ID. A method to reset the cached ICalcData object IDs. Resets the internal sheet token marker to 0. When RegisterGridAsSheet is called to add a ICalcData object to a CalcEngine, this newly added sheet is associated with an integer used in tokenizing formulas. This sheetID integer is required in the PullUpdatedValue method to specify the ICalcData object being accessed. The GetSheetID method allows you to retrieve a sheetID given an ICalcData object. This internal sheet token marker is a static member of CalcEngine, and is incremented each time a new ICalcData object is registered with the CalcEngine using RegisterGridAsSheet. Return the value of HandleIteration value formula Returns the number of days since 01 Jan 1900. Year, month, and day. Number of days. Returns the number of days since 01 Jan 1900. Text containing a date. Number of days. Returns the day of the serial number date. Serial number date. Day of the given date. Number of days between 2 dates using 360 day year. Serial number date1, serial number date1 and method. Days between the dates. returns the fraction of the year represented by the number of whole days between two given dates startDate, endDate, basis (optional) returns the fraction of the year Returns the number of days between two dates. startDate, endDate Returns the number of days returns the date of given date after the specific month startDate, months returns the date Returns the last date of the date after the specific month of given date. startDate, month return the date. Returns the week number of a specific date serial_number,start_day of week (optional) 1 or omitted - Sunday 2 Monday 11 Monday 12 Tuesday 13 Wednesday 14 Thursday 15 Friday 16 Saturday 17 Sunday 21 Monday returns the week number Returns ISO week number of the year for a given date date returns ISO week number returns the date of the given date after the number of working days startDate, days, holidays (optional) returns the date Returns the value of ComputeNetworkDays arguments Returns the number of whole workdays between two dates, week end and holidays are not consider as working days start_date, end_date,weekend (optional), holidays (optional) return the work days Returns the serial number of the given date before or after a specified number of workdays startDate, days, weekend (optional) , holidays (optional) return the serial number of specific date. Returns the hour of the given time. Given time. Hour of given time. Returns the minute of the given time. Given time. Minute of given time. Returns the second of the given time. Given time. Second of given time. Returns the month of the given date. given time Month of given date. Returns the current date and time as a date serial number. Parameter Ignored. Current date and time as serial number. Returns the current date as a date serial number. Parameter Ignored. Current date as date serial number. Returns a fraction of a day. Hour, minute, and second. Fraction of a day. Returns a fraction of a day. Time as a text string. Fraction of a day. Day of the week. Serial number date1 and return_type. Days between the dates. Returns the year of the given date. Given date. Month of given date. Returns the number of days or months or years between two dates. Start date, end date and unit. The number of days, months, or years between two dates. Calculates the Output to the concerned base. Data to be converted. Base of the Given Data Base to be obtained. The data concerning to the base in 'to' parameter Computes the Binary value for the given Decimal Number. Data to be converted. Returns the calculated Binary value. Computes the Octal value for the given Decimal Number. data to be converted. Returns the calculated Octal value. Computes the Hexadecimal value for the given Decimal Number. Data to be converted. Returns the calculated Hexadecimal value. Computes the Octal Number for the given binary NUmber. Input BinaryNumber The resultant Octal Number Computes the Decimal Number for the given binary NUmber. Input BinaryNumber The resultant Decimal Number Computes the Binary value for the given Hexadecimal Data. Data to be converted. Returns the calculated Binary value. Computes the Octal Equivalent for the given Hexadecimal value Data to be converted. The calculated Octal value for the given. Computes the Decimal Equivalent for the given Hexadecimal value Data to be converted. The calculated Decimal value for the given. Computes the Binary value for the given Octal Number. Data to be converted. Returns the calculated Binary value. Calculates the Hexadecimal equivalent value for the given Octal value Data to be converted. The Converted Hexadecimal value. Computes the Decimal Equivalent for the given Octal value The Value to be converted to Decimal The calculated value for the given Gets the Real part of the given Complex number. Given complex number. Real part of the given complex Number. Gets the Imaginary part of the given Complex number. Given complex number. Imaginary part of the given complex Number. Returns the absolute value (modulus) of a complex number in x + yi or x + yj text format. Input Complex Number The absolute value (modulus) of given complex number Computes the Product of the given Complex Numbers Input Complex Numbers The multiplied result of the two complex numbers. Obtains the complex number for the given real and imaginary part. Given real and Imaginary part. The complex number derived from the real and imaginary part. Computes the sum of two complex number. Parameter that is used for performing sum The calculated sum of the numbers Computes the Difference of two complex number. Parameter that is used for performing Subtraction The calculated difference of the numbers Returns the complex conjugate of a complex number in x + yi or x + yj text format. Input Complex Number The complex conjugate of a complex number in x + yi or x + yj text format. Computes the Division of the given Complex Numbers Input Complex Numbers The Divided result of the two complex numbers. Returns the Square Root of the given Complex Number. Input Complex Number The Square Root of the given Complex Number. Returns the argument (theta), an angle expressed in radians Input Complex Number The argument (theta), an angle expressed in radians Returns the IMSin of the given Complex Number. Input Complex Number The IMSin of the given Complex Number. Returns the Hyperbolic Sine value of the given Complex Number. Input Complex Number The Hyperbolic Sine Value of the given Complex Number. Returns the IMCSC of the given Complex Number. Input Complex Number The IMCSC of the given Complex Number. Returns the IMCos of the given Complex Number. Input Complex Number The IMCos of the given Complex Number. Returns the IMSEC of the given Complex Number. Input Complex Number The IMSEC of the given Complex Number. Returns the IMTan of the given Complex Number. Input Complex Number The IMTan of the given Complex Number. Returns the IMCot of the given Complex Number. Input Complex Number The IMCot of the given Complex Number. Returns the IMCSCH of the given Complex Number. Input Complex Number The IMCSCH of the given Complex Number. Returns the Hyperbolic Cos value of the given Complex Number. Input Complex Number The Hyperbolic Cos Value of the given Complex Number. Returns the IMTanH of the given Complex Number. Input Complex Number The IMTanH of the given Complex Number. Returns the IMCotH of the given Complex Number. Input Complex Number The IMCotH of the given Complex Number. Returns the IMSecH of the given Complex Number. Input Complex Number The IMSecH of the given Complex Number. Returns the LOG10 value of the given Complex Number. Input Complex Number The Log10 of the given Complex Number. Returns the Log2 of the given Complex Number. Input Complex Number The Log2 of the given Complex Number. Returns the LOG value of the given Complex Number. Input Complex Number The Log of the given Complex Number. Returns the Exponent of the given Complex Number. Input Complex Number The Exponent of the given Complex Number. Returns the power of the given Complex Number. Input Complex Number The power of the given Complex Number. Computes the Difference of two complex number. Parameter that is used for performing Subtraction The difference of two complex numbers in x + yi or x + yj text format. Computes the Bit OR of the given two numbers. Input Numbersfor which the OR operations has to be performed. Bit OR value of the given two numbers. Computes the Bit XoR of the given two numbers. Input Numbersfor which the OR operations has to be performed. Bit OR value of the given two numbers. Computes the Bit AND of the given two numbers. Input Numbersfor which the AND operations has to be performed. Bit AND value of the given two numbers. Computes the Bit Left Shift of the given number. Input Numbersfor which the OR operations has to be performed. Bit Left Shift value of the given number. Computes the Bit Right Shift of the given number. Input Numbersfor which the Bit Right Shift operations has to be performed. Bit Right Shift value of the given number. Returns the error function . Input Number The error function. Returns the Complement of error function . Input Number The Complement of error function. Returns the error function . Input Number The error function. Return the value of the ComputeBesselI arguments Return the value of besseli0 value Returns the BesselJ function of order n of the specified number. Input Number The BesselJ of the Number. Returns the Bessel function of order 1 of the specified number. Returns the Bessel function of order 0 of the specified number. Returns the BesselY function of order n of the specified number. Input Number The BesselY of the Number. Returns the Bessel function of the second kind, of order 0 of the specified number. Returns the Bessel function of the second kind, of order 1 of the specified number. Returns the value of ComputebesselK arguments list Returns the value of ComputeConversion arguments list Clears all look up caches used in HLookUp and VLookUp calculations so they will be recreated the next time one of these functions is used. Returns the value of Clearsheet Icalcdata Use this method to reset internal error strings if you make changes to . This method used to find the sheet id of the parsed grid. Intsance of ICalcData The sheet id of the grid Used to find the determinant internally for matrix function double array array length double value Returns the Probabilitydistribution of the normal distribution. Value at which the distribution is evaluated. Mean of the distribution. Standard deviation of the distribution. find the cofactor of matrix array length return the inverse matrix return success state To find the inverse of matrix matrix cofactor matrix matrix length Inveser matrix Inverse Matrix Chi-squared probability density function. The value at which the PDF is evaluated. Degress of freedom, or number independent standard normal distributions. Returns the inverse of the CDF of the normal distribution. Cumulative probability of the distribution. 0 <= p >= 1. Mean of the distribution. Standard deviation of the distribution. Returns the inverse of the CDF of the standard normal distribution. Cumulative probability of the distribution. p is between 0 and 1. Computes the net present value an investment. Delimited string containing the rate as percentage per period and a list of invested values. Net present value. Computes the payment for a loan. Delimited string containing the rate as percentage per period, number of periods, present value, future value, and payment type (0 = end of period, 1 = start of period). Payment amount. Computes the principal payment for a period. Delimited string containing the rate as percentage per period, the period, number of periods, present value, future value, and payment type (0 = end of period, 1 = start of period). Principal payment. Computes the present value of an investment. Delimited string containing the rate as percentage per period, number of periods, payment per period, future value, and payment type (0 = end of period, 1 = start of period). Present value. Compute the effective annual interest rate. the nominal annual interest rate and the number of compounding periods per year The effective annual interest rate. Computes the internal rate of return of a series of cash flows. Delimited string containing a range of cells and an initial guess. Internal rate of return. This IRR calculation uses Newton's method to approximate a root of f(r) = Sum( values[i]/(1+r)^i) = 0 where the Sum index is i = 1 to the number of values. The algorithm returns a value if the relative difference between root approximations is less than 1e-7. It fails if this accuracy is not attained in 20 iterations. Computes the straight-line depreciation of an asset per period. Delimited string containing the cost, salvage value, and life. Depreciation of the asset. Computes the sum of years digits depreciation of an asset per period. Delimited string containing the cost, salvage value, life, and period. Depreciation for the requested period. Computes the variable declining balance of an asset. Delimited string containing the initial cost, salvage value, life of asset, period of calculation, and factor. Variable declining balance. Converts a number to text using currency format. Number and the number of digits. Currency format string. Converts a number to text using currency format. Number and the number of digits. Currency format string. Returns the weighted average of the present value of the cash flows Number and the number of digits Number of years Calculates the accrued interest of a security that pays interest at maturity. Number and the number of digits Accrued interest Calculates the equivalent interest rate for the growth of an investment. Investment periods, present and future value of the investments. Returns the equivalent interest. Returns the future value of an initial principal after applying a series of compound interest rates. Number and the number of digits Number of future value Returns the interest rate for a fully invested security. Number and the number of digits Rate of interest Returns the discount rate for a security. Number and the number of digits Rate of Discount Computes the future value of an investment. Delimited string containing the rate as percentage per period, number of periods, payment per period, present value, and payment type (0 = end of period, 1 = start of period). Future value of the investment. Computes the interest payment for a period. Delimited string containing the rate as percentage per period, the period, number of periods, present value, future value, and payment type (0 = end of period, 1 = start of period). Interest payment. Computes the internal rate of return of a series of cash flows. Delimited string containing a range of cells and an initial guess. Internal rate of return. This IRR calculation uses Newton's method to approximate a root of f(r) = Sum( values[i]/(1+r)^i) = 0 where the Sum index is i = 1 to the number of values. The algorithm returns a value if the relative difference between root approximations is less than 1e-5. It fails if this accuracy is not attained in 20 iterations. Computes the internal rate of return for a schedule of possibly non-periodic cash flows. A list of two or three arguments. The first argument contains a range of cash flows, the second argument contains a list of corresponding date serial number values, and the third argument contains an initial guess at the return value. The internal rate of return. The computation uses a root finding algorithm. If the algorithm does not converge to a result within 100 iterations, an error is returned. The convergence requirement is an absolute error of 0.000001. The first date must be the earliest date, and the dates must be date serial numbers. Also, there must be at least one positive cash flow and at least one negative cash flow in the cash flow values. Computes the simple interest payment. Delimited string containing the rate as percentage per period, the period, number of periods, and present value. Simple interest payment. Computes the modified internal rate of return of a series of cash flows. Delimited string containing a range of cells, finance interest rate, and a reinvested interest rate. Modified internal rate of return. Computes the number of periods an investment. Delimited string containing the rate as percentage per period, payment per period, present value, future value, and payment type (0 = end of period, 1 = start of period). Number of periods. Computes the declining balance of an asset. Delimited string containing the initial cost, salvage value, life of asset, period of calculation, and months in the initial year. Declining balance. Computes the double declining balance of an asset. Delimited string containing the initial cost, salvage value, life of asset, period of calculation, and factor. Double declining balance. Returns the cumulative interest paid for an investment period with a constant interest rate. Number and the number of digits Number of interest rate Calculates the accrued interest of a security in the case of periodic payments. Number and the number of digits Accrued interest Returns the cumulative principal paid for an investment period with a constant interest rate. Number and the number of digits Cumulative principal value Returns the amount received at maturity for a fully invested security. Number and the number of digits Received amount this function used to obtain the address of a cell in a worksheet, given specified row and column numbers The argList contain the row and column postion and type of reference Address of the given row and column Return the information about cell content, reference Cell information Returns the current operation environment information Type environment information Returns the interger value for the datatype of given text text integer value Return the value of ComputeIsFormula arguments Returns a horizontal table look up value. Contains search value, table, return index and match properties. Matching value found in the table. For example, =HLOOKUP("Axles",A1:C4,2,TRUE) looks for the exact match for Axles in A1:C1 and returns the corresponding value in A2:C2. Finds the index a specified value in a lookup_range. look_value, lookup_range, match_type The relative index of the lookup_value in the lookup_range. Lookup_range should be a either a single row range or a single column range. If match_type is 0, the relative index of the first exact match (ignoring case) in the specified range is returned. If match_type is 1, the values in the range should be in ascending order, and the index of the largest value less than or equal to the lookup_value is returned. If match_type is -1, the values in the range should be in descending order, and the index of the smallest value greater than or equal to the lookup_value is returned. Below method is used to returns the cellrange while the lookup vector is cellrange and result vector is cell(eg:=LOOKUP(2,D7:I7,A1)). lookup vectors value. result vectors value. The default value is false.True when the resultant vector range from GetResultRange is modified. Returns the cellrange of result vector. Returns a value from result table either from a one-row or one-column range or from an array Lookup Value, lookup range, result range Matching value found in the table To get the result value of lookup formula. ResultVector cell range. lookup value Set to true if the resultant vector range from is modified or not. column index. lookup arguments list. lookup vector list Returns the result value of lookup formula. Returns a vertical table look up value. Contains search value, table, return index and match properties. Matching value found in the table. For example, =VLOOKUP("Axles",A1:C4,2,TRUE) looks for the exact match for Axles in A1:A4 and returns the corresponding value in B1:B4. Returns the left so many characters in the given string. Contains the string and the number of characters. A left sub string.. Returns the length of the given string. Contains the string. An integer length. Returns a substring of the given string. Contains the original string, start position of the substring, and the number of characters in the substring. A substring. Returns the right so many characters in the given string. Contains the string and the number of characters. A right substring. Returns True if the ParseArgumentSeparator character is included in a string. The string to be searched. True or False. Returns an array of strings from an argument list. A delimited argument list. Array of strings from an argument list. Returns a single character string. List of strings to be concatenated. A single string. Returns the reference specified by a text string. References are immediately evaluated to display their contents. Syntax: INDIRECT(CellRefString, [IsA1Style]) Cell reference string. Cell reference. In a given string, this method substitutes an occurrence of one string with another string. A list of 3 or 4 arguments: the original string, the search string, the replacement string, and optionally, an integer representing the occurrence to be replaced. The modified string. Returns a quoted string from a date or number. Value to be converted to a string. Quoted string. The TEXTJOIN function combines the text from multiple ranges and/or strings, and includes a delimiter you specify between each text value that will be combined. If the delimiter is an empty text string, this function will effectively concatenate the ranges. A text string, or array of strings, such as a range of cells. A single string. The CONCAT function combines the text from multiple ranges and/or strings, but it doesn't provide the delimiter or IgnoreEmpty arguments. Text item to be joined. A string, or array of strings, such as a range of cells. A single string. Returns a number. A date or number string. A number in the given string. Returns the remainder after dividing one number by another. Two numbers in a list. The remainder. Truncates a number to an integer. Value and number of digits. Truncated value. Returns the sum of the products of corresponding values. Two cell ranges. Sum of the products. Converts a number to text using currency format. Number and the number of digits. Currency format string. Rounds a number to the specified number of decimals, formats the number in decimal format using a period and commas, and return the result as text. Number, number of digits, a flag that prevents from include commas in the returned text. Formatted number as string. Returns the value at the specified index from a list of values. A string of the form "Index, Value1, Value2,..." in which the term 'Index' denotes the index of the value to be retrieved. The selected value. Converts text to lowercase. Value to convert. Converted string. Converts text to uppercase. Value to convert. Converted string. Returns the string or text referred by the given value. value to find the referred text - Required Returns the referred text Returns the column index of the passed in cell reference. Contains zero or one argument. If no argument is passed, returns the column index of the location of this Column function call, otherwise returns the column index of the passed in cell reference. The column index. Returns the row index of the passed in cell reference. Contains zero or one argument. If no argument is passed, returns the row index of the location of this Row function cell, otherwise returns the row index of the passed in cell reference. The row index. This method doesn't return an array of row numbers as the array formula entry is not supported in engine. It is another usecase of this library function. Returns a number converted from the provided value. Value to be converted. A number in string format or an error string. Returns the error value(#N/A). Used internally. empty string. error value. Returns the error value (#N/A - value not available). error value. Returns a number corresponding to the predefined error values(#NULL!, #VALUE!, #REF!, #NAME?, #NUM!, #N/A, "#GETTING_DATA). Returns #N/A if not or any value enclosed within double quotes. Removes all leading and trailing white-space characters. Value to trim. The string that remains after all leading and trailing white-space characters were removed. Determines whether the value is a logical value. Value to be tested. True if the value is a logical value, False otherwise. Determines whether the value is the #NA error value. Value to be tested. True if the value is the #NA error value, False otherwise. Returns True is the string denotes an error except #N/A. Value to be tested. True if the value is an error except #N/A, false otherwise. Determines whether the value is empty string. Value to be tested. True if the value is empty, False otherwise. Determines whether the value is string or not. Value to be tested. True if the value is a string, false otherwise. Determines whether the value is not a string. Value to be tested. True if the value is not a string, false otherwise. Returns True is the string denotes an error. String to be tested. True if the value is an error. Checks whether the value is a reference or not. value or reference TRUE or FALSE Returns the And of all values treated as logical values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. Each item in the list is considered True if it is nonzero and False if it is zero. A string holding the And of all values listed in the argument. The IFS function checks whether one or more conditions are met and returns a value that corresponds to the first TRUE condition. IFS can take the place of multiple nested IF statements, and is much easier to read with multiple conditions. A string holding [Something is True1, Value if True1, [Something is True2, Value if True2],…[Something is True127, Value if True127] Returns a value that corresponds to the first TRUE condition The SWITCH function evaluates an expression against a list of values and returns the result corresponding to the first matching value. If there is no match, an optional default value may be returned. A string holding expression, value1, result1, [default or value2, result2],…[default or value3, result3] Returns the result corresponding to the first matching value Returns the inclusive Or of all values treated as logical values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. Each item in the list is considered True if it is nonzero and False if it is zero. A string holding the Or of all values listed in the argument. Flips the logical value represented by the argument. The argument is treated as a logical expression with a non-zero value considered True and a zero value considered False. A string holding either a single argument consisting of a cell reference, formula, or number. Returns 0 if the argument evaluates to a non-zero value. Otherwise, it returns 1. Returns a range that is the offset of the reference range by rows and cols. reference, rows, cols, [height], [width] A range offset. The returned range is the range passed in through the reference variable offset by the number of rows in the rows variable and number of columns in the cols variable. If height and width are present in the argument list, they determine the number of rows and columns in the returned range. Otherwise, the dimensions of the returned range match the input range. Returns the logical value True. Empty string. Logical True value string. Returns the logical value False. Empty string. Logical False value string. Returns the exclusive OR of all values treated as logical values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. Each item in the list is considered True if it is nonzero and False if it is zero. A string holding the exclusive OR of all values listed in the argument. Returns a value you specify if a formula evaluates to #N/A otherwise, returns the result of the formula. String to be tested. Returns the computed value. Computes angle whose cosine is the argument. A cell reference, formula, or number. A string holding an angle whose cosine is the argument. Returns the Arabic value of Raman numeric Returns the area of the passed in cell reference range Contains one argument - reference area of the passed in cell reference. Computes angle whose sine is the argument. A cell reference, formula, or number. A string holding an angle whose sine is the argument. The inverse of Sinh. The given value. Result of ASinh(value). Computes angle whose tangent is the argument. A cell reference, formula, or number. A string holding the tangent of the argument. The ArcTangent of the x and y values. x_value and y_value. Angle whose tangent is y_value/x_value. The inverse of Tanh. |Value| < 1. Result of ATanh(value). Computes the smallest whole number greater than or equal to the argument. A cell reference, formula, or number. A string holding the smallest whole number greater than or equal to the argument. Returns the RoundUp of the given number to the given significance Number, significance, mode RoundUp number Returns the number of columns of the passed in cell reference. Contains one argument - reference number of columns. The number of combinations of a given number of items. Number, number_items. The number of combinations. Returns the value of ComputeCombinA arguments Computes the natural logarithm of the value in the argument. A cell reference, formula, or number. A string holding the natural logarithm of the value in the argument. Computes the base 10 logarithm of the value in the argument. A cell reference, formula, or number. A string holding the base 10 logarithm of the value in the argument. Computes e raised to the value of the argument. A cell reference, formula, or number. A string holding the e raised to the value of the argument. Returns the square root of product of given number with PI. Number Sqrtpi value of given number Computes the square root of the argument. A cell reference, formula, or number. A string holding the square root of the argument. Computes the absolute value of the argument. A cell reference, formula, or number. A string holding the absolute value of the argument. Computes the cosine of the argument. A cell reference, formula, or number. A string holding the cosine of the argument. The inverse of Cosh. Value >= 1. Result of ACosh(value). Returns an evenly distributed random number >= 0 and < 1. Ignored. Can be empty. A string holding the random number. Computes the tangent the argument. A cell reference, formula, or number. A string holding the tangent of the argument. Computes the hyperbolic tangent of the argument. A cell reference, formula, or number. A string holding the hyperbolic tangent of the argument. Checks if value of S mets the Criteria or Not. Operator Cell The String value to be compared True if Value of S equals Criteria Otherwise False Checks if value of S mets the Criteria or Not. Operator Cell The double value to be compare True if Value of S mets Criteria Otherwise returns False Sums the cells specified by some criteria. The criteria range, the criteria, and the sum range. A string holding the sum. Below method used to find the row,col index when the start row or start column is -1. Start row of the range. End row of the range. Start column of the range. End column of the range. Used to compute the value arguments Returns the arccotangent of a number. A cell reference or number A string containing the arccotangent of a number Returns the hyperbolic arccotangent of a number. A cell reference or number A string containing the hyperbolic arccotangent of a number Returns the archyperbolic secant of an angle. A cell reference or a number A string containing the archyperbolic secant of an angle Retuns the number into text for the given radix base Computes the hyperbolic cosine of the argument. A cell reference, formula, or number. A string holding the hyperbolic cosine of the argument. Returns the hyperbolic cosine of a number. A cell reference or a number A string containing the hyperbolic cosine of a number Returns the cotangent of an angle. A cell reference or a number A string containing the cotangent of an angle Returns the cosecant of an angle a cell reference or number A string containing the cosecant of an angle Returns the hyperbolic cosecant of an angle. A string containing the hyperbolic cosecant of an angle Returns the decimal number of the given text to the given base. text,base Decimal number. Converts radians into degrees. Value in radians. Degrees for the given radians. Rounds up to larger in magnitude even number. Number to be rounded. Rounded even value. Factorial of a given number. The given value, x. Factorial of x. Returns the Double factorial value for given number. number to find FactDouble FactDouble of given number. Computes the largest whole number less than or equal to the argument. A cell reference, formula, or number. A string holding the largest whole number less than or equal to the argument. Returns the Calculated Floor value for the given Input. Return the value of ComputeFormulaText arguments Returns the largest integer that divide the given numbers without any reminders. number1,number2,... Returns the GCD value of given arguments Create a shortcut for the link / path link,name shortcut name Returns the integer value. Number to be truncated. An integer. Determines whether the value is even or not. Value to be tested. True, if the value is even, false otherwise. Determines whether the string contains a number or not. String to be tested. True if the string is a number. Determines whether the value is odd or not. Value to be tested. True, if the value is odd, false otherwise. returns the smallest positive integer that is a multiple of all given values. Number1,Number2,... The LCM value of given aruments Computes the natural logarithm of the value in the argument. A cell reference, formula, or number. A string holding the natural logarithm of the value in the argument. Returns the number of columns of the passed in cell reference. Contains one argument - reference number of columns. Returns the number of columns of the passed in cell reference. Contains one argument - reference number of columns. Returns the number of columns of the passed in cell reference. Contains one argument - reference number of columns. Determines the number rounded to the given multiple. Number, Multible both are required Mround value of given number Determines the Multinominal value of given range of numbers. Given numbers Multinominal value of given range of numbers. Returns the number of columns of the passed in cell reference. Contains one argument - reference number of columns. Rounds up to larger in magnitude odd number. Number to be rounded. Rounded odd value. Returns the number pi. Ignored. Can be empty. A string holding the number pi. Returns a specified number raised to the specified power. String containing two parameters separated by commas: the first being base number, the second being the exponent. A string holding the value of the base number raised to the exponent. Returns the product of the arguments in the list. List of arguments. Product of the arguments. Returns the integer portion of division function. numerator, denominator to find the quotient returns integer value. Converts degrees into radians. Value in degrees. Radians for the given degrees. Returns the arabic numeral to roman in TEXT format Number, Form for style of roman text. 0 or omitted Classic. 1 More concise. 2 More concise. 3 More concise. 4 Simplified. TRUE Classic. FALSE Simplified. Retuns the Roman string of given numeric value based on the style form Rounds a number to a specified number of digits. Number and number of digits. Rounded number. Rounds a number to a specified number of digits. Number and number of digits. Rounded number. Rounds a number to a specified number of digits. Number and number of digits. Rounded number. Returns the number of rows of the passed in cell reference. Contains one argument. number of rows. Returns the secant of an angle. A cell reference, or number. A string conaining the secant of an angle Returns the hyperbolic secant of an angle. A cell reference, or number A string containing the hyperbolic secant of an angle. return the sheet number of the given value SheetName or cell or named range sheet number return the sheet number of the given values SheetName or cell or named range sheet number Returns a number indicating the sign of the argument. A cell reference, formula, or number. A string holding a number representing the sign of the argument. Computes the sine of the argument. A cell reference, formula, or number. A string holding the sine of the argument. Computes the hyperbolic sine of the argument. A cell reference, formula, or number. A string holding the hyperbolic sine of the argument. Returns the sum of all values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the sum of all values listed in the argument. Returns the sum of all the cells in a range which is statisfy the given multible criteria range of cells, criteria1, average_range1,... returns the sum value of the cells. Returns the sum of the square of all values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the sum of the squares of all values listed in the argument. Returns the sum of the differences of squares of the two ranges. x_range and y_range. A string holding sum of the differences of squares. Returns the sum of the sums of squares of the two ranges. x_range and y_range. A string holding sum of the sums of squares. Returns the sum of the squares of the differences between two ranges. x_range and y_range. A string holding sum of the squares of the differences. Returns the vertical range of cells as a horizontal range, or vice versa Cell refrences value Returns the value of computeTruncate arguments Returns a random integer number between the specified two numbers. StartNumber, EndNumber Random numberbetween two value Return the value of ComputeSeriessum arguments Adds a named range to the NamedRanges collection. The name of the range to be added. The range to be added. True if successfully added, otherwise False. The range should be a string such as A4:C8. Removes a range from the NamedRanges collection. The name of the range to be removed. True if successfully removed, otherwise False. Replaces NamedRanges with their values. Accepts a string such as Sin(SumRange) and tokenizes it into bqSIN[A1A4a]b which serves as input to ComputedValue. argList containing named ranges. Get the cell Range for table NameRange Formula or NamedRange cell range string Get the first row Index of Cell Range Cell Range to find index get the top row index This method is used to check the given text is Namedrange or not. Parsed string. returns the CellRange value if the parsed text is NamedRange Below method used to intersect the NamedRanges when the parsed formula contains space. A string holding a valid parsed formula. The intersected NamedRanges value. If the namerange intersects, returns true, else false. Find the next table formula or table Range end index i.e last index of '[' formula to find index location of start index to search the char '[' locatio of end index Returns the sample covariance between two arrays. Arrays should be of equal length, and contain more than one element. Returns the mean of an array. Array of data for which we are calculating the mean. Returns the mean of an array. Array of data for which we are calculating the mean. For time series, the last element (index = n-1), is the most recent. In most applications, the decay factor is between 0 and 1. Weigth on the last element in array is 1.0, the 2nd to last element d, 3rd to last d^2, ... Returns the inverse of the sum of a geometric series of length n, who's first element is 1. For decay factor d, S = 1 + d + d^2 + ... + d^(n-1). Return 1/S. Decay factor Typically between -1 adn +1. Number of elements in the geometric series, must be positive. Calculates the natural logarithm of gamma function. Returns the average deviation of all values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the average deviation of all values listed in the argument. Returns the simple average of all values (including text) listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the simple average of all values listed in the argument. Returns the average of all the cells in a range which is statisfy the given multible criteria range of cells, criteria1, average_range1,... returns the average value of the cells. Below method used to find the criteria value which is combined with tokens. Criteria value with tokens. Tokens The criteria value splited from tokens. Below method used to find whether the criteria is matched with the Tokens "=",">",">=" or not. CellRange Tokens("=",">",">=") The criteria used to determine which cells to add. true criteria match or false. Returns the chi-squared distribution. x, degrees of freedom. The chi-squared distribution. Returns the growth estimate using the exponential curve y = b * m^x that best fits the given points. Only the first two Excel parameters are used. Y_range, x_range. returns estimated value. Returns the m and b value used in exponential curve y = b * m^x. The set of y-values required in y = b*m^x The set of x-values in y = b*m^x output of b output of m returns calculated b value. Returns the natural logarithm of the gamma function. The value to be evaluated. The natural logarithm of the gamma function. Calculates the statistics for a straight line that explains the relationship between the independent variable and one or more dependent variables Parsed range. an array describing the line. The function uses the least squares method to find the best fit for your data. Returns the inverse of the chi-squared distribution. x, degrees of freedom. The inverse of the chi-squared distribution. Returns the Chi Test for independence. Actual_range, expected_range. Result of Chi Test: y-intercept. Returns the normal distribution. x, mean, standarddev, cumulative. The normal distribution. Cumulative should be either True if you want to return the value of the distribution function or False if you want to return the value of the density function. The distribution value is computed interactively using Trapezoidal Rule to six to seven significant digits or 20 iteration maximum. Returns the standard normal cumulative distribution function. The distribution has a mean of 0 (zero) and a standard deviation of one. Syntax: NORMSDIST(z) Z is the value for which you want the distribution. Standard normal cumulative distribution. Returns the inverse of normal distribution. P, mean, standard deviation. Returns x such that normal distribution at x is p. P should be between 0 and 1. Enabled only when ExcelLikeComputations property is set to true. Computes the inverse normal cumulative distribution for the given probability. probability a double value. Returns the inverse of the standard normal cumulative distribution. The distribution has a mean of zero and a standard deviation of one. Syntax: NORMSINV(p) p is a probability corresponding to the normal distribution. Inverse of standard normal cumulative distribution. p should be between 0 and 1. Returns a confidence interval radius. Alpha, standard deviation, size. Returns x such that normal distribution at x is p. P should be between 0 and 1. Returns the correlation coefficient of the two sets of points. range1, range2. Correlation coefficient. Returns the count of all values (including text) listed in the argument to evaluate to a number. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the count of all numerical values listed in the argument. Returns the count of all values (including text) listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the count of all values listed in the argument. Returns the count of blank cells listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the count of blank cells listed in the argument. Counts the cells specified by some criteria. The criteria range, the criteria. Number of cells meeting the criteria. Calculates the CountIF and CountIFS formula The criteria range, the criteria If true, calculate CountIF formula. Else calculate CountIFS formula. Number of cells meeting the criteria. The COUNTIFS function applies criteria to cells across multiple ranges and counts the number of times all criteria are met. The criteria range, the criteria. Number of cells meeting the criteria Returns the covariance between the two sets of points. range1, range2. The covariance. Returns the smallest value for which the cumulative binomial distribution is greater than or equal to a criterion value. Number of trials, probability, alpha. Returns the critical value. Returns the exponential distribution. x, lambda, cumulative. The exponential distribution. Cumulative should be either True if you want to return the value of the distribution function or False if you want to return the value of the density function. Returns the F (Fisher) probability distribution. x, degreesfreedom1, degreesfreedom2. Returns the F probability distribution. Returns the inverse of F distribution. p, degreesfreedom1, degreesfreedom2. Returns x such that F distribution at x is p. P should be between 0 and 1. Returns the Fisher transformation of the input variable. Input variable x. Fisher transformation of x. X should be between -1 and 1. Returns the inverse of Fisher transformation. Input variable y. The value x such that the Fisher transformation y is x. Returns a forecasted value based on two sets of points using least square fit regression. x, rangex, rangey. Forecasted value. Returns the kurtosis of the passed in values. A string holding a list (separated by commas) of cell references, formulas, or numbers. The kurtosis of the data. Returns the Kth largest value in the range. range, k. Kth largest value. Returns the lognormal distribution. x, mean, standarddev. The lognormal distribution. Returns the inverse of the lognormal distribution. p, mean, standarddev. Returns the value x where the lognormal distribution of x is p. Returns the maximum value of all values listed in the argument including logical values. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the maximum value of all values listed in the argument. True is treated as 1; False is treated as 0. Returns the median value in the range. A string holding a list (separated by commas) of cell references, formulas, or numbers. Median value. Returns the minimum value of all values listed in the argument including logical values. A string holding a list (separated by commas) of: cell references, formulas, or numbers. A string holding the minimum value of all values listed in the argument. True is treated as 1; False is treated as 0. Returns the most frequent value in the range. A string holding a list (separated by commas) of cell references, formulas, or numbers. The most frequent value. Returns the negative binomial distribution. Number of failures, success threshold, probability, cumulative. The negative binomial distribution. Returns the Pearson product moment correlation coefficient. Range1, range2. Pearson product. Returns the percentile position in the range. Range, k. Percentile position. K is a value between 0 and 1. Returns the percentile position in the ranges. This method used only for contional formatting to calculate the percentile value. When the argument contains more no of cell reference. Ranges, k. Percentile position. K is a value between 0 and 1. Returns the percentage rank in the range. Range, x, significant digits. Percentile position. Significant digits are optional, defaulting to 3. The number of permutations of n items taken k at the time. n, k The number of combinations. Returns the Poisson distribution. x, mean, cumulative Returns the exponential distribution. Cumulative should be either True if you want to return the value of the distribution function or False if you want to return the value of the density function. Returns the probability that a value in the given range occurs. xrange1, prange2, lowerbound, upperbound. The probability. Returns the quartile position in the range. Range, q. Percentile position. Q is 0, 1, 2, 3, 4. Returns the rank of x in the range. X, range, order. Rank of x. Returns the square of the Pearson product moment correlation coefficient. Range1, range2. Square of the Pearson product. Returns the skewness of a distribution. A string holding a list (separated by commas) of cell references, formulas, or numbers. Skewness of a distribution. Returns the slope of the least square fit line through the given points. Y_range, x_range. Y-intercept for the given points. Returns the kth smallest value in the range. Range, k. Kth smallest value. Returns a normalized value. X, mean, stddev. Normalized value. Returns the sample standard deviation. A string holding a list (separated by commas) of cell references, formulas, or numbers. The sample standard deviation. Returns the sample standard deviation. A string holding a list (separated by commas) of cell references, formulas, or numbers. The sample standard deviation. Treats True as 1; False as 0. Returns the sample standard deviation. A string holding a list (separated by commas) of cell references, formulas, or numbers. The sample standard deviation. Treats True as 1; False as 0. Returns the population standard deviation. A string holding a list (separated by commas) of cell references, formulas, or numbers. The population standard deviation. Returns the population standard deviation. A string holding a list (separated by commas) of cell references, formulas, or numbers. The population standard deviation. Treats True as 1; False as 0. Returns the standard error of the least square fit line through the given points. Y_range, x_range. Standard error. Returns the mean of the range after removing points on either extreme. Range, percent. Kth smallest value. Returns sample variance of the listed values. A string holding a list (separated by commas) of cell references, formulas, or numbers. The sample variance. Returns sample variance of the listed values. A string holding a list (separated by commas) of cell references, formulas, or numbers. The sample variance. True is treated as 1; False is treated as 0. Returns population variance of the listed values. A string holding a list (separated by commas) of cell references, formulas, or numbers. The population variance. Returns population variance of the listed values. A string holding a list (separated by commas) of cell references, formulas, or numbers. The population variance. True is treated as 1; False is treated as 0. Returns the Weibull distribution. X, alpha, beta, cumulative. The Weibull distribution. Returns the one-tailed probability value of a Z test. Range, mu, sigma. Kth smallest value. Returns the maximum value of all values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the maximum value of all values listed in the argument. The MINIFS function returns the minimum value among cells specified by a given set of conditions or criteria. range of cells, criteria1, average_range1,... returns the Minimum value of the cells. The MAXIFS function returns the maximum value among cells specified by a given set of conditions or criteria. range of cells, criteria1, average_range1,... returns the Maximum value of the cells. Returns the subtotal of input range(s). A list of cell references(seperated by commas) Subtotal of range(s) Returns the minimum value of all values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the minimum value of all values listed in the argument. Returns the simple average of all values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. A string holding the simple average of all values listed in the argument. Returns the harmonic mean of all values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. The harmonic mean all values listed in the argument. Returns the hypergeometric distribution. Number of sample successes, number of sample, number of population successes, number of population. Returns the gamma distribution. Returns the hypergeometric distribution. Number of sample successes, number of sample, number of population successes, number of population. Returns the gamma distribution. Conditionally computes one of two alternatives depending upon a logical expression. The first argument is treated as a logical expression with a non-zero value considered True and a zero value considered False. The value of only one of the alternatives is computed depending upon the logical expression. A string holding a list of three arguments. Returns a string holding the second argument if the first argument is True (non-zero). Otherwise, it returns a string holding the third argument. Returns a value you specify if a formula evaluates to an error otherwise, returns the result of the formula. String to be tested. Retuns the error string Returns the y-intercept of the least square fit line through the given points. y_range, x_range. y-intercept for the given points. Returns the binomial distribution. Number of successes, number of trials, probability, cumulative. The binomial distribution. Returns the skewness of a distribution based on a population a characterization of the degree of asymmetry of a distribution around its mean. numbers or names, arrays, or reference that contain numbers Skewness of a distribution. Returns population covariance, the average of the products of deviations for each data point pair in two data sets. range1, range2. The covarianceP Returns the sample covariance, the average of the products of deviations for each data point pair in two data sets. range1, range2. The covariances Returns the percentile position in the range. Range, k. Percentile position. K is a value between 0 and 1. Returns the percentage rank Exc in the range. Range, x, significant digits. Percentile position. Significant digits are optional, defaulting to 3. Returns the percentile position in the range. Range, k. Percentile position. K is a value between 0 and 1. Returns the percentage rank Inc in the range. Range, x, significant digits. Percentile position. Significant digits are optional, defaulting to 3. Returns the sample standard deviation. A string holding a list (separated by commas) of cell references, formulas, or numbers. The sample standard deviation. Treats True as 1; False as 0. Returns sample variance of the listed values. A string holding a list (separated by commas) of cell references, formulas, or numbers. The sample variance. Calculates variance based on the entire population (ignores logical values and text in the population). A string holding a list (separated by commas) of cell references, formulas, or numbers. The sample variance. Returns the number of permutations for a given number of objects (with repetitions) that can be selected from the total objects. n, k The number of combinations. Returns the normal distribution for the specified mean and standard deviation. x, mean, standarddev, cumulative. The normal distribution. Cumulative should be either True if you want to return the value of the distribution function or False if you want to return the value of the density function. Returns the inverse of the normal cumulative distribution for the specified mean and standard deviation. P, mean, standard deviation. Returns x such that normal distribution at x is p. P should be between 0 and 1. Returns the standard normal cumulative distribution function. The distribution has a mean of 0 (zero) and a standard deviation of one. Syntax: NORMSDIST(z) Z is the value for which you want the distribution. Standard normal cumulative distribution. Returns the PDF of the standard normal distribution. Value at which the distribution is evaluated. Returns the CDF of the standard normal distribution. Value at which the distribution is evaluated. Returns the PDF of the standard normal distribution. Value at which the distribution is evaluated. Returns the CDF of the standard normal distribution. Value at which the distribution is evaluated. Returns the inverse of the CDF of the standard normal distribution. Cumulative probability of the distribution. p is between 0 and 1. Returns the inverse of the standard normal cumulative distribution. The distribution has a mean of zero and a standard deviation of one. Syntax: NORMSINV(p) p is a probability corresponding to the normal distribution. Inverse of standard normal cumulative distribution. p should be between 0 and 1. Calculates the Weibull Probability Density Function or the Weibull Cumulative Distribution Function for a supplied set of parameters. x, alpha, beta, cumulative. Returns the calculated weibull distribution. cumulative = A logical argument which denotes the type of distribution to be used TRUE = Weibull Cumulative Distribution Function FALSE = Weibull Probability Density Function Returns the exponential distribution. x, lambda, cumulative. The exponential distribution. Cumulative should be either True if you want to return the value of the distribution function or False if you want to return the value of the density function. Used to calculate the inverse of gamma cummulative distribution Used to calculate the inverse gamma distribution at inital stage. Used to calculate the inverse gamma distribution at middle stage. Used to calculate the inverse gamma distribution at final stage. Used to calculate the upper incomplete integral of inverse gamma function. Used to calculate the lower incomplete integral of gamma function. Used to calculate the upper incomplete integral of gamma function. Used to calculate the CDF(Cummulative Distribution Function) of Gamma distribution. Alpha Beta Used to calculate the PDF(Probability Distribution Function) of Gamma distribution. Alpha Beta Returns the gamma distribution. X, alpha, beta, cumulative. The gamma distribution. X, alpha, and beta should be positive real numbers. Cumulative should be either True if you want to return the value of the distribution function or False if you want to return the value of the density function. The distribution value is computed interactively using Trapezoidal Rule to six to seven significant digits or 20 iteration maximum. Returns the inverse of gamma distribution. p, alpha, beta Returns x such that gamma distribution at x is p. P, alpha, and beta should be positive real numbers, with p between 0 and 1. Returns the geometric mean of all values listed in the argument. A string holding a list (separated by commas) of cell references, formulas, or numbers. The geometric mean all values listed in the argument. Returns the gamma distribution. X, alpha, beta, cumulative. The gamma distribution. X, alpha, and beta should be positive real numbers. Cumulative should be either True if you want to return the value of the distribution function or False if you want to return the value of the density function. The distribution value is computed interactively using Trapezoidal Rule to six to seven significant digits or 20 iteration maximum. Returns the inverse of gamma distribution. p, alpha, beta Returns x such that gamma distribution at x is p. P, alpha, and beta should be positive real numbers, with p between 0 and 1. Returns the natural logarithm of the gamma function. The value to be evaluated. The natural logarithm of the gamma function. Returns the Student's t-distribution. x, degreesfreedom1. Returns the Student's t-distribution. Returns the inverse of the CDF of the Student's t distribution. For k = 3, and 5+ the solution is an approximation. Cumulative probability of the distribution. p is between 0 and 1. Degrees of freedom. Returns the PDF of Student's t distribution. Value at which the distribution is evaluated. Degrees of freedom. Returns the CDF of Student's t distribution. Value at which the distribution is evaluated. Degrees of freedom. Returns the inverse of F distribution. p, degreesfreedom1, degreesfreedom2. Returns x such that F distribution at x is p. P should be between 0 and 1. Returns the smallest value for which the cumulative binomial distribution is greater than or equal to a criterion value. Number of trials, probability, alpha. Returns the critical value. Returns the inverse of the lognormal distribution. p, mean, standarddev. Returns the value x where the lognormal distribution of x is p. Returns the lognormal distribution. x, mean, standarddev. The lognormal distribution. Returns a confidence interval radius. Alpha, standard deviation, size. Returns x such that normal distribution at x is p. P should be between 0 and 1. Returns the chi-squared distribution. x, degrees of freedom. The chi-squared distribution. Returns the F probability distribution. x, degreesfreedom1, degreesfreedom2. Returns the F probability distribution. Returns the PDF of the F distribution. Value at which the distribution is evaluated. Degrees of freedom for numerator chi-sqared distribution. k1 > 0. Degrees of freedom for denominator chi-sqared distribution. k2 > 0. Returns the CDF of the F distribution. Value at which the distribution is evaluated. Degrees of freedom for numerator chi-sqared distribution. Degrees of freedom for denominator chi-sqared distribution. Euler integral. Integral from 0 to infinity of e^(-t) * t^(z-1) dt If z > 143 the return value will exceed the double.MaxValue. The function will throw an exception. To get the CDF of the beta distribution. Euler integral. Returns the F (Fisher) probability distribution. x, degreesfreedom1, degreesfreedom2. Returns the F probability distribution. Returns the chi-squared distribution. x, degrees of freedom. The chi-squared distribution. Returns the inverse of the chi-squared distribution. x, degrees of freedom. The inverse of the chi-squared distribution. Returns the Chi Test for independence. Actual_range, expected_range. Result of Chi Test: y-intercept. Returns the inverse of the chi-squared distribution. x, degrees of freedom. The inverse of the chi-squared distribution. Returns the binomial distribution. Number of successes, number of trials, probability, cumulative. The binomial distribution. Returns the one-tailed probability value of a Z test. Range, mu, sigma. Kth smallest value. Returns the rank of x in the range. X, range, order. Rank of x. Returns the rank of x in the range. X, range, order. Rank of x. The Irwin-Hall distribution results from the sum on n independent standard uniform variables The value at which to evaluate the distribution. The Irwin-Hall distribution results from the sum on n independent standard uniform variables The value at which to evaluate the distribution. The number of standard uniform variables. Returns the number of possible combinations of k objects from a set of n object. The order of the chosen objects does not matter. Number of objects Number of objects chosen Returns n! 0! = 1,otherwise n! = n * (n-1) * (n-2) * ... * 2 * 1, Returns the PDF of the uniform distribution. Number of successes, number of trials, probability, cumulative. The binomial distribution. Returns the PDF of the uniform distribution. Value at which the distribution is evaluated. Minimum value of the distribution. Maximum value of the distribution. Returns the quartile position in the range. Range, q. Percentile position. Q is 0, 1, 2, 3, 4. Returns the quartile position in the range. Range, q. Percentile position. Q is 0, 1, 2, 3, 4. Returns the negative binomial distribution. Number of failures, success threshold, probability, cumulative. The negative binomial distribution. Returns the Poisson distribution. x, mean, cumulative Returns the exponential distribution. Cumulative should be either True if you want to return the value of the distribution function or False if you want to return the value of the density function. Compares the given two values Two Numbers to be compared. Returns the result of the comparision in the form of 0 or 1 Compares the given two values Two Numbers to be compared. Returns the result of the comparision in the form of 0 or 1 Returns the sum of the squares of the mean deviations. A string holding a list (separated by commas) of cell references, formulas, or numbers. Sum of the squares of the mean deviation. Returns the average of all the cells in a range which is statisfy the given single criteria range of cells, criteria, average_range returns the average value of the cells. Return the value of ComputeConfidenceT arguments Returns the inverse of F distribution. p, degreesfreedom1, degreesfreedom2. Returns x such that F distribution at x is p. P should be between 0 and 1. Returns a vertical array of the most frequently occurring, or repetitive values in an array or range of data. A string holding a list (separated by commas) of cell references, formulas, or numbers. The most frequent value. Returns the most frequent value in the range. A string holding a list (separated by commas) of cell references, formulas, or numbers. The most frequent value. Returns the Student's t-distribution. x, degreesfreedom1. Returns the Student's t-distribution. Returns the beta distribution. x, degreesfreedom1, degreesfreedom2. Returns the beta distribution. Returns the Beta cumulative density function. Value of the random variable for which the CDF is beign evaluated. x is between 0 and 1. First shape parameter. Second shape parameter. Returns the Beta probability density function. Value of the random variable for which the PDF is beign evaluated. x is between 0 and 1. Number of trials. Number of times the event occurs in n trials. Return the value of TranslateText value language Return the numeric code for first char of text text numeric code Finds the first occurrence of one string in another string. Conatins two or three arguments. The first argument is the string to find. The second string is the string that is being searched. The third argument is the start location in the second string for the search. The location of the found string. Returns the left so many characters in the given string. Contains the string and the number of characters. A left sub string.. Used to compute the JIS function arguments Returns the length of the given string. Contains the string. An integer length. Returns a substring of the given string. Contains the original string, start position of the substring, and the number of characters in the substring. A substring. Returns the right so many characters in the given string. Contains the string and the number of characters. A right substring. Convert the text to number text, decimal separator,group separator Returns the text like first letter with upper letter in each word Text proper text Replace the part of the text with a new text from orginal text Text,Start index, Number of char to replace, new text replaced string Returns the number of repeated text text, repeated count text Returns the number of the starting position of the first string from the second string. first strring, second string and starting position index of the string Returns the Unicode char for the respective numeric value Number unicode char Returns the corresponding number code for the first char of string. text numeric code Returns the character whose number code is specified in the argument. The number used to retrieve the character. The character string. Retuns the text removing the first 32 nonprintable characters(ranging from 0 to 31) in 7-bit ASCII code. Text or range holding text including nonprintable characters Text without nonprintable characters(first 32) Returns whether or not the two arguments passed in are exactly the same. A string holding two arguments (separated by commas) of cell references, strings, formulas, or numbers. True if the arguments are exactly the same ignoring formats, false other wise. Finds the first occurrence of one string in another string. Conatins two or three arguments. The first argument is the string to find. The second string is the string that is being searched. The third argument is the start location in the second string for the search. The location of the found string. The location count starts at 1. If the third argument is missing, it defaults to 1. If the first string does not appear in the second string, #VALUE! is returned. The searches are done in a case sensitive manner. Returns the value at a specified row and column from within a given range. look_range, row, col The value. Only the array form of this function is supported. Returns the number of the starting position of the first string from the second string. first strring, second string and starting position index of the string Return the XML content of the given document web link XML data Returns the encode url of the given text text returns the EncodeURL Filter the value from XML document XML content value Occurs whenever a string needs to be tested to determine whether it should be treated as a formula string and parsed, or be treated as a non-formula string. This event allows for preprocessing the unparsed formula. This event may be raised more than once in the processing of a string into a formula. Occurs whenever an unknown function is encountered during the parsing of a formula. This event may be raised more than once in the parsing of a formula. Occurs whenever an UpdateNamedRange function is encountered during the parsing of a formula. This event may be raised more than once in the parsing of a formula. Occurs when the formula computes the values. This event may be raised more than once in the computation of a formula. Gets of sets whether the CalcEngine treats nonempty strings as zeros when they are encountered during calculations. The default value is true meaning that if a nonempty string is encountered during an arithmetic operation, it will be treated as zero. This property is used to return the cell ranges for print area calculation. Specifies the maximum number of recursive calls that can be used to compute a cellvalue. This property comes into play when you have a calculated formula cell that depends on another calculated formula that depends on another calculated formula and so on. If the number of 'depends on another formula' exceeds MaximumRecursiveCalls, you will see a Too Complex message displayed in the cell. The default value is 100, but you can set it higher or lower depending upon your expected needs. The purpose of the limit is to avoid a circular reference locking up your application. Indicates whether formulas are immediately calculated as dependent cells are changed. Use this property to suspend calculations while a series of changes are made to dependent cells either by the user or programmatically. When the changes are complete, set this property to False, and then call Engine.RecalculateRange to recalculate the affected range. See the sample in GridCellFormulaModel.CalculatingSuspended. A read-only property that gets a collection holding the current library functions. This property gives you direct access to all library functions. The function name serves as the hash key and the function delegate serves as the hash value. The function name should contain only letters, digits or an underscore. You should use the method to add functions to this collection. Do not use the Add method inherited from Hashtable. The reason is that the hash key needs to be strictly upper case even though formula syntax is case insensitive with respect to functions names. Using the AddFunction method makes sure the hash key is properly set. A property that gets/sets whether strings concatenated using the '&' operator should be returned inside double quote marks. A property that is used to identify whether the exception thrown or not while calculating the value. Gets any Exception raised during the computation of a library function provided RethrowLibraryComputationExceptions is set true. Use the method to set this property to null to indicate that there is no pending library exception within the engine. Gets / sets whether the engine Rethrows any exception raised during the computation of a library function. The default value is false. A property that gets or sets the calculations of the computations to mimic the computations of Excel. Gets or sets the maximum calculation stack depth. The default is 50. This is the number of recursive calls that can be made during calculations. Gets or sets a string array that hold the reserved strings that will be used for the OR, AND, XOR, IF, THEN, ELSE and NOT logical operators. Here is the code that you can use to define this string array. This code shows the default strings that are used. Note that the string must include a leading and trailing blank, and must be lower case. In formulas that use these operators, the formulas themselves are case agnostic. engine.ReservedWordOperators = new string[] { " or ", //0 " and ", //1 " xor ", //2 " if ", //3 " then ", //4 " else ", //5 " not " //6 }; A static property that gets/sets character by which string starts with, can be treated as formula. Enables / disables using row = 0 in formulas to represent the current row. When this property is set True, entering zero as a row in a formula is interpreted to be the current row. Using the current row notation allows you to sort a column in the grid and maintain the relative formula. After sorting, you do have to call engine.RecalculateRange to allow the relative formulas to reset themselves. Below property is used to find the active function name. Gets the cell that is being calculated by the Engine. You can use this properly within your custom functions to identify the item in the ICalcData object being computed. Gets or sets whether IF function calculations should specifically avoid computing the non-used alternative. The default value is false for code legacy consistency. When AllowShortCircuitIFs is set true, only the necessary alternative of an IF function is computed. To support this behavior, a change in how nested IF function calculations are done is necessary. The default way of calculating nested functions is inside-out, with the inner most functions being computed to a value before the next outer function is evaluated. To support short circuiting IF functions, nested IF functions need to be computed from the outside-in to know what alternative needs to be evaluated. This outside-in calculation pattern only applies to IF functions, and only when AllowShortCircuitIFs is true. Gets or sets whether FormulaInfo.calcID is tested before computing a formula during a call to When a value changes, then the Refresh method is called on any other formula that had a dependency on the changed value. During the Refresh call, the default behavior is to recompute all formulas (AlwaysComputeDuringRefresh = true). If you are using to strictly control when new values should be used, then you should set this property to false. For example, if you are only using exclusively to retrieve computed values, then setting AlwaysComputeDuringRefresh = false may be more efficient as it will only recompute the value once during the calculations. A property that gets/sets whether Formula returns its FormulaValue instead of repeated calculation Use this property to return the FormulaValue when a cell contain more depency cells. Gets or sets whether Invalid Formula is returned when the calculation stack is not fully exhausted during a calculation. If you enter a formula like "=(1+2)(9+8)", Essential Calculate will compute this formula as 17, ignoring the dangling 3 value on its calculation stack. If you want this situation flagged as a Invalid Formula, set this CheckDanglingStack property to true. The default value is false for backward compatibility purposes. Used with row ranges to possibly provide the upperlimit on the number of columns in the ICalcData object. Essential Calculate supports column ranges of the form 2:4 as in =SUM(2:4) to represent all cells in rows 2, 3 and 4 from a ICalcData object. To get a value for the number of columns, the CalcEngine first checks to see if the ICalcData object supports the ISheetData interface. If this interface is supported, the column count used to determine the range is obtained through this interface. If the ICalcData object does not support ISupportColumnCount, then the value of ColumnMaxCount is used provided ColumnMaxCount > 0. If not, the fixed value 50 is used. Gets or sets whether the IF function implementation is called when is true. The default behavior is to not call the IF Function code in the library, but instead, work directly with the IF clauses. Gets or sets whether must be called on every cells whenever the is triggered. The default value is false. When a value changes, then the Refresh method is called recursively every time the grid_ValuChanged is called. Setting this ForceRefreshCall to false will call Refresh for only those cells where the calculated value is actually modified. A read-only property that gets the collection of FormulaInfo objects being used by the CalcEngine. Gets or sets whether leading zeros are preserved in a call to . If the value of arg is "0123" or a cell reference like A1 where A1 holds 0123, then the default behavior is for GetValueFromArg(arg) to return 123, stripping away any leading zeros. If you want calls to GetValueFromArg to preserve the leading zeros, then set GetValueFromArgPreserveLeadingZeros to true. Gets or sets the maximum number of iterative calls that can be made on a cell. will be set to true when you set IterationMaxCount to any value other than zero. Essential Calculate supports an iterative process to solve equations of the form x=f(x). Here you should think of x as being a cell reference like B2 for example. Setting IterationMaxCount to some value other than zero allows the engine to iteratively compute f(x) using the previous iteration's calculated value for x. The initial value is either 0 or the last saved value for a formula in that cell (if the calculation has been performed previously). The iterations continue until either the iteration count exceeds IterationMaxCount, or two successive iteration return values have a relative difference less than IterationMaxTolerance. For example, to have an initial value of 1, you can enter a formula =1 into the cell, and then enter the self referencing formula into the same cell. This will make the iterative calculations start at 1 instead of 0. must be set to true in order for the Iterative Calculation support to function For this reason, ThrowCircularException will be automatically set to true when you set a non-zero value to IterationMaxCount. The default value is 0 indicating that iterative calculation support is turned off. Gets or sets the success tolerance used by the CalcEngine's iterative calculation support. Essential Calculate supports an iterative process to solve equations of the form x=f(x). Here you should think of x as being a cell reference like B2 for example. Setting IterationMaxCount to some value other than zero allows the engine to iteratively compute f(x) using the previous iteration's calculated value for x. The initial value is either 0 or the last saved value for a formula in that cell (if the calculation has been performed previously). The iterations continue until either the iteration count exceeds IterationMaxCount, or two successive iteration return values have a relative difference less than IterationMaxTolerance. The default value is 0.001. A property that gets / sets whether a changed value should trigger dependent changes. Used with column ranges to possibly provide the upperlimit on the number of rows in the ICalcData object. Essential Calculate supports column ranges of the form A:D as in =SUM(A:D) to represent all cells in columns A, B, C and D from a ICalcData object. To get a value for the number of rows, the CalcEngine first checks to see if the ICalcData object supports the ISheetData interface. If this interface is supported, the row count used to determine the range is obtained through this interface. If the ICalcData object does not support ISupportRowCount, then the value of RowMaxCount is used provided RowMaxCount > 0. If not, the fixed value 50 is used. Gets or sets whether OR, AND, XOR and IF THEN ELSE logical operators are supported. The default value is false for backward compatibility. Gets or sets whether ranges can be used as binary operands. If this property is true, Essential Calculate recognizes ranges such as B1:B5 and A4:E4 as operands of binary operators. So, if you set the formula = A1:A5 + B1:B5 into cell C4, the calculation will retrieve the values in A4 and B4 to be used in place of the corresponding ranges A1:A5 and B1:B5. Note that such ranges must either have one column wide or one row tall. This fact is used to make the corresponding lookup determined by where the host cell that holds the formula is located. This host cell must either be in the same row or column as some cell in range. The default value is false. Gets or sets whether sheet range notation is supported. Excel supports sheet range notation such as = SUM( sheet1:sheet3!A1 ) + Sum( sheet1:sheet3!B1:B4 ). For backward compatibility with earlier versions that did not support this sheet range notation, you can set this SupportsSheetRanges false. This implementation replaces a sheet range (sheet1:sheet3!B1:B4) with list of ranges (sheet1!B1:B4,sheet2!B1:B4,sheet3!B1:B4). Gets / sets whether the CalcQuick should throw an exception when a circular calculation is encountered. If this property is True, the CalcQuick will throw an exception when it detects a circular calculation. If ThrowCircularException is False, then no exception is thrown and the calculation will loop recursively until Engine.MaximumRecursiveCalls is exceeded. A property that gets / sets whether the CalcEngine should track dependencies. If you are using the CalEngine in a manner where you always call PullUpdatedValue to access the computations, then setting UseDependencies to False will make things more efficient as any requested computed value will be fully computed every time it is retrieved. In this situation, the CalcEngine does not need to track dependencies. For internal use. Gets or sets a value indicating whether [preserve formula]. true if [preserve formula]; otherwise, false. A static property that gets/sets character to be recognized by the parsing code as the delimiter for arguments in a named formula's argument list A static property that gets/sets the character to be recognized by the parsing engine as decimal separator for numbers. A static property that gets/sets the character to be recognized by the parsing engine as decimal separator for date. A property that gets/sets list of # error strings recognized by Excel. A read-only property that gets a mapping between a cell and a list of formula cells that depend on it. The key is the given cell, and the value is a ArrayList of cells containing formulas that reference this cell. Here is code that will list formula cells affected by changing the given cell. public void DisplayAllAffectedCells() { CalcEngine engine = ((GridFormulaCellModel)this.gridControl1.CellModels["FormulaCell"]).Engine; foreach(object o in engine.DependentCells.Keys) { string s1 = o as string; Console.Write(s1 + " affects "); ArrayList ht = (ArrayList) engine.DependentCells[s1]; foreach(object o1 in ht) { string s2 = o1 as string; Console.Write(s2 + " "); } Console.WriteLine(""); } } Public Sub DisplayAllAffectedCells() Dim engine As GridCalcEngine = CType(Me.gridControl1.CellModels("FormulaCell"), GridFormulaCellModel).Engine Dim o As Object For Each o In engine.DependentCells.Keys Dim s1 As String = CStr(o) Console.Write((s1 + " affects ")) Dim ht As ArrayList = CType(engine.DependentCells(s1), ArrayList) Dim o1 As Object For Each o1 In ht Dim s2 As String = CStr(o1) Console.Write((s2 + " ")) Next o1 Console.WriteLine("") Next o End Sub 'DisplayAllAffectedCells A read-only property that gets a mapping between a formula cell and a list of cells upon which it depends. The key is the given formula cell and the value is a Hashtable of cells that this formula cell references. Here is code that will lists formula cells affected by changing a given cell: public void DisplayAllFormulaDependencies() { GridCalcEngine engine = ((GridFormulaCellModel)this.gridControl1.CellModels["FormulaCell"]).Engine; foreach(object o in engine.DependentFormulaCells.Keys) { string s1 = o as string; Console.Write(s1 + " depends upon "); Hashtable ht = (Hashtable) engine.DependentFormulaCells[s1]; foreach(object o1 in ht.Keys) { string s2 = o1 as string; Console.Write(s2 + " "); } Console.WriteLine(""); } } Public Sub DisplayAllFormulaDependencies() Dim engine As GridCalcEngine = CType(Me.gridControl1.CellModels("FormulaCell"), GridFormulaCellModel).Engine Dim o As Object For Each o In engine.DependentFormulaCells.Keys Dim s1 As String = CStr(o) Console.Write((s1 + " depends upon ")) Dim ht As Hashtable = CType(engine.DependentFormulaCells(s1), Hashtable) Dim o1 As Object For Each o1 In ht.Keys Dim s2 As String = CStr(o1) Console.Write((s2 + " ")) Next o1 Console.WriteLine("") Next o End Sub 'DisplayAllFormulaDependencies Gets the weekend type Gets or sets whether dates can be used as operands in calculations. The default value is false. Gets / sets whether the engine throws an exception when parsing fails with an unknown function error. The List holds the formats of a Chinese Language. Gets or sets whether lookup tables used in the VLookUp and HLookUp functions are cached. Depending upon your use case, caching look up tables can greatly speed up calculations involving HLookUp and VLookUp. If you make multiple calls to these functions passing in the same look up tables, and if these look up tables are relatively static (don't dynamically change as the look ups are taking place), then caching these tables will likely improve performance. A property that gets/sets the current named ranges. Delegate used to define functions that you add to the function library. Resultant value. Specifies the options for checking the formula error strings. Formula contains null arguments. For Example:PI,RANDOM...etc Formula contains range argument. For example:MEDIAN,...etc Formula contains two text arguments with Number argument. For example:FIND,SEARCH...etc Formula contains number and text arguments. For example:LEFT,RIGHT...etc Formula contains number arguments only. For example:ABS,ROUND,ROUNDDOWN,LOG...etc Formula contains text arguments only. For example:ARABIC,CLEAN...etc Formula contains Date argument. For example:DISC,...etc Compares 2 strings based on their length. 0, if both strings are equal; positive value if second string is greater; neagative value if first string is greater. Event delegate for ExternalFormulaEventArgs event. The CalcEngine. The for this event. The event args for the ExternalFormulaEventArgs event, which is raised whenever the CalcEngine calculate external reference formula. Event delegate for ExternalFormulaEventArgs event. The CalcEngine. The for this event. The event args for the ExternalFormulaEventArgs event, which is raised whenever the CalcEngine is trying to get external worksheet from external reference formula. Event delegate for ExternalFormulaEventArgs event. The CalcEngine. The for this event. The event args for the ExternalFormulaEventArgs event, which is raised whenever the CalcEngine is trying to get external named range address from external reference formula. Event delegate for the FormulaParsing event Used by the event, FormulaParsingEventArgs holds a reference to the string that is to be parsed. The FormulaParsing event allows the listener to preprocess the string that is being parsed. Please note that this event may be raised more than once as a string is parsed. Here is code snippets that show how to tell a engine to also treat any text in a formula cell that begins with a minus(-) or a plus(+) as formulas. The default behavior is to treat only text beginning with equal(=) as formulas. //subscribe to the event before any formulas are loaded into the grid... Engine.FormulaParsing += new FormulaParsingEventHandler(Engine_FormulaParsing); //Here is the handler code that adds an = if necessary so any string beginning with +, - or = //is treated as a formula. void Engine_FormulaParsing(object sender, FormulaParsingEventArgs e) { //allow cells starting with + and - to be treated as formula cells. if (e.Text.StartsWith("-")) e.Text = "=" + e.Text; else if (e.Text.StartsWith("+")) e.Text = "=" + e.Text.Substring(1); } Holds a reference to the string that is to be parsed.. The formula that is to be parsed. Default constructor. A property that gets/sets the formula about to be parsed. Event delegate for UnknownFunction event. The CalcEngine. The for this event. The event args for the UnknownFunction event which is raised whenever the CalcEngine encounters a function that is does not know. Gets the name of the unknown function. Gets the location of the missing function. Event delegate for UpdateNamedRange event. The CalcEngine. The for this event. The event args for the UpdateNamedRange event, which is raised whenever the CalcEngine calculate the intersection range of two named range . Represents the method that will handle FormulaComputed event. Source of this event. An instance of that contains the event data. Represents a class which holds the properties of FormulaComputed event. Initializes a new instance of the FormulaComputedEventArgs class. Currently calculated formula. The CalculatedValue for the formula. The currently calculating cell address. Returns true if the currently calculating formula is interior formula;else false. Gets the currently calculated formula name. Gets or sets the value for the calculated formula. Gets the currently calculated formula's cell reference. Gets the value whether the currently calculated formula is interior formula or not. Returns true if the currently calculated formula is interior formula;else false. Gets the value whether to handle the calculation of the formula. To handle the calculation of the formula. A class that allows you to quickly add calculation support for controls on a form, or usercontrol. To use CalcQuick, you instantiate an instance of the class. Then just by indexing the class object with string names to identify a formula object, you can have calculation support in your form. Alternatively, you can add a collection of Control-derived objects and the CalcQuick object will bind the Control.Text property allowing you to use the Control/Name property to reference other controls in a formula. Here is code that uses three TextBoxes, the first showing a value for an angle in degrees, and the other two displaying the sine and cosine of this angle. In this code, the calculations are done on the click of a button: CalcQuick calculator = null; private void AngleForm_Load(object sender, System.EventArgs e) { //TextBox Angle = new TextBox(); this.Angle.Name = "Angle"; this.Angle.Text = "30"; //cosTB = new TextBox(); this.cosTB.Name = "cosTB"; this.cosTB.Text = "= cos([Angle] * pi() / 180) "; //sinTB = new TextBox(); this.sinTB.Name = "sinTB"; this.sinTB.Text = "= sin([Angle] * pi() / 180) "; // Instantiate the CalcQuick object: this.calculator = new CalcQuick(); } // Perform a manual calculation: private void ComputeButton_Click(object sender, System.EventArgs e) { // Let the calculator know the values/formulas // by using an indexer on the calculator object. // Here we are using the TextBox.Name as the indexer key // provided to the calculator object. This is not required. // The only restriction for the indexer key values is that they // be unique nonempty strings: this.calculator["Angle"] = this.Angle.Text; this.calculator["cosTB"] = this.cosTB.Text; this.calculator["sinTB"] = this.sinTB.Text; // Mark the calculator dirty: this.calculator.SetDirty(); // Now as the values are retrieved from the calculator, they // will be the newly calculated values: this.cosTB.Text = this.calculator["cosTB"]; this.sinTB.Text = this.calculator["sinTB"]; } Dim calculator As CalcQuick = Nothing Private Sub AngleForm_Load(sender As Object, e As System.EventArgs) 'TextBox Angle = new TextBox(); Me.Angle.Name = "Angle" Me.Angle.Text = "30" 'cosTB = new TextBox(); Me.cosTB.Name = "cosTB" Me.cosTB.Text = "= cos([Angle] * pi() / 180) " 'sinTB = new TextBox(); Me.sinTB.Name = "sinTB" Me.sinTB.Text = "= sin([Angle] * pi() / 180) " 'Instantiate the CalcQuick object: Me.calculator = New CalcQuick() End Sub 'AngleForm_Load 'Perform a manual calculation: Private Sub ComputeButton_Click(sender As Object, e As System.EventArgs) 'Let the calculator know the values/formulas 'by using an indexer on the calculator object. 'Here we are using the TextBox.Name as the indexer key 'provided to the calculator object. This is not required. 'The only restriction for the indexer key values is that they 'be unique nonempty strings: Me.calculator("Angle") = Me.Angle.Text Me.calculator("cosTB") = Me.cosTB.Text Me.calculator("sinTB") = Me.sinTB.Text 'Mark the calculator dirty: Me.calculator.SetDirty() 'Now as the values are retrieved from the calculator, they 'will be the newly calculated values: Me.cosTB.Text = Me.calculator("cosTB") Me.sinTB.Text = Me.calculator("sinTB") End Sub 'ComputeButton_Click Here is code that uses the same three TextBoxes as above, but this time the code is set up to automatically compute things as you change the value in the Angle TextBox. There is no longer a need for a button handler to trigger setting / getting values. CalcQuick calculator = null; private void AngleForm_Load(object sender, System.EventArgs e) { //TextBox Angle = new TextBox(); this.Angle.Name = "Angle"; this.Angle.Text = "30"; //cosTB = new TextBox(); this.cosTB.Name = "cosTB"; this.cosTB.Text = "= cos([Angle] * pi() / 180) "; //sinTB = new TextBox(); this.sinTB.Name = "sinTB"; this.sinTB.Text = "= sin([Angle] * pi() / 180) "; // Instantiate the CalcQuick object: this.calculator = new CalcQuick(); } // Perform a manual calculation: private void ComputeButton_Click(object sender, System.EventArgs e) { // Let the calculator know the values/formulas // by using an indexer on the calculator object. // Here we are using the TextBox.Name as the indexer key // provided to the calculator object. This is not required. // The only restriction for the indexer key values is that they // be unique nonempty strings: this.calculator["Angle"] = this.Angle.Text; this.calculator["cosTB"] = this.cosTB.Text; this.calculator["sinTB"] = this.sinTB.Text; // Mark the calculator dirty: this.calculator.SetDirty(); // Now as the values are retrieved from the calculator, they // will be the newly calculated values: this.cosTB.Text = this.calculator["cosTB"]; this.sinTB.Text = this.calculator["sinTB"]; } Dim calculator As CalcQuick = Nothing Private Sub AngleForm_Load(sender As Object, e As System.EventArgs) 'TextBox Angle = new TextBox(); Me.Angle.Name = "Angle" Me.Angle.Text = "30" 'cosTB = new TextBox(); Me.cosTB.Name = "cosTB" Me.cosTB.Text = "= cos([Angle] * pi() / 180) " 'sinTB = new TextBox(); Me.sinTB.Name = "sinTB" Me.sinTB.Text = "= sin([Angle] * pi() / 180) " 'Instantiate the CalcQuick object: Me.calculator = New CalcQuick() End Sub 'AngleForm_Load 'Perform a manual calculation: Private Sub ComputeButton_Click(sender As Object, e As System.EventArgs) 'Let the calculator know the values/formulas 'by using an indexer on the calculator object. 'Here we are using the TextBox.Name as the indexer key 'provided to the calculator object. This is not required. 'The only restriction for the indexer key values is that they 'be unique nonempty strings: Me.calculator("Angle") = Me.Angle.Text Me.calculator("cosTB") = Me.cosTB.Text Me.calculator("sinTB") = Me.sinTB.Text 'Mark the calculator dirty: Me.calculator.SetDirty() 'Now as the values are retrieved from the calculator, they 'will be the newly calculated values: Me.cosTB.Text = Me.calculator("cosTB") Me.sinTB.Text = Me.calculator("sinTB") End Sub 'ComputeButton_Click Used in conjunction with . Essential Calculate supports column ranges of the form A:D as in =SUM(A:D) to represent all cells in columns A, B, C and D from a ICalcData object. To get a value for the number of rows, the CalcEngine first checks to see if the ICalcData object supports the ISheetData interface. If this interface is supported, the row count used to determine the range is obtained through this interface. If the ICalcData object does not support ISheetData, then the value of is used provided RowMaxCount > 0. and the index of first and last rows and columns is used. ICalcData defines the minimal interface that a data object must support in order to use this formula engine. A method that gets the data value from the specified row and column. 1-based index specifying the row index of the requested value. 1-based index specifying the column index of the requested data. The data value at the given row and column index. A method that sets the data value to the specified row and column. The value. One-based index specifying the row index of the value. One-based index specifying the column index of the value. A method that wires the ParentObject after the CalcEngine object is created or when a RegisterGridAsSheet call is made. This method is a callback to the ParentObject so it can have a chance to subscribe to any change events it may need to implement ValueChanged properly. Event for value changed Get the idex of the first row in UsedRange index of first row get the index of the last row in UsedRange index of last row Gets the row count. Number of rows Gets the first column index. Index of first column Gets the last column index / column count. Index of last column Gets the column count. Number of columns Returns the value as false Default constructor: Use this constructor when you want to have several CalcQuick objects that access the same static members of the CalcEngine. Constructor that resets the CalcEngine object. Indicates whether the static members of the CalcEngine class will be cleared. A method to reset all the keys registered with CalcQuickBase object. Creates the object used by this CalQuick object. Returns an instance of a CalcEngine object. You can override this method and return a derived CalcEngine object use by the derived CalcQuick object. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. A method that parses and computes a well-formed algebraic expression passed in. The text of the formula. The computed value. You would use this method if you have a formula string which contains only constants or library function references. Such formulas do not depend upon other values. If you have registered a variable through an indexer, then that variable can be used in a formula expression passed into this method. This method will return the Exception text if an exception is thrown during the computation. A method that returns the formula string associated with the key passed in from a FormulaInfo object. The Hashtable key associated with the FormulaInfo object. The formula string may be the empty string if no formula is stored with this key. A method to get the value of the cell referred. For internal CalcQuick use only. Row index. Column index. (row, col) data. CalcQuick does not expose a (row, col) data access model. But since CalcEngine requires such a model, CalcQuick uses a row, col access model internally, but only exposes the formula Key model to access values. Initializes any structures needed by this instance. Indicates whether the static members of the CalcEngine class will be cleared. A method that parses and computes a well-formed algebraic expression passed in. The text of the formula. The computed value. You would use this method if you have a formula string which contains only constants or library function references. Such formulas do not depend upon other values. If you have registered a variable through an indexer, then that variable can be used in a formula expression passed into this method. A method that recompute any formulas stored in the CalcQuick instance. This method only has is used when AutoCalc is False. It loops through all FormulaInfo objects stored in the CalcQuick object and recomputes any formulas. A method to force all calculations to be performed the next time the CalcQuick object is accessed with an indexer requesting the value. Each FormulaInfo object contained in the CalcQuick instance has a calculation index that is checked any time the computed value is needed. If this index is current, no calculation is done, and the last computed value is returned. If this index is not current, the calculation is redone before the value is returned. Calling this method guarantees that no FormulaInfo object's calculation indexes will be current. A method to set value to the specified cell. For internal CalcQuick use only. Loops through and updates all formula items that depend on the FormulaInfo object pointed to by the key. Identifies FormulaInfo object that triggered the update. A method that wires the ParentObject after the CalcQuick object is created. For internal CalcQuick use only. Get the idex of the first row in UsedRange index of first row get the index of the last row in UsedRange index of last row This API supports the .NET Framework infrastructure and is not intended to be used directly from your code Gets the first column index. Index of first column Gets the last column index / column count. Index of last column This API supports the .NET Framework infrastructure and is not intended to be used directly from your code For internal CalcQuick use only. Occurs when one of the FormulaInfo objects being maintained by the CalcQuick instance has changed. A property that gets/sets the auto calculation mode of the CalcQuick. By default, the CalcQuick will not update other values when you change a FormulaInfo object. By default, you explicitly call SetDirty() of the CalcQuick instance to force calculations to be done the next time they are required. Setting AutoCalc to True tells the CalcQuick to maintain the dependency information necessary to automatically update dependent formulas when values that affect these formulas change. Gets or sets whether formulas should be checked for syntax during key substitutions. Default is true. Prior to version 4.4, no syntax checking was performed during the initial parsing process of substituting for keys (variable names enclosed in square brackets). This early syntax checking support has been added to catch cases where a keys was not preceded (or followed) properly in the formula. This CheckKeys property is available for backward compatibility. To maintain the exact parsing algorithm found in versions prior to 4.4, set this property to false. Maintains a set of modified flags indicating whether any control has had a value changed. Maintains a collection of FormulaInfo objects. This Hashtable serves as the data store for the CalcQuick instance. The keys are the strings used to identify formulas and the values are FormulaInfo objects that hold the information on each formula or value. Determines whether the CalcEngine object of this CalcQuick should be disposed on disposing this object. Default value is true. A read-only property that gets the reference to the CalcEngine object being used by this CalcQuick instance. A property that gets/sets character by which string starts with, are treated as formulas when indexing a CalcQuick object. If you use the technique of indexing the CalcQuick object to set a varaible value, then you indicate that the value should be a formula by starting the string with this character. If you do not want to require your formulas to start with this character, then you will not be able to use the indexing technique. Instead, you will have to call ParseAndCompute directly to handle formulas not starting with this character. Maintains a mapping between the string key and the row used in a CalcSheet to identify a FormulaInfo object. Maintains a mapping between the string key and a vector of numbers entered using a brace expression. Maintains a mapping between the string key and the control which is being used to identify a FormulaInfo object. Maintains a mapping between the row used in a CalcSheet and the string key used to identify a FormulaInfo object. Gets / sets formula values for CalcQuick. The indexer used to identify the formula. Using an indexer on the CalcQuick instance is the primary method of setting a value to be used in a CalcQuick object. The string used as the indexer is the key that you use to reference this formula value in other formulas used in this CalcQuick instance. Gets / sets whether the CalcQuick should throw an exception when a circular calculation is encountered. If this property is True, the CalcQuick will throw an exception when it detects a circular calculation. If ThrowCircularException is False, then no exception is thrown and the calculation will loop recursively until Engine.MaximumRecursiveCalls is exceeded. An event handler that represents the method to handle the event. This event is raised whenever an indexer is used on the CalcQuick object to assign it a value or when a value is assigned as the result of a calculation being done. Event argument class for the event. The only constructor for QuickValueSetEventArgs. This is the object that is used as the key value in the Hashtable to identify the formula information. It is also the string you use in formulas (enclosed in brackets) to reference a formula from another formula. New value being assigned. Indicates the reason the event is being raised. See FormulaInfoSetAction. The reason the event was raised. A property that gets/sets the Hashtable lookup object for the FormulaInfo object being changed. A property that gets/sets the new value being set. Flags the reason that quickValueSet was raised. When QuickValueSet event is raised, it passes an argument of FormulaInfoSetAction to indicate what was being assigned to the CalcQuick object using an indexer. A formula (string starting with FormulaCharacter) was assigned. Something other than a formula was assigned. A calculated value was assigned. Typed Hashtable returning FormulaInfo objects. Gets or sets the FormulaInfo with the specified obj. The key to identify the given FormulaInfo. FormulaInfo CalcSheet represents a single worksheet in a workbook. A CalcSheet plays the role of an Excel Worksheet. It maintains its own internal data object to hold FormulaInfo objects used by the CalcEngine in its calculation work. The CalcSheet accesses the raw data / formulas that you want to use in the calculations via the ICalcData interface. Default constructor. Constructor that initializes an internal object array to hold data. Number of rows in the data object. Number of columns in the data object. Constructor used during serialization. Creates a CalcSheet from a delimited text file created by WriteSheetToFile. The file name. A CalcSheet instantiated with the file content. Supports serialization. Serialization information. Describes source and destination of the given stream.. Returns the value at the row and column. One-based row index. One based column index. The cell value. Raises the CalculatedValueChanged event. Includes the row, col, and value of the change. This event should be raised any time a value changes. Raises the ValueChanged event. Includes the row, col, and value of the change. This event should be raised any time a value changes. Creates a CalcSheet object from the content of a StreamReader. The StreamReader. The newly created CalcSheet object. A Virtual method to save the value through the ICalcData.SetValueRowCol implementation method and raise the ValueChanged event. The row index, one-based. The column index, one-based. The value. A Virtual method to set a value at a given row and column. Value to be set. One-based row index. One-based column index. A Virtual method that can be used to handle subscribing to any base object events necessary for implementing the ValueChanged event. For example, when implementing ICalcData on a DataGrid-derived object, you need to know when something in the DataGrid changes so you can raise the required ICalcData.ValueChanged event. In WireParentObject, the DataGrid can subscribe to its DataSource's change event to handle this requirement. If the DataSource is a DataTable, then the DataTable.ColumnChanged event can fulfill the requirement. Get the idex of the first row in UsedRange index of first row get the index of the last row in UsedRange index of last row This API supports the .NET Framework infrastructure and is not intended to be used directly from your code Gets the first column index. Index of first column Gets the last column index / column count. Index of last column This API supports the .NET Framework infrastructure and is not intended to be used directly from your code Writes a delimited file. The output file name. The static Delimiter member specifies the field delimiter. Rows are delimited by Environment.NewLine characters. This method serializes formulas instead of computed values. To write a file containing computed values, use the WriteValuesToFile method. Writes this CalcSheet object to the given StreamWriter. The StreamWriter. Indicates whether to serialize formulas (False) or computed values (True). Writes this CalcSheet object with formulas serialized to the given StreamWriter. The StreamWriter. Serializes the data with computed values to a delimited text file. The file name. The static Delimiter member specifies the field delimiter. Rows are delimited by Environment.NewLine characters. This method serializes computed values instead of formulas. To write a file containing formulas, use the WriteSheetToFile method. This event is raised in SetValueRowCol. This event should be raised by the implementer of ICalcData whenever a value changes. Gets / sets a flag that indicates whether to compute dependent values as cells change. A read-only property that gets the column count. Gets / sets the field delimiter for the WriteSheetToFile method. The default value is tab. A read-only property that gets the CalcEngine object used by this CalcSheet. Enables or disables saving changes within the CalcSheet. A property that gets / sets the name used to refer to this sheet. A read-only property that gets the row count. Gets / sets a value through the ICalcData.GetValueRowCol and ICalcData.SetValueRowCol implementation methods. The row index. The column index. CalcWorkbook holds a collection of objects. ArrayList of strings holding the CalcSheets names. Initializes a new instance of the CalcWorkbook class. The calc sheets. Hashtable of key, value pairs for Namedrange values. Initializes a new from a serialization stream. An object that holds all the data needed to serialize or deserialize this instance. Describes the source and destination of the serialized stream specified by info. A Virtual method to calculate all formulas in this workbook. Removes all formulas in the given CalcSheet. The CalcSheet. Implements the ISerializable interface and returns the data needed to serialize the workbook. A SerializationInfo object containing the information required to serialize the cell model. A StreamingContext object containing the source and destination of the serialized stream. A method that gets the integer ID of a CalcSheet. The CalcSheet name. The integer ID. Creates a CalcWorkbook from a file written using WriteSSS. Pathname of the file. A CalcWorkbook object. Writes a tab-delimited file holding the Workbook information. The pathname of the file to be written. Gets or sets an Arraylist of CalcSheet objects used in this workbook. Array of CalcSheets objects used in this workbook. Gets/Sets the CalcEngine object. The setter only sets once, and only if InitCalcWorkbook has been called with a zero CalcSheet count. Number of CalcSheets in this workbook. Gets / sets a CalcSheet object with the given name. The sheet name. Gets / sets a CalcSheet object with the given index. The sheet index. Wrapper ArrayList that holds a collection of CalcSheets. Default constructor. Creates an CalcSheetList instance owned by the given workbook with the given CalcSheet list. list of CalcSheets The Workbook A method that adds a new CalcSheet. The CalcSheet to be added. The index of the added CalcSheet. Not supported. Not supported. Returns the index for a CalcSheet. The name of the CalcSheet. The index of the CalcSheet. A method that removes a CalcSheet. The CalcSheet to be removed. Removes a CalcSheet. The index of the CalcSheet to be removed. The CalcSheets in this collection. Returns a CalcSheet[]. Gets or sets the CalcSheet at the given index. The sheet index. Gets or sets the CalcSheet with a given name. The sheet name. Performs the parsing operation of Array formulas. To check the index of "_" in a string(formula). The operators which are involved in array formula. If these operators are not present in formula, then formula must be returned without parsing. Length in each splitted range of array formula. Gets or sets the ArrayRecordPostion method from XlsIO side to get the position of the cell in the array. Initialize the object for parsing operations. An instance of . Gets or sets the instance of . To split the strings based on the pattern involving operators(-,+,*,/,&). For example:"A1:B1 * C1:D1" will be splitted as "A1:B1" and "C1:D1" which will be stored separately in string array. The string to be splitted into string array. String array. To calculate the height and width of the passed argument. Based on the argument's type of cell reference or constants, they are calculated separately and if any of the width/height is less than max height/width, correspondingly range is increased/decreased for range.The minimum width/height is maintained. A string passed to compute maximum height/width. The height determined for array. The width determined for array. The minimum height. The minimum width. The string with altered height/width. Resize range based on the max height and max width of the array and stored in a list which needs to be parsed. For example: "A1:B3*C1:C2" will be resized based on the height of "2"(value of smaller row count but not 1) and width of "2"(Value of smaller column count but not 1). The arguments splitted from GetCellsFromArgs method, will be of the mentioned length of 4. Hence "A1:B3" will be splitted and be first argument in the list and "C1:C2" will be splitted as the next argument in the list. This list will be passed for making expressions in Parse method as "A1*C1,B1*C1,A2*C2,B2*C2". The formula array which needs to be adjusted and parsed. The parsed formula string in original format. The string array. A method that splits the formula based on the operators. For example: if the argument is passed as "(A1:B2+C1:D2)" which will be parsed as "A1+C1,B1+D1,A2+C2,B2+D2". The formula passed in with operator. The parsed formula string in original format. Splitted formula based on logic. A method that parses the array formula and return it as normal formula for computation. For example if the formula is passed as "{=SUM(A1:B1*C1:D1)}", then it will be parsed and returned as SUM(A1*C1,B1*D1). The array formula to be parsed. The normal formula for parsing in CalcEngine. A method that invokes for computation of LEN,ROW,COLUMN methods in array formula. For example if the formula SUM(ROW(A1:A5)) then it should be parsed as SUM({1,2,3,4,5})(excel behavior) and if the formula is ROW(A1:A5), based on the required cell, the corresponding row index is returned. The formula's argument. The formula name. The computation level of the formula. A string which holds the computed value with curly braces. The function to check if the given formula is multi cell array or not. For example: if the formula is "{A1:B1 * C1:D1}", then it is a multi cell array whereas, if the formula is "SUM(A1:B1*C1:D1), then it is not a multi cell array. The formula which is passed to check. True; if it is multicell array;else False. To parse the multi cell array, that is to get the positon of the array record and returning the particular formula for the given cell. For example: if the parsed formula is "A1*C1,B1*D1,A2*C2,B2*D2",then based on the given cell if the index is 2, then resultant formula is "B1*D1" whereas if the index is "-1", then error messages is returned. formula to be parsed. The parsed formula string in original format. Formula required for given cell. Parsing the one/multi dimensional array constants in formula. For Eg: parsing of {1,2,3} or {1;2;3} or {1,2;3,4}. It also parses the multi dimensional array with constants such as {1,2}*{3,4}. Formula to be parsed. The formula/value which needs to be displayed. If passed formula contains operators involving expressions with commas, then it will be parsed by splitting the arg's based on comma and storing in the list. For eg: if the passed argument is "{1*2,3*4,4*5}, then based on the cell's index, particular expression will be returned The formula for parsing. The height of the arg. The width of the arg. Expression/Value based on the formula. For parsing the horizontal arrays. (i.e) the formula which is separated by commas, for eg: {1,2,3}. Formula to be parsed. The value based on position of cell. For parsing the vertical arrays. (i.e) the formula which is separated by semi colon, for eg: {1;2;3}. Formula to be parsed. The value based on position of cell. Getting the height in which the array formula will arrange the values of selected range. Smaller height of the given expression should be preferred but if the smaller value is 1, then the height of another expression should be considered. For example:"A1:B3*C1:D2" in which, the smaller height 2 will be considered and returned. Splitted strings from original formula. The height required for array formula. Getting the width in which the array formula will arrange the values of selected range. Smaller width of the given expression should be preferred but if the smaller value is 1, then the width of another expression should be considered. For example:"A1:B3*C1:E2" in which, the smaller width is 2 will be considered and returned. Splitted strings from original formula. The width required for array formula. To get the position of the cell in the array formula applied range. if the cell like "A5" is passed with height and width, then it finds the exact postion in the selected range "A4:D7" from XlsIO side and returns it. The height of the array record. The width of the array record The position of the cell. To Compute the length of the given argument, based on the computational level. For example if the formula SUM(LEN(A1:A3)), the computation level is greater than 1, hence it should be parsed as SUM({LEN(A1),LEN(A2),LEN(A3)})(excel behavior) and if the formula is LEN(A1:A3), the computation level is 1, then the corresponding length of the cell is returned. Passed argument for computation. Computational level. Computed result. To Compute the row index of the given argument, based on the computational level. For example if the formula SUM(ROW(A1:A3)), the computation level is greater than 1, hence it should be parsed as SUM({ROW(A1),ROW(A2),ROW(A3)})(excel behavior) and if the formula is ROW(A1:A3), the computation level is 1, then the corresponding row index of the cell is returned. Passed argument for computation. Computational level. Computed result. To Compute the column index of the given argument, based on the computational level. For example if the formula SUM(COLUMN(A1:C1)), the computation level is greater than 1, hence it should be parsed as SUM({COLUMN(A1),COLUMN(B1),COLUMN(C1)})(excel behavior) and if the formula is COLUMN(A1:C3), the computation level is 1, then the corresponding column index of the cell is returned. Passed argument for computation. Computational level. Computed result. To compute the IF fomrula based on the computation level. If the computation level is greater than zero and the formula is "IF(G3:G30="",0,1) get the value and perform logical test for each cell and return the array structure value(“1,1,1,1,1,1,0,0,0,1”). Passed argument for computation. Computational level. Computed result. To compute the IF fomrula based on the computation level. CellRange Tokens("=",">",">=") The criteria used to determine which cells to add. the parsed criteria is number is set as true.otherwise false. Computational level. The length of parsed range. Computed result. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Delegate defined to access the method GetArrayRecordPosition for getting position of the cell. Row index of the cell. Column index of the cell. The height required for the selected range. The width required for the selected range. The method containing the four integer parameters. Calls SecurityPermission.Demand to find out if SecurityPermission is available. True if SecurityPermission is available. An event handler that represents the method to handle the event. The source of the event. A that contains the event data. A class containing data for the ICalcData.ValueChanged event. The constructor. One-based row index for the value. One-based col index for the value. the value at the specified row,col. A property that gets/sets One-base column index. A property that gets/sets One-based row index. A property that gets/sets the value. Used for CalcEngineHelper Returns a DateTime equivalent to the specified OLE Automation Date. An OLE Automation Date value. An object that represents the same date and time as d. Specifies options for caching look up tables in HLookUp and VLookUp functions. No caching is done. Tables will be cached only for VLookUp. Tables will be cached only for HLookUp. Tables will be cached for both VLookUp and HLookUp. Tables will be optimized for searching for exact matches. Set this flag if you expect your searches to find exact matches. RangeInfo represents a rectangle array of cells that may contain formulas, strings, or numbers that may be referenced by other formulas. Constructs a RangeInfo instance with the given top, left, bottom and right values. Top row index of this range. Left column index of this range. Bottom row index of this range. Right column index of this range. The range values must be one-based indexes. A method to retrieve a range based on the numeric arguments passed in. Top row index of this range. Left column index of this range. Bottom row index of this range. Right column index of this range. A RangeInfo object. The range values must be one-based indexes. GetAlphaLabel is a method that retrieves a string value for the column whose numerical index is passed in. Number index such as 1, 5, 27. Corresponding alphabets label like A, E, AA. A property that gets/sets the bottom row index of this range. A property that gets/sets the left column index of this range. A property that gets/sets the right row index of this range. A property that gets/sets the top row index of this range. Performs the calculation of LINEST formula. Gets or sets the instance of . Initialize the object for parsing operations. An instance of . This method is used to split the range and logical value when the range contains logical value. Range with logical value(ex:\u0092C1:C3\"1,2\"m\u0092) Spilt the range ex("C1:C3") Split the logical value ex("\"1,2\"m") Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Encapsulates the properties that are needed to support multiple families of crossed-referenced grids. This class is for internal use only. Holds mapping from parent object to sheet token. Holds mapping from sheet token to parent object. Holds mapping from parent object to sheet name. Holds mapping from sheet name to parent object.