ADDRESS Function in ONLYOFFICE Spreadsheet Editor
Build A1 or R1C1 address text in ONLYOFFICE, choose absolute or mixed references and use the result safely with INDIRECT.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =ADDRESS(6,4) is expected to return the text $D$6. It does not return the value stored in D6.
Availability and evidence scope
- Introduction: The original introduction release is not established by the sources checked.
- Current documentation: Listed in ONLYOFFICE’s unversioned official function help, checked October 18, 2026.
- Source scope: Inspected in official SDKJS tag v10.0.0.169, commit
3679e0375a758d7dc59d31337a45461be3525ed8. This is source inspection, not proof that every deployed editor contains identical code. - Retired or deprecated: Neither status is established; the function is documented and implemented in the inspected source.
- Testing: Examples are independently calculated or explicitly source-derived. They have not been tested in the ONLYOFFICE application or calculation engine. No native screenshot or workbook-import compatibility is claimed.
Formulas use commas and English names. If your regional settings use semicolons, replace argument separators outside quoted text.
Syntax and defaults
=ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])
| Argument | Meaning and default |
|---|---|
| row_num | One-based row number: 6 means row 6 |
| column_num | One-based column number: 4 means column D |
| abs_num | Reference locking selector, default 1 |
| a1 | TRUE or omitted for A1 notation; FALSE for R1C1 notation |
| sheet_text | Optional worksheet-name prefix; omitted means no prefix |
The source accepts two through five arguments. The row comes first and the column second. Column 1 is A, 26 is Z and 27 is AA; column numbers are not zero-based programming indexes.
Reference-locking choices
For row 6 and column 4, the four integer selectors produce:
| abs_num | A1 result | Meaning |
|---|---|---|
| 1 | $D$6 |
Both row and column absolute |
| 2 | D$6 |
Absolute row, relative column |
| 3 | $D6 |
Relative row, absolute column |
| 4 | D6 |
Both relative |
The dollar signs are characters in the returned string. ADDRESS does not move or lock any existing worksheet cell by itself. If another function later interprets the text as a reference, that next function determines how it is used.
Step-by-step: construct an address and retrieve a value
- On a fresh worksheet put 42 in D6.
- Put 6 in A2 and 4 in B2.
- In C2 enter
=ADDRESS(A2,B2). Expected text:$D$6. - In E2 enter
=INDIRECT(C2). The independently expected value is 42, because INDIRECT interprets the address text. - Change D6 to 57. ADDRESS still constructs the same text; the dependent INDIRECT calculation should then refer to 57.
The last two steps are a reproducible composition example, not a native ONLYOFFICE observation. Keep the address output separate from the target cell to avoid accidentally constructing a circular reference. If you already know the target statically, a direct =D6 formula is simpler and easier to audit.
Advanced case: build a bounded range from row inputs
On another fresh worksheet put 10, 20 and 30 in D6:D8. Put starting row 6 in A2, ending row 8 in B2 and column number 4 in C2. Use:
=ADDRESS(A2,C2,4)&":"&ADDRESS(B2,C2,4)
The expected text is D6:D8. Passing that text to INDIRECT and then SUM gives an independently expected total of 60:
=SUM(INDIRECT(ADDRESS(A2,C2,4)&":"&ADDRESS(B2,C2,4)))
Validate that the start row is positive and no greater than the end row before constructing the text. A text string can look like a reference without identifying the intended data, so retain visible row/column inputs and a small known-value check when building a dynamic report.
R1C1 notation and worksheet names
With a1=FALSE, absolute row 6/column 4 is R6C4. With abs_num=4, the source constructs R[6]C[4]. Brackets mark relative components in R1C1 syntax. Do not feed R1C1 text into a consumer configured for A1 notation and assume it will be interpreted correctly. If you use INDIRECT, align its own reference-style argument with the generated notation.
The optional sheet_text parameter adds a sheet qualifier. The inspected function delegates quoting and escaping to a separate parser helper. These examples intentionally omit that argument; they do not establish every punctuation or apostrophe-escaping case. Omitting sheet_text is also not equivalent to explicitly supplying an empty string: the inspected body gives the latter an exclamation-mark prefix. For cross-sheet models, verify the exact generated text with your real sheet name before relying on it.
ADDRESS constructs text and does not prove that a named worksheet exists or that the target contains a useful value. A successful string result is therefore a formatting result, not a successful lookup.
Errors and boundary checks
The source converts row and column to numbers, parses them as integers and rejects values below 1 or above the engine’s row/column limits with a value-type error, conventionally #VALUE!. The row-zero case in the table is a source prediction of that error. Use positive whole row and column numbers rather than relying on truncation of fractions.
abs_num is checked against the range 1–4, but it is not explicitly normalized to an integer before selecting a reference mode. Use exactly 1, 2, 3 or 4. Invalid numeric conversions can propagate their own errors. Large range/array arguments have additional selection behavior not demonstrated by the scalar examples; do not infer dynamic-array output from this guide.
Reproducible checks
The following are expected values, not application observations. Numeric examples use independent arithmetic; implementation-specific outputs and errors are source predictions. Keep enough displayed precision to distinguish rounding from a changed formula.
| Formula | Expected result |
|---|---|
=ADDRESS(6,4) |
$D$6 |
=ADDRESS(6,4,2) |
D$6 |
=ADDRESS(6,4,3) |
$D6 |
=ADDRESS(6,4,4) |
D6 |
=ADDRESS(6,4,1,FALSE) |
R6C4 |
=ADDRESS(6,4,4,FALSE) |
R[6]C[4] |
=ADDRESS(0,4) |
#VALUE! |
Compatibility and related functions
Use the exact argument order above when moving a workbook between products. Similar function names do not establish identical reference construction, validation, rounding or optional-argument handling. This guide does not certify older ONLYOFFICE releases, mobile editors or file-format round trips. The inspected definition uses the canonical name ADDRESS; no alternate user-facing name is established here.
INDIRECT turns address text into a reference. ROW and COLUMN obtain coordinates from existing references. SUM can aggregate the range after it has been interpreted.
First-party references
- ONLYOFFICE ADDRESS help, current unversioned function reference, checked October 18, 2026.
- Official SDKJS v10.0.0.169 implementation, pinned source for argument defaults, validation and implementation details discussed above.