DRAFT RESOLUTION:

### 6.13.6 COUNT

**Summary:** Count the number of Numbers provided.

**Syntax:** COUNT( { *NumberSequenceList* **N** }^{+} )

**Returns:** *Number*

**Constraints:** One or more parameters.

**Semantics:** Counts the numbers in the list **N**. Only numbers in references are counted; all other types are ignored. ~~Errors are ~~**not** propagated. This function does *not* propagate Error values. It is implementation-defined what happens if 0 parameters are passed, but it should be an Error or 0.

**See also** COUNTA 6.13.7

### 6.13.7 COUNTA

**Summary:** Count the number of non-empty values.

**Syntax:** COUNTA( { *Any* **AnyValue** }^{+} )

**Returns:** *Number*

**Constraints:** None.

**Semantics:** Counts the number of non-blank values. A value is non-blank if it contains any content of any type, including an Error. In a reference, every cell that is not empty is included in the count. An empty string value ("") is *not* considered blank. Errors contained in a range are considered a non-blank value for purposes of the count ~~; errors do ~~*not* propagate . Constant expressions or formulas are allowed; these are evaluated and if they produce an Error value the Error value is counted as one non-blank value ~~(and not propagated as an Error)~~ . This function does not propagate Error values. It is implementation-defined what happens if 0 parameters are passed, but it should be an Error or 0.

**See also** COUNT 6.13.6, ISBLANK 6.13.14

### 6.13.11 ERROR.TYPE

**Summary:** Returns Number representing the specific Error type.

**Syntax:** ERROR.TYPE( *Error* **E** )

**Returns:** *Number*

**Constraints:** None.

**Semantics:** Returns a number representing what kind of Error has occurred. ~~Note that unlike most functions,~~ This function does *not* propagate Error values. Receiving a *non*-Error value returns an Error. In particular, ERROR.TYPE(NA()) returns 7, and ERROR.TYPE applied to a non-Error returns an Error.

**See also** NA 6.13.27

### 6.13.12 FORMULA

**Summary:** Returns formula at given reference as text.

**Syntax:** FORMULA( *Reference* **X** )

**Returns:** *String*

**Constraints:** Reference **X** shall contain a formula.

**Semantics:** Returns the formula in reference **X** as a string. The specific syntax of this returned string is implementation-defined. This function is intended to aid debugging by simplifying display of formulas in other cells. ~~Error results of the referred formula cell are not propagated.~~ This function does *not* propagate Error values.

**See also** ISFORMULA 6.13.18

### 6.13.15 ISERR

**Summary:** Return TRUE if the parameter has type Error and is not #N/A, else return FALSE.

**Syntax:** ISERR( *Scalar* **X** )

**Returns:** *Logical*

**Constraints:** None

**Semantics:** If **X** is of type Error, and ISNA(**X**) is not true, returns TRUE. Otherwise it returns FALSE. Note that this function returns FALSE if given #N/A; if this is not desired, use ISERROR 6.13.16. ~~Note that~~ This function does *not* propagate Error values.

ISERR(**X**) is the same as:

IF(ISNA(**X**),FALSE(),ISERROR(**X**))

**See also** ERROR.TYPE 6.13.11, ISERROR 6.13.16, ISNA 6.13.20, ISNUMBER 6.13.22, ISTEXT 6.13.25, NA 6.13.27

### 6.13.16 ISERROR

**Summary:** Return TRUE if the parameter has type Error, else return FALSE.

**Syntax:** ISERROR( *Scalar* **X** )

**Returns:** *Logical*

**Constraints:** None

**Semantics:** If **X** is of type Error, returns TRUE, else returns FALSE. Note that this function returns TRUE if given #N/A; if this is not desired, use ISERR 6.13.15. ~~Note that~~ This function does *not* propagate Error values.

**See also** ERROR.TYPE 6.13.11, ISERR 6.13.15, ISNA 6.13.20, ISNUMBER 6.13.22, ISTEXT 6.13.25, NA 6.13.27