Spreadsheet Functions, Operators and Formulas

Create equations by typing the "=" character as the first character in a spreadsheet cell. The following math functions are supported

Function:        
description:
+  
addition (e.g. =1+2)
-  
subtraction or negation
*  
multiplication
/  
division
power (e.g. 2**3)
logical AND
logical OR
logical NOT
>=  
larger than or equal, returns 1 (true) or 0 (false)
<=  
smaller than or equal
=  
equals (returns 1 if equal, else returns 0). It also may compare text (case insentive)
>  
larger than (e.g. 5>2 returns 1 (true))
<  
smaller than
sign of v, returns -1 or +1
int(v)  
returns the integer value of v
abs(v)  
returns the absolute value of v
square root of v (e.g. =sqr(4))
exp(v)  
exponential of v
ln(v)  
natural logarithm of v
log(v)  
decimal logarithm of v
pi  
returns half the circumference of a circle with unit radius
returns a random number between 0 and v
sin(v)  
sine of v, argument in radians
cos(v)  
cosine of v
tan(v)  
tangent of v
arcsine of v, returns angle in radians
arccosine of v
arctangent of v
erf(v)  
error function of v. (twice the integral of the Gaussian distribution with 0 mean and variance of 1/2).
the complementary error function (1-erf(v)).
the scaled complementary error function.
returns the coefficient of the k'th term of an n-binomial.
returns gamma(x). Gamma has the properties: gamma(n+1)=n! and x*gamma(x)=gamma(x+1).
returns the probability density of the waiting time until the nth event, given the process rate u (Gamma distribution). u,n and t may all three be floating point.
returns the probability of a chi-2 at df degrees of freedom.
returns the single-sided probability of an u-value for two ensembles with n1 and n2 members. It is used for the Wilcoxon-Mann-Whitney test.
returns the t-value, given the probability p, degrees of freedom df, single sided (s=1) or double sided (s=2).
returns the probability-density of the t-function for t at df degrees of freedom.
returns the probability of a t-value at df degrees of freedom, single sided (s=1) or double sided (s=2). It is the integral of tdens(t;df).
returns the probability density of Fisher's F-function for x at df1 (data sets) and df2 (total N-1) degrees of freedom.
returns the probability of a F-value (x) at df1 and df2 degrees of freedom. It is the integral of fdens(x;df1;df2).
returns the probability for a q-value given k data sets (columns) and a total of n data points (multiple comparison test).
average of the range of cells
synonym of average
standard deviation of the range of cells
standard error of the mean of the range of cells. Nota bene, for all (range) functions an optional ((range);[cell]) variant exits, see the "range" section following this list for details.
minimum value of the range of spreadsheet cells, where range is of the form: "Cn:Lm;Cnn:Lmm" with n,m,nn and mm being indices of columns "C" or lines "L".
maximum of the range of cells
returns the column index of the minimum of the range of cells
returns the line(row) index of the minimum of the range of cells
returns the column index of the maximum of the range of cells
returns the line(row) index of the maximum of the range of cells
sum of the range of cells
cin  
returns the column index of the spreadsheet cell
lin  
returns the line (row) index of the spreadsheet cell
returns the line number of the cell in column "c" that contains a number closest or identical to the number "n". Start searching at column r0. Hence it searches a column for a given number.
returns the line number of the cell in column "c" that contains a number identical to the number "n". Start searching at column r0. Hence it searches a column for a given number.
returns the column number of the cell in line "l" that contains a number closest or identical to the number "num". Start searching at row r0. Hence it searches a line (row) for a given number.
returns the column number of the cell in line "l" that contains a number identical to the number "num". Start searching at row r0. Hence it searches a line (row) for a given number.
returns the line number of the cell in column "c" that contains the text "x". Start searching at colimn r0. Hence it searches a column for a given text.
returns the line number of the cell in column "c" that contains the text identical to "x". The text length is identical too. Start searching at colimn r0.
returns the column number of the cell in column "l" that contains the text "x". Start searching at row r0. Hence it searches a line (row) for a given text.
returns the column number of the cell in column "l" that contains the text identical to "x". The text length is identical too. Start searching at row r0.
returns the numerical value of the spreadsheet cell at column c and line l. If the cell contains text, if the cell is empty or if the formula it contains is erroneous, the function returns 0 (zero).
takes three parameters h (hours), m (minutes) and s (seconds) and returns the "time" format: "h:m:s". h,m and s may be floating point. Hence "=time(1.5;0;0)" returns "1:30:0".
takes three parameters d (days), m (months) and y (years) and returns the "date" format: "d/m/y".
interprets h as hours and sets output to the "time" format. Hence "hour(0.5) returns "0:30:0".
interprets m as minutes and sets output to the "time" format.
interprets s as seconds and sets output to the "time" format.
returns the duration in days of n years. The return value depends on context and defaults to 365.
returns the duration in days of n months. The return value depends on context and defaults to 30.
converts v, where v is a reference to a cell in "h:m:s" or "d/m/y" format, to a floating point number (in seconds or days after 31/12/0 respectively), otherwise it does't do anything. v may also be a function that returns the result in time or date format. Hence "=float(time(0;1;1))" returns "61".
ctime  
this is a macro that is replaced by the current time. It takes no arguments. Hence, "=ctime" returns for example "18:24:06".
cdate  
this is a macro that is replaced by the current date. It takes no arguments. Hence, "=cdate" returns for example "18/14/2006".
clock  
it does not take arguments. It shows current time every second (and updates the speadsheet).
displays a horizontal slide bar in the spreadsheet cell The slide bar cursor can be moved by the user. This function returns a value (c) between the minimum value (mi) and the maximum value (ma) depending on the position of the cursor. For this reason c may NOT be a reference to a cell.

 
Serf software is amply documented and help is provided in several ways: by key word search, by context and by menu item. The doc file includes a comprehensive step by step tutorial.

