CONCATENATE Function (LibreOffice Calc)
The CONCATENATE function in LibreOffice Calc joins multiple text values into a single string. It is the legacy predecessor to CONCAT and remains widely used in older spreadsheets and compatibility-focused workflows.
Verification status: Consult the documentation, examples and any stated test scope below. How formula examples are checked
Availability and version history
- Introduced: Documented by LibreOffice 26.8.1.1; original introduction not established.
- Availability: Supported in LibreOffice 26.8.1.1, verified against its function registry. This identifies a supported release, not a final working version.
- Scope: Desktop Calc, using the English function name. Availability in other spreadsheet applications is separate.
- Checked: 2026-10-14 — function reference; versioned support. Documentation/source check; not a new native test. Existing example-specific test claims below retain their stated scope.
What the CONCATENATE Function Does
- Joins multiple text values into one string
- Does not accept ranges (unlike CONCAT)
- Automatically converts numbers to text
- Legacy function — still widely supported
- Does not insert delimiters (use TEXTJOIN for that)
It is designed to be simple, compatible, and predictable.
Syntax
CONCATENATE(text1; text2; ...)
Arguments
- text1, text2, …:
One or more text values or cell references.
Ranges are not allowed.
Basic Examples
Join two strings
=CONCATENATE("Hello"; "World")
Returns "HelloWorld".
Join with a space
=CONCATENATE("Hello"; " "; "World")
Join cell values
=CONCATENATE(A1; B1)
Join text and numbers
=CONCATENATE("Year: "; 2024)
Returns "Year: 2024".
Advanced Examples
Build a full name
=CONCATENATE(A1; " "; B1)
Build a file path
=CONCATENATE("/home/user/"; A1; "/"; B1)
Build a SKU code
=CONCATENATE(LEFT(A1; 3); "-"; RIGHT(B1; 4))
Build a dynamic label
=CONCATENATE("Total for "; A1; ": "; B1)
Join cleaned text
=CONCATENATE(TRIM(A1); " "; TRIM(B1))
Conditional concatenation
=CONCATENATE(A1; IF(B1=""; ""; " - " & B1))
Join extracted substrings
=CONCATENATE(LEFT(A1; 2); MID(A1; 4; 3); RIGHT(A1; 2))
Build structured codes
=CONCATENATE("ID-"; TEXT(A1; "0000"))
Join with logic
=CONCATENATE(A1; IF(C1>0; " (Active)"; " (Inactive)"))
Edge Cases and Behavior Details
CONCATENATE does not accept ranges
=CONCATENATE(A1:A3) → Err:504
Use CONCAT or TEXTJOIN instead.
CONCATENATE treats numbers as text
=CONCATENATE(1; 2; 3) → "123"
CONCATENATE ignores empty strings
=CONCATENATE("A"; ""; "B") → "AB"
Blank cells contribute empty strings
=CONCATENATE(A1; A2)
If A2 is blank, it adds nothing.
Errors propagate
=CONCATENATE("A"; #N/A) → #N/A
CONCATENATE cannot insert delimiters automatically
Use TEXTJOIN for delimiter‑aware joining.
CONCATENATE is slower than CONCAT for large inputs
Because it cannot accept ranges.
Common Errors and Fixes
Err:504 — Parameter list error
Occurs when:
- A range is passed instead of individual arguments
- Too many arguments for older spreadsheet engines
CONCATENATE returns unexpected output
Cause:
- Hidden spaces
- TRIM not applied
- CLEAN not applied
CONCATENATE returns #VALUE!
Cause:
- One of the arguments is an error
- A reference contains an error
Best Practices
- Use CONCATENATE only for legacy compatibility
- Prefer CONCAT or TEXTJOIN in modern spreadsheets
- Use TRIM and CLEAN before concatenation
- Use LEFT/RIGHT/MID to build structured strings
- Use SUBSTITUTE to clean text before joining
- Use CONCATENATE with IF for conditional assembly
Related Patterns and Alternatives
- Use CONCAT for modern joining
- Use TEXTJOIN for delimiter‑aware joining
- Use LEFT, RIGHT, MID for extraction
- Use SUBSTITUTE and REPLACE for editing
- Use TRIM and CLEAN for normalization
By mastering CONCATENATE and its companion functions, you can maintain compatibility while still building clean, flexible, and powerful text‑processing workflows in LibreOffice Calc.
Reproducible example (tested in LibreOffice Calc)
This standalone example was calculated in LibreOffice Calc 25.2.3.2 and matched the expected value. It is a practical cross-check of one usage, not proof that every example elsewhere on this page is correct.
=CONCATENATE("North";"-";"01")
Expected result: North-01.
Join text fragments to create a structured label.
If the result differs, check the referenced cells, argument separators and number formatting. For more information, consult the LibreOffice Calc official help.