TYPE in Google Sheets: Inspect Numbers, Text, Arrays and Other Cells
Build a Google Sheets type report with numeric codes, actual-error controls and explicit array examples while separating formulas from their results.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =TYPE(9) gives 1 for a number, while =TYPE("9") gives 2 for text. TYPE classifies the supplied value, so a formula and a constant with the same result type can receive the same code.
Availability and version history
- Introduced: first introduction date is not established by the official history reviewed; no desktop release number is inferred.
- Availability: documented in the rolling Google Sheets service; these examples use the web worksheet workflow.
- Checked: October 14, 2026; official TYPE reference. Documentation and independent models, with no native Google Sheets execution or wider client certification.
Syntax and Google-specific categories
=TYPE(value)
The value argument is required. Google’s dedicated reference lists these codes:
| Category | Code |
|---|---|
| Number | 1 |
| Text | 2 |
| Boolean | 4 |
| Error | 16 |
| Array | 64 |
| Other cell types, including in-cell images and sparklines | 128 |
Code 128 is the Sheets source’s broader “other” category, not a reason to import another product’s exact type taxonomy. Images and sparklines are documented category examples here; this guide has not executed those special-cell controls.
Example 1: inspect scalar values
Create these A2:A8 controls and fill =TYPE(A2) down B2:B8.
| Cell | Entry | Expected code |
|---|---|---|
| A2 | number 9 |
1 |
| A3 | ="9" |
2 |
| A4 | =FALSE() |
4 |
| A5 | =NA() |
16 |
| A6 | ="" |
2 |
| A7 | =3*3 |
1 |
| A8 | ="#N/A" |
2 |
The actual #N/A error in A5 has code 16, whereas its text spelling in A8 has code 2. The empty string in A6 is also text. Two numeric results, three text results, one Boolean and one error account for all seven controls.
Example 2: build readable labels from the helper code
Use this in C2 and fill down:
=IF(B2=1,"Number",IF(B2=2,"Text",IF(B2=4,"Logical",IF(B2=16,"Error","Array or other type"))))
Expected labels are Number, Text, Logical, Error, Text, Number, Text. The final label does not call other documented types invalid; it simply identifies the remaining branch of this scalar-focused report.
To audit a quantity column, a numeric type is only the first check. A negative number or fractional value can still violate the field’s intended constraints. TYPE does not decide whether those values are acceptable.
Example 3: distinguish an array from each element
With the displayed English array separators:
=TYPE({3,6;9,12})
=TYPE(3)
Expected results are 64 and 1. The first argument is a two-row, two-column array; commas separate columns and the semicolon separates rows. Each element is numeric, but the argument as a whole is an array.
TYPE does not return the dimensions. Nor does its array category certify how every multi-cell reference, spill result or enclosing array formula is evaluated. The literal control makes the argument shape explicit without assuming a complete array-context behavior matrix.
Example 4: formulas and constants can share a type
Put =7*6 in E2 and numeric 42 in E3. Both =TYPE(E2) and =TYPE(E3) have expected code 1. To ask whether the formula itself exists, use Google’s separately documented ISFORMULA function: =ISFORMULA(E2) is TRUE and =ISFORMULA(E3) is FALSE.
To display the expression rather than the result, =FORMULATEXT(E2) yields the text =7*6 under the shown English entry. A type audit and a formula audit are therefore complementary checks, not substitutes.
Example 5: compare explicit text conversion
For A3 containing ="9", =TYPE(A3) is 2. For this digit string, =TYPE(VALUE(A3)) is 1. The conversion changes the type while retaining the numeric quantity nine.
That does not justify converting every identifier string: leading zeros or formatting conventions can be meaningful. Keep the original data and a separate converted column until the field’s rule has been checked.
Troubleshooting and limits
ISNUMBER, ISTEXT and ISLOGICAL offer direct Boolean tests. ERROR.TYPE distinguishes documented error classes after TYPE has identified an error value.
Blank/null subtleties, imported special data and native in-cell image or sparkline behavior remain outside the worked scalar and literal-array controls.
References and verification
Examples use fictional inputs, English function names and comma argument separators. Expected outputs are independently modeled from the cited rules, not native Sheets captures. Check the spreadsheet locale when reproducing punctuation-sensitive formulas.