Collabora Office CONCAT: Join ranges in row order without a delimiter
Join text and cell ranges in the new Linux desktop build with CONCAT, explicit separators, row-major traversal and formatting cautions.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: CONCAT joins values into one text string. For a rectangular range it reads each row from left to right, then proceeds downward. It inserts no separator automatically, so adjacent values can become indistinguishable unless you supply punctuation or spaces.
Syntax and relationship to CONCATENATE
=CONCAT(String1 [; String2 ... String255])
The help documents up to 255 arguments, including text values and ranges. Its range support is the important distinction from the existing CONCATENATE guide. In the pinned source CONCAT has its own dispatch to ScConcat_MS; it is not merely another spelling for the CONCATENATE evaluator. Official CONCAT help.
Text literals require double quotes. Cell references do not. A literal " " supplies a space and "" supplies no characters. Numbers can be converted to text, but CONCAT is not a substitute for explicitly formatting amounts or dates before combining them.
Worked example: see the exact range order
Enter this text grid in A1:C2. The slash cells contain the single text character /.
| Row | A | B | C |
|---|---|---|---|
| 1 | North | / | East |
| 2 | South | / | West |
- Use
=CONCAT(A1:C2). - The independent expected string is North/EastSouth/West.
- Read it as A1, B1, C1, then A2, B2, C2. No newline or space is added at the row boundary.
To mark that boundary explicitly, use:
=CONCAT(A1:C1;" | ";A2:C2)
The expected string is North/East | South/West. This has the same two source rows, with an explicit three-character separator between them. Passing " | " as a separate argument does not instruct CONCAT to insert that separator between every cell of a larger range.
For one pair, =CONCAT(A1;" → ";C1) gives North → East. Those spaces belong to the literal separator; the function does not infer them from the source values.
Advanced use: construct unambiguous identifiers
=CONCAT("ID-";12) independently gives ID-12. If a required identifier must instead be ID-0012, ensure the number is converted to the required four-digit text before joining. Merely displaying a cell with leading zero formatting is not evidence that CONCAT will preserve that display.
More generally, joining fields without boundaries can create collisions: the pairs AB plus C, and A plus BC, both become ABC. Put a controlled separator between fields, and decide how to handle that same character occurring inside a field. CONCAT itself does not escape delimiters or implement a CSV quoting scheme.
For repeatable exports, use a bounded range rather than an entire column containing unrelated notes. Range traversal includes every relevant cell in the selected rectangle; it does not understand a record schema or stop at the first blank.
Blanks, spaces, numbers and errors
For A1:B2 containing row 1 A and a genuine blank, followed by row 2 B and C, =CONCAT(A1:B2) has independent expected result ABC. Empty referenced cells contribute no characters. They also contribute no placeholder indicating where the empty field was, which matters when joining structured records.
=CONCAT(" A ";"B") gives ** A B**, preserving the leading space and the space after A. The function does not generally trim text. The source’s cell-string helper can remove referenced line breaks when the document’s ignore-line-breaks option is enabled, so a blanket claim that every referenced line break always survives would be too strong.
Numerical referenced values are converted through the engine’s numeric-to-string helper, not copied as a screenshot of the cell’s custom display. Decimal separators and other formatting-sensitive output need separate locale checks. The examples use plain text and a simple integer to avoid assuming unverified date or currency formatting.
The ScConcat_MS evaluator checks output length, rejects a range spanning multiple sheets and does not offer an ignore-errors argument. Formula-cell errors enter the error state through GetCellString; do not assume CONCAT will silently skip them. Exact UI error messages and maximum practical text length have not been tested here.
Product scope, compatibility and evidence
This guide covers the new Collabora Office desktop for Linux, using the Flathub source tag coda-26.04.4.3-1 and commit 81339d176148d0d5c81ff05d82540f58f8aaa117. The official desktop release notes and Linux package manifest identify that product/build. The package manifest is a dated observation from October 18, 2026, rather than an installed-binary check.
The 26.04 function help and exact evaluator source were inspected on October 18, 2026. Expected examples were independently calculated; no Collabora application was run. The expected strings describe the inspected evaluator and independent text construction; native formatting and keyboard-entry behavior have not been tested. Classic, Online/CODE, other operating systems and file-format round trips require their own checks.
The help identifies this function as outside OpenDocument 1.3 and uses the extension name COM.MICROSOFT.CONCAT. That does not establish lossless export to every spreadsheet format. The first Collabora release introducing it is not established by these sources. It is documented here as available, with no cited retirement or deprecation notice; an undocumented introduction date is not a deprecation claim.
Related functions
- CONCATENATE: compare the existing text-joining function
- CHOOSECOLS: select fields before constructing a text result