Spreadsheet functions

Calculations
The operators for addition '+', subtraction '-', multiplication '*', division '/' and raising to a power '**' or '^' should be used respecting the normal rules for commutation (e.g. 2+3 is the same as 3+2), association (e.g. 2*(3*5) is the same as (2*3)*5) and distribution (e.g. 2*5+3*5 is the same as (2+3)*5). If in doubt, use brackets.
Raising the power takes precedence over the other operators. Multiplicatiopn and division take precedence over addition and subtraction (e.g. 2+3/5 is the same as 2+(3/5) and is not the same as (2+3)/5).
|Function list|

Boolean operations
Boolean operations are carried out between variables that have only two states: true (1) or false (0). Comparisons in the next section return a boolean. This program knows three operations AND (or &, as in the C language), OR (or |, as in C), and NOT (or ~, as in formal logic notation.
The notation is as for addition and multiplication, e.g. 1 AND 0.

0 AND 0 = 0      0 OR 0 = 0
1 AND 0 = 0      1 OR 0 = 1
1 AND 1 = 1      1 OR 1 = 1

   NOT 1 = 0
   NOT 0 = 1           
|Function list|

Comparisons
With the operators '<', '<=', '=', '>=' and '>' numbers may be compared. The result is a boolean (1 or 0, true or false, yes or no).
1>2 gives 0, 300>=56 gives 1
Multiple comparisons can be combined using brackets and boolean operators: (1>12) OR (300>=56) gives 1.
|Function list|

CIN
Cin does not take arguments and returns the column number in which 'cin' finds itself. This function can be used in calculations: e.g. Cell(cin+6;3), which means "take the contents of the cell that is on the current line but is 6 columns farther away".
|Function list|

LIN
Lin does not take arguments and returns the line number in which 'lin' finds itself. This function can be used in calculations: e.g. Cell(3;lin+6), which means "take the contents of the cell that is in the current column but is 6 lines downward".
|Function list|

CELL

CELL
Cell(c;l) returns the numerical value of the spreadsheet cell at column c and line l. If the cell contains text, if the cell is empty or if the formula it contains is erroneous, the function returns 0 (zero). Cell( ) differs from a spreadsheet cell reference (e.g. (C1:L2) ) in that it's arguments may be references or the result of a calculation or a Boolean expression (e.g. Cell(sqr(4);(C1:L2)>1) ).
|Function list|

SUM
Sum(range) takes the sum of a range of cells.

There are two ways to enter a range in a function:
i) Type it (e.g. "sum(C2:L2;C2:L300)"), N.B.: do not type the quotation characters, or
ii) in the spreadsheet edit box type "=sum(" and place the cursor behind the bracket "(". Then right-button-click the first cell of the range in the spreadsheet and move the mouse while keeping the right mouse button depressed. Release the mouse button at the last cell to be included. The range selected for the function appears in the edit box, the closing bracket ")" is added and the corresponding cells in the spreadsheet are highlighted in yellow.

