How to Combine Text from Two Cells in Google Sheets

Master practical, step-by-step methods to merge text from two cells in Google Sheets using &, CONCAT, TEXTJOIN, and ARRAYFORMULA with real examples and best practices for clean, scalable results.

How To Sheets
How To Sheets Team
·5 min read
Combine Text in Sheets - How To Sheets
Photo by StockSnapvia Pixabay
Quick AnswerSteps

You can combine text from two cells in Google Sheets using simple formulas like A1 & B1, CONCAT, CONCATENATE, or TEXTJOIN. This guide covers how to join two cells with or without delimiters, how to ignore blanks, and how to apply these methods across rows with ARRAYFORMULA. You'll see practical examples you can adapt today.

Why this skill matters in real-world work

According to How To Sheets, the ability to cleanly join text from two cells is foundational when building names, addresses, or composite identifiers—common tasks for students, analysts, and small business owners. When you work with datasets, labels like "FirstName LastName" or "City, State" often live in separate cells. Being able to merge these fields quickly saves time, reduces manual copy-paste errors, and improves the readability of reports and exports. This skill scales: a well-constructed join in a single row can be copied down a column, enabling consistent formatting across hundreds or thousands of records. In the 2026 How To Sheets Analysis, practitioners who standardize their join logic report smoother data pipelines and fewer downstream corrections.

Key takeaway: mastering simple joins sets a foundation for more advanced data cleaning and transformation tasks in Google Sheets.

The simplest methods: & operator, CONCAT, and CONCATENATE

There are multiple ways to merge text from two cells in Google Sheets, each with its own quirks. The ampersand (&) operator is the most direct: =A2 & " " & B2 joins A2 and B2 with a space in between. If you need to insert different delimiters, replace the quoted space with your delimiter, e.g., =A2 & ", " & B2 for a comma-delimited result. CONCAT is designed to join two text items, so =CONCAT(A2, B2) is straightforward but lacks a delimiter unless you insert one manually: =CONCAT(A2, " ", B2) is not valid syntax — instead use the ampersand approach or CONCAT with a delimiter by explicit joining. CONCATENATE behaves similarly to CONCAT but accepts more arguments, so =CONCATENATE(A2, " ", B2) yields the same readable result as the ampersand method. Practical tip: CONCATENATE and CONCAT are great for quick, two-part joins; for more flexible formatting, the & operator wins for readability and control.

  • Example using ampersand: =A2 & " " & B2
  • Example using CONCAT: =CONCAT(A2, B2) (no delimiter; use with an explicit delimiter if needed: =A2 & " " & B2)
  • Example using CONCATENATE: =CONCATENATE(A2, " ", B2)

Pro tip: In most day-to-day sheets, the ampersand method is easiest to read and maintain, especially when you are experimenting with different delimiters.

TEXTJOIN: cleaner for many cells or ignored blanks

TEXTJOIN shines when you want a clean delimiter between two or more pieces of text, especially if some cells might be blank. For a single row, you can simply use =TEXTJOIN(" ", TRUE, A2, B2). The first argument is the delimiter (a single space in quotes here), the second argument tells Sheets to ignore empty cells, and the remaining arguments are the text items to join. If you’re joining many columns within a single row, TEXTJOIN remains readable and robust: =TEXTJOIN(", ", TRUE, A2:C2) would join A2, B2, and C2 with commas, skipping blanks. Important nuance: TEXTJOIN operates on ranges or arrays, but when combining just two cells, the ampersand or CONCAT methods are often more lightweight; TEXTJOIN pays off when the delimiter is consistent and you may encounter blanks.

Practical example: =TEXTJOIN(" ", TRUE, TRIM(A2), TRIM(B2)) ensures you don’t carry over stray spaces.

Handling blanks and delimiters: TRIM, IF, and LEN

