# Types

A workbook in Excel is a basically a 2D array of input/output cells. Each cell can have a value with one of following types

**Blank**- an empty value. Mostly for blanks cells or used for optional arguments of functions.**Logical**- a boolean value**Number**- an equivalent of double, but without NaN or Infinity. Number also represents dates/timespans through serial datetime.**Text**- A text of up to 32767 characters**Error**- One of the excel errors, #DIV/0

In the future, we will call a union of these types a **scalar value**.

Workbook also contains formulas, a receipies that take a values and calculate a new values. Formulas are used in

cells formula - in that case, the output of the formula is written into the cell

names - although names are mostly used to refere to a range of cells, they are formulas and thus can contain any formula expression (e.g. 1+2)

array formulas - formula changes value of 2D array of cells.

Values used during formula evaluation can have the types that are in cell, but in addition can have also following types:

**array**- a 2D array of scalar values.**reference**- A reference to a range of cells, possibly non-contiguous.