The conditional form of this function takes a condition as a second parameter and a third parameter that indicates the upper left spreadsheet cell of a range of cells with the same dimensions as the first range of cells. Thus, to each cell in the first range corresponds a cell in the second range. If the content of the cell in the second range satisfies the condition, then the content of the cell in the first is taken into account by the function. The condition consists of one of the operators =, >, <, >= or <= followed by a (floating point) number. The syntax is Sum((range);condition;[cell]).
|Function list|

AVERAGE or MEAN
Average(range) and mean(range) calculate the average value of a range of cells.

There are two ways to enter a range in a function: i) Type it (e.g. "mean(C2:L2;C2:L300)"), N.B.: do not type the quotation characters, or ii) in the spreadsheet edit box type "=mean(" and place the cursor behind the bracket "(". Then right-button-click the first cell of the range in the spreadsheet and move the mouse while keeping the right mouse button depressed. Release the mouse button at the last cell to be included. The range selected for the function appears in the edit box, the closing bracket ")" is added and the corresponding cells in the spreadsheet are highlighted in yellow.

The conditional form of this function takes a condition as a second parameter and a third parameter that indicates the upper left spreadsheet cell of a range of cells with the same dimensions as the first range of cells. Thus, to each cell in the first range corresponds a cell in the second range. If the content of the cell in the second range satisfies the condition, then the content of the cell in the first is taken into account by the function. The condition consists of one of the operators =, >, <, >= or <= followed by a (floating point) number.
The syntax is Average((range); condition;[cell]).
|Function list|

STDEV
Stdev(range) calculates the standard deviation of a range of cells. It assumes a Gaussian probability distribution. See also SEM( ).

There are two ways to enter a range in a function:
i) Type it (e.g. "stdev(C2:L2;C2:L300)"), N.B.: do not type the quotation characters, or
ii) in the spreadsheet edit box type "=stdev(" and place the cursor behind the bracket "(". Then right-button-click the first cell of the range in the spreadsheet and move the mouse while keeping the right mouse button depressed. Release the mouse button at the last cell to be included. The range selected for the function appears in the edit box, the closing bracket ")" is added and the corresponding cells in the spreadsheet are highlighted in yellow.

The conditional form of this function takes a condition as a second parameter and a third parameter that indicates the upper left spreadsheet cell of a range of cells with the same dimensions as the first range of cells. Thus, to each cell in the first range corresponds a cell in the second range. If the content of the cell in the second range satisfies the condition, then the content of the cell in the first is taken into account by the function. The condition consists of one of the operators =, >, <, >= or <= followed by a (floating point) number. The syntax is Stdev((range); condition;[cell]).
|Function list|

SEM
Sem(range) calculates the standard error of the mean of a range of cells. It assumes a Gaussian probability distribution. See also STDEV.

There are two ways to enter a range in a function:
i) Type it (e.g. "sem(C2:L2;C2:L300)"), N.B.: do not type the quotation characters, or
ii) in the spreadsheet edit box type "=sem(" and place the cursor behind the bracket "(". Then right-button-click the first cell of the range in the spreadsheet and move the mouse while keeping the right mouse button depressed. Release the mouse button at the last cell to be included. The range selected for the function appears in the edit box, the closing bracket ")" is added and the corresponding cells in the spreadsheet are highlighted in yellow.

The conditional form of this function takes a condition as a second parameter and a third parameter that indicates the upper left spreadsheet cell of a range of cells with the same dimensions as the first range of cells. Thus, to each cell in the first range corresponds a cell in the second range. If the content of the cell in the second range satisfies the condition, then the content of the cell in the first is taken into account by the function. The condition consists of one of the operators =, >, <, >= or <= followed by a (floating point) number.
The syntax is Sem((range); condition;[cell]).
|Function list|

MIN
Min(range) retrieves the minimum value of a range of cells. To retrieve the row and column indices of the cell containing the minimum value use the LIMIN( ) and CIMIN( ) functions respectively.

There are two ways to enter a range in a function:
i) Type it (e.g. "min(C2:L2;C2:L300)"), N.B.: do not type the quotation characters, or
ii) in the spreadsheet edit box type "=min(" and place the cursor behind the bracket "(". Then right-button-click the first cell of the range in the spreadsheet and move the mouse while keeping the right mouse button depressed. Release the mouse button at the last cell to be included. The range selected for the function appears in the edit box, the closing bracket ")" is added and the corresponding cells in the spreadsheet are highlighted in yellow.