Blanks and extra spaces can ruin clean joins. To ensure tidy results, wrap inputs with TRIM to remove leading/trailing spaces, then join using your preferred method. For example: =TRIM(A2) & " " & TRIM(B2) removes stray spaces around each value before joining. If both cells are blank, return an empty string: =IF(LEN(TRIM(A2))=0, "", TRIM(A2) & " " & TRIM(B2)). If one cell is blank, this approach still produces a sensible result like B2 alone or A2 alone, depending on which is non-empty. These small guards prevent awkward results in reports and dashboards.

Advanced scenario: combine with a conditional delimiter, e.g., use if both parts exist, otherwise use the non-empty part: =IF(AND(A2<>"", B2<>""), A2 & " (" & B2 & ")", A2 & B2).

Applying to an entire column with ARRAYFORMULA

When you want to create a joined column for every row in a dataset, avoid dragging formulas down manually and instead use ARRAYFORMULA. A robust pattern for two-cell joins per row is: =ARRAYFORMULA(IF((A2:A="")*(B2:B=""), "", IF(B2:B="", A2:A, IF(A2:A="", B2:B, A2:A & " " & B2:B)))) This handles three common cases: both cells blank, one cell blank, or both filled. For more complex delimiters, you can adapt the inner logic, but the key idea is to apply the operation once across the entire column to reduce manual maintenance. Performance considerations: limit the range to what you actually need (e.g., A2:A1000) to avoid recalculation overhead on very large sheets.

Real-world pattern: create a separate joined column (e.g., Column C) and keep the source data in Columns A and B intact for auditing and data integrity.

Practical examples you can reuse today

  1. Names: =A2 & " " & B2 (FirstName and LastName) often used for mail merges and badges. 2) Addresses: =TRIM(A2) & ", " & TRIM(B2) & ", " & TRIM(C2) (Street, City, State) to create a single printable address. 3) Product codes: =A2 & "-" & B2 & "-" & C2 (Piece, Batch, Code) for generating composite identifiers. For datasets with blanks or optional components, TEXTJOIN with TRUE (ignoring blanks) is a clean default, and ARRAYFORMULA keeps your sheet scalable as data grows. A well-chosen delimiter improves readability and downstream parsing in dashboards and exports.

Troubleshooting and common pitfalls

Common mistakes include forgetting to account for blanks, which can yield stray spaces, or using CONCAT with more than two items without a delimiter. To avoid these issues, combine TRIM with a delimiter, and consider TEXTJOIN when you have multiple items. Also beware of data types: if a numeric value is involved, Sheets will coerce to text in a join, which may affect formatting; you can wrap numbers with TEXT function to preserve desired formatting (e.g., TEXT(A2, "0#0")). If performance becomes an issue in very large spreadsheets, prefer using ARRAYFORMULA with a fixed range rather than volatile, iterative recopying of formulas. Finally, validate results by spot-checking edge cases: empty cells, cells with leading spaces, and cells containing non-breaking spaces introduced by copy-paste from external sources.

Quick tips to boost performance and readability

  • Use named ranges to simplify formulas and reduce errors when references shift. - Keep joins in a dedicated column for auditing and to avoid breaking downstream formulas. - Prefer TEXTJOIN for multi-item joins; saveAMPersand for simple two-cell combinations that require explicit delimiters. - If you expect blanks regularly, enable ignore-blank behavior to maintain clean output. - Periodically trim and clean incoming data (using TRIM and CLEAN) before joining to ensure consistency across datasets.

Tools & Materials

  • Google Sheets account(Access to Sheets with editing permissions on your target document)
  • Sample dataset (columns A and B)(Have two columns ready for joining (e.g., FirstName and LastName))
  • Delimiter reference(Decide if you want spaces, commas, or custom separators)
  • Helper column (optional)(Use for testing formulas before applying to the full dataset)
  • Text editor or notebook(Optional: for planning and documenting join logic before implementing in Sheets)

Steps

