LibreOffice Calc: Join Cells into Comma-Separated Values

Illustrated infographic summarizing: LibreOffice Calc Separate Cells Into Comma Separated Values

By Greg Nowak. Last updated 2026-09-09.

Need to paste a column of product codes, campaign tags or reference numbers into a tool that expects a comma-separated list? LibreOffice Calc can combine those cells with TEXTJOIN, saving you from adding commas by hand.

The quick formula is =TEXTJOIN(",";1;A2:A100). Before using the result, check whether the destination wants a single list or a CSV file containing separate rows and columns. That distinction matters when preparing a CRM import, handing data to an agency or updating a product catalogue.

Join a column into one comma-separated cell

Suppose A1 contains the heading Product code, and A2 to A4 contain SKU-101, SKU-102 and SKU-103.

  1. Select an empty cell outside the source range, such as B2.
  2. Enter =TEXTJOIN(",";1;A2:A4) and press Enter.
  3. The result is SKU-101,SKU-102,SKU-103.

The first argument, ",", supplies the separator. The second, 1, tells Calc to ignore empty cells and empty strings. The final argument identifies the cells to combine. LibreOffice documents these options in its TEXTJOIN reference.

Adjust the range to match your data. Starting at A2 keeps the heading out of the result. A bounded range also makes the selection easier for a colleague to review; remember to extend it when you add more rows.

Why does one formula use semicolons and another commas?

Calc lets you configure the characters separating formula arguments. The examples here use semicolons. If your installation uses commas, the equivalent is:

=TEXTJOIN(",",1,A2:A100)

The original whole-column shortcut, =TEXTJOIN(",",1,A:A), still makes sense with comma argument separators. It includes every populated cell in column A, however, including headings and unrelated notes. Put the formula outside column A so it does not reference itself.

If Calc rejects the formula, check Tools → Options → LibreOffice Calc → Formula, or LibreOffice Preferences on macOS. The Formula options control argument separators and whether English function names are used. Keep the comma inside quotation marks: that is the character you want in the output.

Choose the right formula for the handoff

What you need Formula or action Check before sending
A compact list from a column =TEXTJOIN(",";1;A2:A100) Exclude the heading and select every intended record.
A list with spaces after commas =TEXTJOIN(", ";1;A2:A100) Confirm the destination accepts the extra spaces.
One joined result per row =TEXTJOIN(",";1;A2:D2), then fill down Place the result outside columns A–D.
A list retaining empty positions =TEXTJOIN(",";0;A2:A10) Expect adjacent commas where values are empty.
A file with separate records and fields Save the prepared sheet as Text CSV Match the receiving system’s import specification.
Choose the output format from the receiving tool’s requirements before combining the data.

Check the values before copying the result

For business data, a plausible-looking list is only the first check. Compare a few source records with the result, including the first and last entries.

  • Duplicates: decide whether repeated codes are intentional. Joining cells does not remove duplicates.
  • Whitespace: inspect entries that look blank or have spaces around a code. A space is still text.
  • Identifiers: verify that codes such as 00123 retain their leading zeros. If an earlier import already removed them, joining cannot restore them.
  • Dates and amounts: check the actual output against the destination’s required format instead of assuming the source cell’s appearance will carry through.

When you need a fixed copy, copy the result cell, open Edit → Paste Special → Paste Special in a spare cell, and select Values Only. This creates a handoff value independent of the original formula. LibreOffice’s Paste Special documentation explains the available presets.

When should you export CSV instead?

Use CSV export when the receiving system expects a file with defined columns and records. A plain join does not add CSV quoting. For example, a company name containing a comma can be mistaken for two fields.

Keep the data in separate cells, save your working spreadsheet as an ODS file, then use File → Save As → Text CSV. Only the current sheet is exported; CSV does not preserve the workbook’s sheets and formatting. See LibreOffice’s CSV saving guidance.

Select Edit filter settings to review the export options. For a conventional comma-delimited import, choose a comma field delimiter and a double-quote text delimiter. Use the character set requested by the destination, commonly UTF-8. The export settings also control quoting and whether values are saved as displayed.

Test a small sample in the receiving tool before importing the full file. Include a name containing a comma, an identifier with leading zeros and any accented characters your data uses.

Make recurring spreadsheet work easier to hand over

For a recurring task, keep a template with labelled input cells, a separate output area and a short note explaining the destination’s requirements. Name the person responsible for checking each export so the process remains clear when someone else takes over.

If your team regularly rebuilds lists or repairs imports, talk to Greg about the spreadsheet workflow. Bring an anonymised sample and the destination’s import requirements to make the discussion concrete.

Related on GrN.dk

Need help with this kind of work?

Talk to Greg about your spreadsheet workflow Get in touch with Greg.

Sources

Latest articles

A supplier PDF can influence more than an AI summary. Follow its path to a CRM update and see where validation, tool permissions and destination controls matter.

Check whether AI shopping channels show the right product, variant, price and availability, then trace discrepancies from your catalog through to checkout.

Add approved hours from Clockify to draft invoices in Dinero. AI writes service descriptions, while fixed rules govern amounts, approvals and reruns.

A blanket AI restriction can limit search discovery. Compare Google and Bing controls, agree content permissions, and check what your CMS actually delivers.

Measure AI automation costs per accepted result, including retries and human review. Check caching, batch processing and spending controls before scaling.

A 502 after maintenance can interrupt enquiries or checkout. Trace the NGINX-to-PHP connection, diagnose the failure, and check the fix survives a restart.

Let AI customer service retrieve order status from Shopify and Shipmondo. Learn how to define the scope, verify the customer's identity and hand over cases when information is uncertain.

Move a useful AI workflow into company-controlled projects, with clear ownership, tested permissions, service accounts and a practical plan for replacing credentials.

Drupal 10 reaches end of life on 9 December 2026. Decide whether to upgrade first or combine it with a relaunch, with clear budgets, compatibility checks and launch criteria.

Before expanding internal AI search, check how permissions survive indexing, retrieval and access changes, with practical tests for staff and client boundaries.