The conditional form of this function takes a condition as a second parameter and a third parameter that indicates the upper left spreadsheet cell of a range of cells with the same dimensions as the first range of cells. Thus, to each cell in the first range corresponds a cell in the second range. If the content of the cell in the second range satisfies the condition, then the content of the cell in the first is taken into account by the function. The condition consists of one of the operators =, >, <, >= or <= followed by a (floating point) number.
The syntax is Min((range); condition;[cell])
|Function list|

MAX
Max(range) retrieves the maximum value of a range of cells. To retrieve the row and column indices of the cell containing the maximum value use the LIMAX( ) and CIMAX( ) functions respectively.

There are two ways to enter a range in a function:
i) Type it (e.g. "max(C2:L2;C2:L300)"), N.B.: do not type the quotation characters, or
ii) in the spreadsheet edit box type "=max(" and place the cursor behind the bracket "(". Then right-button-click the first cell of the range in the spreadsheet and move the mouse while keeping the right mouse button depressed. Release the mouse button at the last cell to be included. The range selected for the function appears in the edit box, the closing bracket ")" is added and the corresponding cells in the spreadsheet are highlighted in yellow.

The conditional form of this function takes a condition as a second parameter and a third parameter that indicates the upper left spreadsheet cell of a range of cells with the same dimensions as the first range of cells. Thus, to each cell in the first range corresponds a cell in the second range. If the content of the cell in the second range satisfies the condition, then the content of the cell in the first is taken into account by the function. The condition consists of one of the operators =, >, <, >= or <= followed by a (floating point) number.
The syntax is Max((range); condition;[cell])
|Function list|

SQR or SQRT
Sqrt(x) and sqr(x) return the square root of x (e.g. =sqr(4) returns 2).

Domain: all v>0. Hence sqr(-3) will return a domain error message.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=sqr[C2:L3]". A second way to enter the reference is the following: in the edit box type "=sqr", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=sqr[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

SIN
Sin(x) returns the sine of x, where x is in radians.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=sin[C2:L3]". A second way to enter the reference is the following: in the edit box type "=sin", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=sin[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

COS
Cos(x) returns the cosine of x, where x is in radians.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=cos[C2:L3]". A second way to enter the reference is the following: in the edit box type "=cos", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=cos[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

TAN
Tan(x) returns the tangent of x, where x is in radians. To obtain the cotangent enter "=1/tan(x)".

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=tan[C2:L3]". A second way to enter the reference is the following: in the edit box type "=tan", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=tan[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

ASIN
Asin(x) calculates the arcsine of x, returning the angle in radians.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=asin[C2:L3]". A second way to enter the reference is the following: in the edit box type "=asin", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=asin[Cn:Lm]", where n and m are the indices of the cell containing the argument.

Domain: -1 <= x <= 1
|Function list|

ACOS
Acos(x) calculates the arccosine of x, returning the angle in radians.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=acos[C2:L3]". A second way to enter the reference is the following: in the edit box type "= acos", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "= acos[Cn:Lm]", where n and m are the indices of the cell containing the argument.

Domain: -1 <= x <= 1
|Function list|

