Zoho Sheet TOROW: Horizontal Arrays, Scan Order and Missing Values
Use TOROW in Zoho Sheet with explicit row and column scans, blank/error controls and measurement summaries that expose ordering mistakes.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
TOROW transforms a rectangular range into a single horizontal sequence. Choose whether it reads the first source row completely or reads down the first column first. The same values can produce very different groups when later formulas select only part of that sequence.
Availability and version history
- Introduced: Added in November 2022, according to Zoho’s release history and its linked seven-function announcement. No numbered cloud release is specified.
- Availability: Listed in the current Zoho Sheet function help; no final supported-version endpoint is established.
- Scope: Current web-service documentation. Individual mobile clients, offline use and imported workbook behavior remain separately unverified.
- Checked: October 14, 2026, against the official TOROW reference. The worked layouts and calculations were independently derived; no native Zoho Sheet test was performed.
Syntax and optional controls
TOROW(array; [ignore]; [direction])
The TOROW reference requires the array or cell range. The optional controls are:
| ignore | Documented selection |
|---|---|
| 0 or omitted | Keep all values |
| 1 | Omit blank cells |
| 2 | Omit errors |
| 3 | Omit blank cells and errors |
For direction, FALSE or omitted reads each row from left to right before moving down. TRUE reads each column from top to bottom before moving right. This controls the sequence, not merely the orientation of the final result.
Zoho’s seven-function announcement describes TOROW and TOCOL separately. TOROW returns a row even when it scans the source by columns.
Lay out two departments’ month labels
Create MonthLabels, reserving A1:L12. Enter these text values in A2:C3 without quotation marks. They are labels, not dates:
| Row | A | B | C |
|---|---|---|---|
| 2 | Jan-N | Feb-N | Mar-N |
| 3 | Jan-S | Feb-S | Mar-S |
Leave E2:J2, E4:J4 and E6:J6 empty. Enter =TOROW(A2:C3) in E2, =TOROW(A2:C3;0;TRUE) in E4 and =TOROW(A2:C3;0;FALSE) in E6.
Zoho’s dynamic-array instructions say to enter one anchor formula and press Enter. Its results occupy adjacent cells automatically. Leave the complete output area empty; an obstruction produces #SPILL!. Do not fill duplicate formulas across the intended result.
| Output row | E | F | G | H | I | J |
|---|---|---|---|---|---|---|
| 2: default | Jan-N | Feb-N | Mar-N | Jan-S | Feb-S | Mar-S |
| 4: by column | Jan-N | Jan-S | Feb-N | Feb-S | Mar-N | Mar-S |
| 6: explicit by row | Jan-N | Feb-N | Mar-N | Jan-S | Feb-S | Mar-S |
The default groups the northern labels, then the southern labels. The column scan groups both January labels, then both February labels, then both March labels. Neither formula sorts the labels alphabetically or recognizes a calendar; the arrangement follows source positions.
Copy MonthLabels as ChangedLabel and change B3 to Feb-S-revised. That value appears in I2, H4 and I6. All other values retain their original order. This control is useful when tracing an unexpected output back to its source cell.
Filter blanks and errors without losing the ordering rule
Create IncompleteLabels, reserving A1:L10. Set A2 to N1, C2 to N3, B3 to S2 and C3 to S3. Leave B2 genuinely empty. Put =NA() in A3 to create the documented unavailable-value error, as described by Zoho’s NA reference.
Keep E2:H2, E4:H4 and E6:I6 empty. Put these anchor formulas in the indicated cells:
| Cell | Formula | Expected left-to-right sequence |
|---|---|---|
| E2 | =TOROW(A2:C3;3;FALSE) |
N1, N3, S2, S3 |
| E4 | =TOROW(A2:C3;3;TRUE) |
N1, S2, N3, S3 |
| E6 | =TOROW(A2:C3;1;FALSE) |
N1, N3, error, S2, S3 |
Ignore 3 removes both the blank and error. Ignore 1 keeps the error in the sequence, so its position is visible in G6. Do not replace that error with an ordinary text label in the input; that would test a different datatype.
The blank in this example is an unused cell. A formula returning empty text is a separate case whose omission behavior is not established here. The guide also avoids assuming a displayed value for retained blanks under ignore 0 or 2.
Advanced: the first three values can mean different things
Create Measurements, reserving A1:L12. Put the following numbers in A2:B4:
| Row | A: instrument A | B: instrument B |
|---|---|---|
| 2 | 4 | 9 |
| 3 | 6 | 10 |
| 4 | 8 | 12 |
Enter =TOROW(A2:B4;0;FALSE) in E2 and =TOROW(A2:B4;0;TRUE) in E4, leaving E2:J2 and E4:J4 empty. The sequences are 4,9,6,10,8,12 and 4,6,8,9,10,12.
Use these separate summaries:
| Cell | Formula | Expected result |
|---|---|---|
| E7 | =AVERAGE(E2:G2) |
6.3333333333 |
| E8 | =AVERAGE(E4:G4) |
6 |
| H7 | =SUM(E2:J2) |
49 |
| H8 | =SUM(E4:J4) |
49 |
| J7 | =AVERAGE(E2:J2) |
8.1666666667 |
| J8 | =AVERAGE(E4:J4) |
8.1666666667 |
The displayed decimals are rounded versions of 19/3 and 49/6. The first three entries of the row scan mix instruments; the first three entries of the column scan contain only instrument A. AVERAGE cannot infer which grouping you intended. SUM over all six entries agrees because no value was omitted.
Copy Measurements as ChangedInstrument and change A4 from 8 to 80. It appears in I2 for the row scan and G4 for the column scan. E7 stays 19/3, E8 becomes 30, both totals become 121, and both full means become 121/6, approximately 20.1666666667.
Practical limits and errors
A horizontal result needs enough free columns. Put headings above or below it, not inside the spill area. The official entry lists #NUM! when the array is too large without stating a precise size ceiling, and lists general type/reference errors. These examples do not establish outcomes for undocumented setting values.
Filtering each field independently can misalign records when fields have different blanks or errors. Keep record relationships explicit before flattening. Mobile behavior, imported formulas, unusual cell types and exact capacity limits remain separately unverified; the formulas use the reference’s semicolon separators.