Estimated time: 15-25 minutes

  1. 1

    Open the target sheet and locate cells

    Open your Google Sheet, locate the two cells you want to combine (for example A2 and B2), and decide on the delimiter you want to use. This step sets the scope and ensures you’re working with the intended data.

    Tip: Test any new formula in a helper column first to avoid impacting your main data.
  2. 2

    Join with the ampersand operator

    In the destination cell, type =A2 & " " & B2 to join two cells with a space. This is the most direct method and easy to read.

    Tip: Use TRIM to remove stray spaces: =TRIM(A2) & " " & TRIM(B2).
  3. 3

    Join with CONCAT for two items

    If you prefer CONCAT, use =CONCAT(A2, B2) and insert a delimiter with concatenation: =A2 & " " & B2. Remember CONCAT does not accept more than two arguments without chaining.

    Tip: Prefer the ampersand method for more complex delimiters.
  4. 4

    Join with CONCATENATE for clarity

    For readability, you can use =CONCATENATE(A2, " ", B2). This produces the same result as the ampersand method but uses a function call.

    Tip: Keep formulas consistent across the sheet to simplify maintenance.
  5. 5

    Use TEXTJOIN for clean multi-item joins

    When you want to join multiple items with a delimiter and ignore blanks, try =TEXTJOIN(" ", TRUE, A2, B2). This is especially helpful with more columns.

    Tip: TEXTJOIN excels when you anticipate blanks; it keeps output tidy.
  6. 6

    Apply to an entire column with ARRAYFORMULA

    To apply a join to every row, use an ARRAYFORMULA variant such as: =ARRAYFORMULA(IF((A2:A="")*(B2:B=""), "", IF(B2:B="", A2:A, IF(A2:A="", B2:B, A2:A & " " & B2:B))))

    Tip: Limit the range to prevent unnecessary recalculation (e.g., A2:A1000).
  7. 7

    Test edge cases and clean data

    Check for empty cells, leading/trailing spaces, and numeric data types. Use TRIM and CLEAN when needed and confirm your join results are consistent across the dataset.

    Tip: After establishing a working formula, copy-paste as values to lock results when data changes.
Pro Tip: Prefer the ampersand method for readability and easier debugging when experimenting with delimiters.
Warning: Be careful with leading/trailing spaces; use TRIM to normalize inputs before joining.
Note: TEXTJOIN is ideal for multi-item joins across rows/columns with blanks to ignore.

FAQ

What is the simplest way to join two cells in Google Sheets?

The simplest method is to use the ampersand operator: =A2 & " " & B2. This creates a single text string with a space between the two values.

Use the ampersand to join two cells with a space: =A2 & " " & B2.

How do I ignore blanks when joining two cells?

TEXTJOIN with the ignore blanks option (TRUE) helps to skip empty cells: =TEXTJOIN(" ", TRUE, A2, B2).

TEXTJOIN with ignore-blank option skips empty cells.

Can I apply the join to an entire column?

Yes. Use ARRAYFORMULA with a suitable join pattern, for example: =ARRAYFORMULA(IF((A2:A="")*(B2:B=""), "", IF(B2:B="", A2:A, IF(A2:A="", B2:B, A2:A & " " & B2:B))))

Yes, with ARRAYFORMULA you can extend the join down the entire column.

What if I want a different delimiter, like a comma?

Replace the space delimiter with your choice: =A2 & "," & B2 or use TEXTJOIN with a delimiter like =TEXTJOIN(", ", TRUE, A2, B2).

Swap the delimiter to a comma or other character in your join formula.

How do I join more than two cells while ignoring blanks?

TEXTJOIN is the best fit for multiple cells: =TEXTJOIN(" ", TRUE, A2:C2) joins A2, B2, and C2 with spaces while ignoring blanks.

TEXTJOIN lets you join many cells with one delimiter and skip blanks.

Watch Video

The Essentials

  • Master the & operator for quick joins
  • TEXTJOIN handles blanks gracefully
  • ARRAYFORMULA scales joins across many rows
  • Always validate edge cases with test data
Infographic showing steps to join text in Google Sheets
Process: join two cells with a delimiter and scale to more cells

Related Articles