ATAN
Atan(x) calculates the arctangent of x, returning the angle in radians. To obtain the arccotangent enter "=atan(1/x)".

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=atan[C2:L3]". A second way to enter the reference is the following: in the edit box type "= atan", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "= atan[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

LN
Ln(x) returns the natural logarithm of x. It is the inverse of the EXP( ) function. See LOG( ) for the decimal logarithm.

Domain: all x>0.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=ln[C2:L3]". A second way to enter the reference is the following: in the edit box type "=ln", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=ln[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

LOG
Log(x) returns the decimal logarithm of x. It is the inverse of 10**x (10 to the power of x). See LN( ) for the natural logarithm.

Domain: all x>0.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=log[C2:L3]". A second way to enter the reference is the following: in the edit box type "=log", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=log[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

EXP
Exp(x) returns the exponential of x, e**x.

Domain: all x<76. For x>75 the function returns an error message.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=exp[C2:L3]". A second way to enter the reference is the following: in the edit box type "=exp", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=exp[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

SIGN
Sign(x) returns -1 for x<0 and +1 for x>=0.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=sign[C2:L3]". A second way to enter the reference is the following: in the edit box type "=sign", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=sign[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

ABS
Abs(x) returns the absolute value of x. Hence abs(-6.3) gives 6.3.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=abs[C2:L3]". A second way to enter the reference is the following: in the edit box type "=abs", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=abs[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

INT
Int(x) truncates x to an integer value. Hence int(5.7) gives 5.

This function only demands a single parameter. If you wish this parameter to be a reference rather than a number, type for instance "=int[C2:L3]". A second way to enter the reference is the following: in the edit box type "=int", then right-button click the spreadsheet cell that contains the argument. The text string will then read: "=int[Cn:Lm]", where n and m are the indices of the cell containing the argument.
|Function list|

BINOM
Binom(N;k) returns the coefficient of the k'th term of an N-binomial. The coefficients of the terms may be found by expanding "Pascal's triangle":
N=0         1
1          1    1
2       1    2    1
3     1   3   3   1
4   1   4   6  4   1   etc,

The numbers in each new row are the sum of the two numbers just above, adding 1s at the borders. The coefficients may also be calculated using the formula:

ck = N! / ( k! . (N-k)! )

Note that both N and k start at 0. Hence binom(3;0) = 1 and the 2nd term (k=1) of a 4 binomial (n=4) equals 4. Binom(4;2)=6 etc.nbsp; |Function list|

CHIDIST
Chidist(c2;df) returns the probability of a chi-2 value at df degrees of freedom.

Chidist(c2;df) is used to find the statistical probability of the outcome the chi-square test. chidist
|Function list|

TDIST
Tdist(t;df;s) returns the probability of a t-value at df degrees of freedom, single sided (s=1) or double sided (s=2). It is the integral of TDENS( ). Tval(p;df;s) is its inverse function (i.e. it returns the t-value, given the probability p, df and s).

Tdist is used to find the statistical probability of the outcome of Student's t-test. A Gaussian distribution is assumed.

Domain: t>0 & df>0 tdist
|Function list|

RAND
Rand(x) returns a random floating point number between 0 and x. The outcome of all values between 0 and x have equal probability.
|Function list|

CIMIN
Cimin(range) returns the column index of the spreadsheet cell containing the minimum in the range of cells. To obtain the minimum value itself use the MIN( ) function.

There are two ways to enter a range in a function:
i) Type it (e.g. "cimin(C2:L2;C2:L300)"), N.B.: do not type the quotation characters, or
ii) in the spreadsheet edit box type "=cimin(" and place the cursor behind the bracket "(". Then right-button-click the first cell of the range in the spreadsheet and move the mouse while keeping the right mouse button depressed. Release the mouse button at the last cell to be included. The range selected for the function appears in the edit box, the closing bracket ")" is added and the corresponding cells in the spreadsheet are highlighted in yellow.

The conditional form of this function takes a condition as a second parameter and a third parameter that indicates the upper left spreadsheet cell of a range of cells with the same dimensions as the first range of cells. Thus, to each cell in the first range corresponds a cell in the second range. If the content of the cell in the second range satisfies the condition, then the content of the cell in the first is taken into account by the function. The condition consists of one of the operators =, >, <, >= or <= followed by a (floating point) number.
The syntax is Cimin((range); condition;[cell]).
|Function list|

CIMAX
Cimax(range) returns the column index of the spreadsheet cell containing the maximum in the range of cells. To obtain the maximum value itself use the MAX( ) function.

There are two ways to enter a range in a function:
i) Type it (e.g. "cimax(C2:L2;C2:L300)"), N.B.: do not type the quotation characters, or
ii) in the spreadsheet edit box type "=cimax(" and place the cursor behind the bracket "(". Then right-button-click the first cell of the range in the spreadsheet and move the mouse while keeping the right mouse button depressed. Release the mouse button at the last cell to be included. The range selected for the function appears in the edit box, the closing bracket ")" is added and the corresponding cells in the spreadsheet are highlighted in yellow.

The conditional form of this function takes a condition as a second parameter and a third parameter that indicates the upper left spreadsheet cell of a range of cells with the same dimensions as the first range of cells. Thus, to each cell in the first range corresponds a cell in the second range. If the content of the cell in the second range satisfies the condition, then the content of the cell in the first is taken into account by the function. The condition consists of one of the operators =, >, <, >= or <= followed by a (floating point) number.
The syntax is Cimax((range); condition;[cell])
|Function list|

LIMIN
Limin(range) returns the line (row) index of the spreadsheet cell containing the minimum in the range of cells. To obtain the minimum value itself use the MIN( ) function.

