ROW in SoftMaker PlanMaker: Cell Row Numbers and Array Formulas
Learn PlanMaker ROW syntax and optional references, automatic row labels, vertical array output, copy-safe examples, and Excel migration notes.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in SoftMaker PlanMaker 2026. How formula examples are checked
Quick answer: =ROW(D2) returns 2, because D2 is on worksheet row 2. Entering =ROW() in cell B7 returns 7, because omitting the optional argument uses the formula cell’s own row. PlanMaker 2026 documents the syntax ROW([Reference]). Official SoftMaker reference.
Evidence and test status: Official 2024 and 2026 English help checked October 12, 2026 (UTC). The displayed results below are either published by SoftMaker or independently calculated from cell coordinates. No installed PlanMaker or Excel was executed, so the calculated results are expected, not observations.
What ROW is useful for
Use ROW when you need the physical position of a cell rather than its contents. Useful cases include numbering records, locating a worksheet row for an audit, and creating a vertical sequence of row numbers for calculations. A row number is not the number of rows within a range: ROW(D12) returns 12, whereas ROWS(D12:F14) counts 3 rows. These are separate functions.
Official syntax, argument type and default
=ROW([Reference])
- Reference (optional): a single cell reference, such as
D2, or a rectangular cell range, such asD2:F4. Use a reference, not the quoted text"D2". - No argument:
=ROW()returns the row number of the cell containing the formula. There is no explicit numeric default; the current cell’s location determines the result. - Single-cell reference: returns one integer (worksheet rows begin at 1).
- Range reference: SoftMaker documents a vertical array containing each row number in that range; to return the whole array, enter an array formula using the documented array workflow.
The square brackets in the documentation indicate an optional argument, not characters to type. Formula case is shown uppercase for readability. These examples have at most one function argument, so no comma/semicolon argument delimiter is involved. However, locale can affect argument delimiters in formulas that nest ROW with multi-argument functions, and the display syntax of array constants can vary by locale. Do not manually type curly-brace array output shown below into the formula bar expecting an identical result.
Example 1: Return a single cell’s row
Enter the following in blank cells (the formula’s own location does not affect these results because it has an explicit reference):
| Entered formula | Expected result | Why |
|---|---|---|
=ROW(D2) |
2 | D2 is on row 2; vendor example |
=ROW(A1) |
1 | First worksheet row |
=ROW(F12) |
12 | F12 is on row 12 |
=ROW($G$25) |
25 | Absolute reference still points to row 25 |
The vendor explicitly documents the first example. The others follow its rule and were checked by independent reference-coordinate calculations.
Example 2: Leave Reference empty
Click cell B7, type =ROW() and press Enter. Expected displayed result: 7. Move to a separate empty cell E19 and enter =ROW() there: expected result: 19. The formula has no hidden dependence on a fixed source cell. If you copy =ROW() from B7 to B8, the expected result changes from 7 to 8 because the destination cell has changed; this is a position function, not a persistent record ID.
This behavior follows the vendor’s own =ROW() example in A5 (result 5). If sorting or moving rows changes your record order, consider using a stored ID rather than ROW() as a permanent database identifier.
Example 3: Reproducible record numbering that starts at 1
Use a fresh area of the sheet. Put Item in B1 and Sequence in C1. Type any four item names in B2:B5. In C2, enter:
=ROW()-ROW($B$2)+1
Copy C2 down to C5. Expected values in C2:C5: 1, 2, 3, 4. Explanation: row numbers 2–5 minus the fixed anchor row 2 plus 1 equal 1–4. The dollar signs hold the anchor $B$2 steady while you copy; the unanchored ROW() re-evaluates in each destination cell. This is an independently calculated, documentation-derived example, not a vendor-published worksheet result or native execution.
Pitfall: If you insert a heading or copy the formula elsewhere, check the anchor. Numbering rows with ROW gives position-based labels, not immutable IDs. If you need the number of items, use a suitable counting function rather than interpreting the largest ROW output as a count.
Advanced example: Return several row numbers as a vertical array
SoftMaker explicitly documents ROW(D2:F4) as the three-element vertical array {2;3;4}. The range has three worksheet rows, so there are three row numbers in its output—not nine numbers for its nine individual cells.
To reproduce in PlanMaker 2026, select H2:H4 (three empty cells, one column); enter =ROW(D2:F4) while the output range remains selected, then use Ctrl+Shift+Enter to confirm an array formula. Expected values: H2 = 2, H3 = 3, H4 = 4. This sequence and the array-entry method are supported by the 2026 ROW and Working with arrays help. Windows/Mac/Linux keyboard/menu differences were not native-tested. On Android/iOS, the 2026 manual describes adding an Insert array formula command rather than using a desktop shortcut.
If you select an output range larger than the returned array, SoftMaker’s array-formula chapter documents #N/A for unused result cells. If you select one smaller, only part of the array is displayed. This warning is about array-output dimensions, not a claim that ROW itself produces an error for the valid D2:F4 reference.
ROW versus ROWS (a common confusion)
| Question | Function | Expected result |
|---|---|---|
| Which worksheet row contains D12? | =ROW(D12) |
12 |
| How many rows lie in D12:F14? | =ROWS(D12:F14) |
3 |
| Which row am I currently in? | =ROW() in C9 |
9 |
The ROWS calculation is separately documented by SoftMaker. Do not substitute ROW for ROWS in size or count formulas.
Troubleshooting and limits
- Wrong number after copying: With no argument, ROW reflects the new formula cell, not its original location. With a relative reference, copying may adjust that reference. Use
$anchors if your intention is fixed. - Text mistaken for a reference:
ROW("D2")supplies text rather than the address tokenD2. The official reference describes reference inputs, but does not establish the exact error code for this invalid use; verify in PlanMaker before specifying an error. - Only one row number appears: A range normally needs the vendor-documented array formula method to return the complete set. Make the output range vertical and large enough, then confirm with Ctrl+Shift+Enter in desktop PlanMaker.
- Extra
#N/Acells: If the selected array-output area is too large, the array help specifically documents#N/Ain excess cells; reduce the selected output range and re-enter the array formula. - Circular reference: Placing an unrelated formula in its own referenced input range can create a circular dependency; ROW by itself returns a position and does not read the contents of D2. Avoid treating a reference to the current cell as the same as referencing its value.
- Broken/cross-sheet references or unexpected errors: The inspected ROW reference does not enumerate error codes for invalid or deleted references. Repair the reference first, then test in the relevant PlanMaker build; no unverified
#REF!behavior is claimed here.
Versions, locale and Excel compatibility
The PlanMaker 2024 and PlanMaker 2026/NX English references use the same ROW([Reference]) signature, omitted-reference rule and vertical-array example. The suggested 2021 help URL was not independently accessible, so this guide does not certify 2021 parity. The 2026 guide family covers desktop and mobile but the function was not executed on any edition or platform.
Microsoft’s Excel ROW reference also documents ROW([reference]), the current-cell default and vertical array semantics for the Excel versions listed there. This semantic compatibility does not establish identical legacy/dynamic-array entry behavior or a verified PlanMaker-to-Excel import/export round trip. In particular, follow your actual application’s array-entry interface; PlanMaker’s own help calls for Ctrl+Shift+Enter, while Excel’s contemporary array behavior depends on its version.
Checked references and claim-level trail (October 12, 2026)
- SoftMaker PlanMaker 2026 — ROW: syntax and Reference omission; single-cell and vertical-array examples.
- SoftMaker PlanMaker 2024 — ROW: same documented signature and examples for that release.
- SoftMaker PlanMaker 2026 — Working with arrays: rectangular output selection, Ctrl+Shift+Enter, too-large/too-small output and mobile alternative.
- SoftMaker PlanMaker 2026 — ROWS: returns the count of rows in a range rather than its worksheet coordinates.
- Microsoft Excel — ROW: Excel optional reference, same core function purpose and vertical-array scope.