There are two ways to enter a range in a function:
i) Type it (e.g. "limin(C2:L2;C2:L300)"), N.B.: do not type the quotation characters, or
ii) in the spreadsheet edit box type "=limin(" and place the cursor behind the bracket "(". Then right-button-click the first cell of the range in the spreadsheet and move the mouse while keeping the right mouse button depressed. Release the mouse button at the last cell to be included. The range selected for the function appears in the edit box, the closing bracket ")" is added and the corresponding cells in the spreadsheet are highlighted in yellow.

The conditional form of this function takes a condition as a second parameter and a third parameter that indicates the upper left spreadsheet cell of a range of cells with the same dimensions as the first range of cells. Thus, to each cell in the first range corresponds a cell in the second range. If the content of the cell in the second range satisfies the condition, then the content of the cell in the first is taken into account by the function. The condition consists of one of the operators =, >, <, >= or <= followed by a (floating point) number.
The syntax is Limin((range); condition;[cell])
|Function list|

LIMAX
Limax(range) returns the line (row) index of the spreadsheet cell containing the maximum in the range of cells. To obtain the maximum value itself use the MAX( ) function.

There are two ways to enter a range in a function:
i) Type it (e.g. "limax(C2:L2;C2:L300)"), N.B.: do not type the quotation characters, or
ii) in the spreadsheet edit box type "=limax(" and place the cursor behind the bracket "(". Then right-button-click the first cell of the range in the spreadsheet and move the mouse while keeping the right mouse button depressed. Release the mouse button at the last cell to be included. The range selected for the function appears in the edit box, the closing bracket ")" is added and the corresponding cells in the spreadsheet are highlighted in yellow.

The conditional form of this function takes a condition as a second parameter and a third parameter that indicates the upper left spreadsheet cell of a range of cells with the same dimensions as the first range of cells. Thus, to each cell in the first range corresponds a cell in the second range. If the content of the cell in the second range satisfies the condition, then the content of the cell in the first is taken into account by the function. The condition consists of one of the operators =, >, <, >= or <= followed by a (floating point) number.
The syntax is Limax((range); condition;[cell]).
|Function list|

TIME
Time(h,m,s) takes three parameters h (hours), m (minutes) and s (seconds) and returns the "time" format: "h:m:s". h,m and s may be floating point. Hence "=time(1.5;0;0)" returns "1:30:0".

HOUR
Hour(h) interprets h as hours and sets output to the "time" format. Hence "hour(0.5) returns "0:30:0".
|Function list|

MINUTE
Minute(m) interprets m as minutes and sets output to the "time" format. Hence minute(90) returns "1:30:0".
|Function list|

SECOND
Second(s) interprets s as seconds and sets output to the "time" format. Hence second(80) returns "0:1:20".
|Function list|

FLOAT
Float(x) converts x, if it is in "h:m:s" or "d/m/y" format, to a floating point number (in seconds or days after 31st december of the year zero respectively), otherwise it does not do anything. Hence "=float(time(0,1,1))" returns "61".

The program internally stores date data as the number of days since 31st Dec of the year 0 according to the Gregorian calendar. This number of days may be retrieved using the function "float()". In general, math operations on dates give results that are not meaningful. There are a few exceptions. Suppose two spreadsheet cells, (C1:L1) and (C2:L1), each contain a date, then "=float((C1:L1)-(C2:L1))" returns the difference in days between the two dates. With the functions year(n) and month(n) one can add (or subtract) a certain number of years or months to (from) dates. Hence, if cell (C1:L1) contains a date, say 12/10/1999, then the expression "=(C1:L1)+year(2)" will return 12/10/2001. The addition of dates, years, months and days is neither commutative nor associative. As the program's formula parser supposes the normal associativity and commutativity rules, the user should explicitly indicate the order in which math operations have to occur. For example "=(C1:L1)+year(2)" will not give the same result as "=year(2)+(C1:L1)". Typing "=(C1:L1)+year(2)+month(1)" is dubious since the parser may first add year(2) and month(1), applying the normal associativity rule for addition, before adding it to the date. To be sure of the result type "=((C1:L1)+year(2))+month(1)".nbsp; |Function list|

CLOCK
Clock does not take arguments and shows a a ticking clock that is updated every second. The spreadsheet is updated at each tick. This property may be used for animations.
|Function list|

ERF
Erf(x) error function of x. It returns twice the integral of the Gaussian distribution with 0 mean and variance of 1/2. erf
|Function list|

ERFC
Erfc(x) returns the complementary error function value. It returns 1 minus twice the integral of the Gaussian distribution with 0 mean and variance of ½ (1-erf(x)). See also ERF( ). erfc
|Function list|

ERFCX
Erfcx(x) the scaled complementary error function. See also ERF( ). erfcx
|Function list|

DATE
Date(d;m;y) takes three parameters d (days), m (months) and y (years) and returns the "date" format: "d/m/y".

The program internally stores date data as the number of days since 31st Dec of the year 0 according to the Gregorian calendar. This number of days may be retrieved using the function "float()". In general, math operations on dates give results that are not meaningful. There are a few exceptions. Suppose two spreadsheet cells, (C1:L1) and (C2:L1), each contain a date, then "=float((C1:L1)-(C2:L1))" returns the difference in days between the two dates. With the functions year(n) and month(n) one can add (or subtract) a certain number of years or months to (from) dates. Hence, if cell (C1:L1) contains a date, say 12/10/1999, then the expression "=(C1:L1)+year(2)" will return 12/10/2001. The addition of dates, years, months and days is neither commutative nor associative. As the program's formula parser supposes the normal associativity and commutativity rules, the user should explicitly indicate the order in which math operations have to occur. For example "=(C1:L1)+year(2)" will not give the same result as "=year(2)+(C1:L1)". Typing "=(C1:L1)+year(2)+month(1)" is dubious since the parser may first add year(2) and month(1), applying the normal associativity rule for addition, before adding it to the date. To be sure of the result type "=((C1:L1)+year(2))+month(1)".  |Function list|

MONTH
Month(n) returns the duration in days of n months. The return value depends on context and defaults to 30.

The program internally stores date data as the number of days since 31st Dec of the year 0 according to the Gregorian calendar. This number of days may be retrieved using the function "float()". In general, math operations on dates give results that are not meaningful. There are a few exceptions. With the functions year(n) and month(n) one can add (or subtract) a certain number of years or months to (from) dates. Hence, if cell (C1:L1) contains a date, say 12/10/1999, then the expression "=(C1:L1)+year(2)" will return 12/10/2001. The addition of dates, years, months and days is neither commutative nor associative. As the program's formula parser supposes the normal associativity and commutativity rules, the user should explicitly indicate the order in which math operations have to occur. For example "=(C1:L1)+month(2)" will not give the same result as "=month(2)+(C1:L1)". Typing "=(C1:L1)+year(2)+month(1)" is dubious since the parser may first add year(2) and month(1), applying the normal associativity rule for addition, before adding it to the date. To be sure of the result type "=((C1:L1)+year(2))+month(1)".
|Function list|

YEAR
Year(n) returns the duration in days of n years. The return value depends on context and defaults to 365.

The program internally stores date data as the number of days since 31st Dec of the year 0 according to the Gregorian calendar. This number of days may be retrieved using the function "float()". In general, math operations on dates give results that are not meaningful. There are a few exceptions. With the functions year(n) and month(n) one can add (or subtract) a certain number of years or months to (from) dates. Hence, if cell [C1:L1] contains a date, say 12/10/1999, then the expression "=[C1:L1]+year(2)" will return 12/10/2001. The addition of dates, years, months and days is neither commutative nor associative. As the program's formula parser supposes the normal associativity and commutativity rules, the user should explicitly indicate the order in which math operations have to occur. For example "=[C1:L1]+month(2)" will not give the same result as "=month(2)+[C1:L1]". Typing "=[C1:L1]+year(2)+month(1)" is dubious since the parser may first add year(2) and month(1), applying the normal associativity rule for addition, before adding it to the date. To be sure of the result type "=([C1:L1]+year(2))+month(1)".
|Function list|

GAMMA
Gamma(x) calculates the gamma function, that has the properties: gamma(n+1)=n! and x*gamma(x)=gamma(x+1). The routine uses a polynomial approximation of the domain 0 < x <= 1 and iterates to find Gamma(x) outside this domain. Gamma(x) returns 0 for x values very close to the asymptotes (δ<1E-15).

domain: all x exept for x = 0 ± δ, -1 ± δ, -2 ± δ, -3 ± δ, ... etc.

gamma
|Function list|

GDIST
Gdist(u;n;t) is short for Gamma Distribution. This function returns the probability density of the waiting time until the nth event, given the process rate u. u,n and t may all three be floating point.
gdist formula where (n) is the gamma function described above. For integer n, Gdist reduces to:
gdist reduced
domain: u>0, t>=0, n>0.

gdist
|Function list|

TDENS
Tdens(t;df) returns the probability-density of the t-function for t at df degrees of freedom, single sided. See also TDIST( ).

Domain: t>0 & df>0 tdensity
|Function list|

FDENS
fdens(x;df1;df2) returns the probability density of Fisher's F-function for x at df1 (data sets) and df2 (total N-1) degrees of freedom. See also FDIST( ).
|Function list|

FDIST
Fdist(x;df1;df2) returns the probability of a F-value (x) at df1 and df2 degrees of freedom. It is the integral of FDENS( ).

Fdist( ) returns the statistical probability of the outcome of Fisher's F-test. If more than two columns of data are compared (df1>1) Fisher's test, rather than Student's t-test should be used. df2 refers to the number of data per experimental condition (i.e. per column) minus 1.

fdist
|Function list|

QPROB
Qprob(q;k;n) returns the probability for a q-value given k data sets and a total of n data. This function is used in multiple comparison tests (ANOVA), comparing pairs of columns of data, after having tested for statistical significance with Fisher's F-test. k represents the number of experimental conditions (columns in the spreadsheet) and n refers to the total number of data in all columns.
|Function list|

SBAR
Sbar( ) takes three arguments. A horizontal slide bar is displayed in a spreadsheet cell when using the function "=SBAR(minimum;current value;maximum)". Minimum and maximum set the range of values the current value (or cursor position) may adopt. The initial "current value" is immaterial, but may not be left blank and may NOT be a reference to a cell. The sbar() function may be part of a more intricate formula, e.g. "=1+sbar(0;5;10)", but it should appear only once in a spreadsheet cell. The resolution of the slidebar is 1/100, therefore clicking on one of the two gadgets gadget at the extremities of the slide bar will increment or decrement the current value by 1% of the difference between maximum and minimum. Clicking between an endpoint gadget and the central cursor will change the current value by 10%. The central cursor may be moved by dragging it with the mouse. As with all other spreadsheet functions, the sbar() arguments may be functions or references. However, it is useless to assign a function or reference to "current value" as it will be replaced by a floating point number as soon as the user actions the slidebar.
The output of a spreadsheet cell containing a slidebar may be used for example as a parameter in a function defining a column of spreadsheet cells. If this column is linked to a graph on a drawing sheet, then moving the slidebar cursor will change the data in the spreadsheet and hence the graph. See the "doc" file in the program directory for an example.
|Function list|

GETCNUM
GetCNum(l;x;c0) takes three arguments: a spreadsheet line, l, a number x and the starting colmn c0. GetCNum(l;x;c0) returns the column index of the cell in line l that contains the value identical or the closest to the number x. If the line contains several values identical to x, then GetCNum() returns the lowest index. Use the returned index incremented by 1 for c0 to get the next occurrence. Use GETCCNUM if the match has to be identical rather than approximate.
|Function list|

GETLNUM
GetLNum(c;x;r0) takes three arguments: a spreadsheet column, c, a number x and the starting row r0. GetLNum(c;x;r0) returns the line index of the cell in column c that contains the value identical or the closest to the number x. If the column contains several values identical to x, then GetLNum() returns the lowest index. Use the returned index incremented by 1 for r0 to get the next occurrence. Use GETCLNUM if the match has to be identical rather than close.
|Function list|

GETCTEXT
GetCText(l;x;c0) takes three arguments: a spreadsheet line, l, a character string x and the starting colmn c0. GetCText(l;x;c0) returns the column index of the cell in line l that contains the character (sub-)string identical to x. If the line contains several texts identical to x, then GetCText() returns the lowest index. If the text cannot be found, then GetCText() returns 0. Use the returned index incremented by 1 for c0 to get the next occurrence. Use GetcCText() to search for a identical text of identcal length.
|Function list|

GETLTEXT
GetLText(c;x;r0) takes three arguments: a spreadsheet column, c, a character string x and the starting row r0. GetLText(c;x;r0) returns the line index of the cell incolumn c that contains the character (sub-)string identical to x. If the column contains several texts identical to x, then GetLText() returns the lowest index. If the text cannot be found, then GetLText() returns 0. Use the returned index incremented by 1 for r0 to get the next occurrence. Use GetcLText() to search for a identical text of identcal length.
|Function list|