How to Combine Cells in Google Sheets
How to Combine Cells in Google Sheets
When you work with data in Google Sheets, you often need to bring multiple cells together into a single cell. The phrase “combine cells” actually covers two very different operations, and understanding the distinction will save you hours of frustration. The first meaning is merging, which is a purely visual operation that makes cells appear as one unit on your screen without changing the underlying data structure. The second meaning is concatenation, which actually joins the text values from multiple cells into a new single value. Both techniques have their place, but they serve entirely different purposes. Merging works well for headers and labels. Concatenation works when you need to actually combine data for formulas, exports, or downstream calculations.
Method 1: The & Operator
The simplest way to combine text from multiple cells is the ampersand operator, written as &. This operator acts as a text concatenation tool that joins whatever comes before it with whatever comes after it. If you have a first name in cell A1 and a last name in cell B1, you can join them with a simple formula: =A1&” “&B1. The quotation marks around the space tell Google Sheets to insert a literal space character between the names. Without that space, “John” and “Smith” would become “JohnSmith” instead of “John Smith”.
The & operator works with text, numbers, and even cell references. You can stack multiple ampersands together to join any number of values. For example, =A1&” – “&B1&” – “&C1 would combine three cells separated by dashes. You can add any text you want in quotation marks: =A1&”, “&B1&”, “&C1 joins them with commas and spaces, useful for formatting addresses. The & operator is blazingly fast because it requires no function overhead, just pure text joining.
When you use & with numbers, Google Sheets converts them to text automatically. So =123&456 produces “123456”. If you combine a date with text, the date appears in its default format. This sometimes produces unexpected results, which is why formatting matters when mixing numbers and dates with text. The & operator doesn’t care about empty cells, it will just concatenate an empty string, which is sometimes what you want and sometimes not.
Method 2: CONCATENATE Function
The CONCATENATE function does exactly what the & operator does, but it uses a function syntax instead of an operator. The formula =CONCATENATE(A1,” “,B1) produces the same result as =A1&” “&B1. You can pass as many arguments as you need, separated by commas. Some people find the function syntax clearer because it’s more explicit: you can see immediately that this is a concatenation operation rather than trying to parse ampersands.
In older spreadsheet software, CONCATENATE was the only option for joining text. Google Sheets inherited this function for compatibility, but the & operator has become the standard choice among experienced users because it requires less typing. Both produce identical results, so choose whichever feels more natural to you. The function syntax can be helpful in complex formulas where you’re nesting multiple operations, because the parentheses make the structure clearer.
CONCATENATE becomes tedious when you’re joining many values because you need to list each one separately. If you want to join 10 cells with commas between them, you’d write =CONCATENATE(A1,”, “,A2,”, “,A3, … ) which is verbose and error prone. This is where TEXTJOIN becomes essential, because it can handle an entire range with one delimiter.
Method 3: TEXTJOIN Function
TEXTJOIN is the most powerful text combining function in Google Sheets, and it should be your go-to choice whenever you’re joining multiple values, especially when those values come from a range. The syntax is =TEXTJOIN(delimiter, ignore_empty, range). The delimiter is the text that goes between each value, enclosed in quotation marks. The ignore_empty parameter is TRUE or FALSE, telling Sheets whether to skip empty cells. The range is the cells you want to join.
Here’s a practical example: =TEXTJOIN(“, “, TRUE, A1:A10) joins cells A1 through A10 with commas and spaces between them, and it skips any empty cells in that range. If A1 contains “apple”, A2 is empty, A3 contains “banana”, and A4 contains “cherry”, the result is “apple, banana, cherry” with no extra commas where the empty cell was. Setting ignore_empty to FALSE would produce “apple, , banana, cherry” with an extra comma for the empty cell.
The delimiter doesn’t have to be simple punctuation. You can use =TEXTJOIN(” | “, TRUE, A1:A10) to separate values with pipes, or =TEXTJOIN(CHAR(10), TRUE, A1:A10) to separate them with line breaks, creating a multi-line result within a single cell. You can make the delimiter more complex too: =TEXTJOIN(” AND “, TRUE, A1:A10) produces natural-language conjunctions. TEXTJOIN scales beautifully to large ranges, making it the right choice when you need to consolidate dozens or hundreds of values into one cell.
One limitation of TEXTJOIN is that it can hit Google Sheets’ cell character limit if the result is too long. A single cell can contain roughly 50,000 characters, so if you’re joining thousands of long text values, you might exceed that limit. For most practical purposes though, TEXTJOIN handles anything you throw at it. Another note: TEXTJOIN doesn’t work in conditional formatting or certain other contexts where array formulas aren’t allowed, but it works everywhere standard formulas do.
Combining Text with Numbers and Dates
When you concatenate a number or date with text, Google Sheets displays them using their default format. A date might show up as “45123” (the serial number) instead of “2023-06-15”. A decimal number might appear with many trailing zeros or be rounded unexpectedly. To control how numbers and dates display when you combine them, use the TEXT function to format them first.
The TEXT function takes a value and a format code. For example, =TEXT(B1,”0.00″) formats the number in B1 with exactly two decimal places. Then you can concatenate: =A1&” costs $”&TEXT(B1,”0.00″) produces “Widget costs $19.99” instead of “Widget costs $19.989999999″. For dates, =TEXT(D1,”YYYY-MM-DD”) formats a date as “2023-06-15”. You can combine them: =”The order was placed on “&TEXT(D1,”MMMM DD, YYYY”)&” by “&A1 produces “The order was placed on June 15, 2023 by John Smith”.
Format codes follow standard spreadsheet conventions. “MM/DD/YYYY” produces “06/15/2023”, while “YYYY-MM-DD” produces “2023-06-15”. For numbers, “0” gives whole numbers, “0.0” gives one decimal place, “$#,##0.00” gives currency format. Experiment with different codes to see how they affect your output. The TEXT function is crucial whenever you’re building readable strings from raw data for reports, labels, or exports.
Combining Cells Across Multiple Rows
Sometimes you want to take an entire column of values and join them all into a single cell. TEXTJOIN makes this straightforward. If column A contains names from A1 to A100, the formula =TEXTJOIN(“, “, TRUE, A1:A100) joins all 100 names into one cell with commas and spaces between them. This is useful for creating summary lists, comma-separated exports, or consolidated reports.
If your data is organized by groups and you want to combine values within each group, you can use TEXTJOIN with additional filtering logic. For example, if column A contains categories and column B contains items, and you want to list all items for the “Fruits” category, you’d use =TEXTJOIN(“, “, TRUE, IF(A:A=”Fruits”, B:B)). This is an array formula, so you need to press Ctrl+Shift+Enter to confirm it. The IF statement filters the range to include only items where the category matches.
When combining large ranges, be mindful of the character limit. If you’re joining 1,000 cells with 50 characters each, you’re looking at 50,000 characters total, which hits the limit. In that case, consider whether you really need all those values combined, or whether a subset would serve your purpose. You can use a subset range like A1:A500 instead of A1:A1000 to stay within limits.
ARRAYFORMULA with Concatenation
Sometimes you want to apply a combine formula to an entire column at once, rather than typing it once and copying down. ARRAYFORMULA lets you do this. Instead of writing =A1&” “&B1 in one cell and then copying it down to 1,000 cells, you can write =ARRAYFORMULA(A:A&” “&B:B) in a single cell at the top of the column, and it automatically applies the combination to every row.
ARRAYFORMULA is particularly useful when you’re working with dynamic data that grows and shrinks. If new rows are added to your sheet regularly, using ARRAYFORMULA means the formula automatically extends to the new rows without you having to copy it down manually. The syntax is simply =ARRAYFORMULA(formula_here) where the formula contains range references instead of individual cell references.
One key difference between ARRAYFORMULA and regular formulas: regular formulas with & work cell-by-cell, while ARRAYFORMULA with & works on entire columns or ranges at once. If you write =ARRAYFORMULA(A1:A100&” “&B1:B100), it produces results in 100 cells. Empty cells in the source ranges produce empty results. This behavior makes ARRAYFORMULA the right choice when you’re building formulas for sheets where data changes frequently.
Merging Cells (Display Only)
Merging cells is completely different from combining their content. When you merge cells, you’re telling Google Sheets to treat multiple cells as a single visual unit. You do this through Format > Merge cells. You have options: merge all (combines a rectangular block into one cell), merge horizontally (merges cells in a row), or merge vertically (merges cells in a column).
Merged cells are useful for headers, titles, and visual organization. If you have a title that spans columns A through E, you can select A1:E1 and merge them, then type your title once. Without merging, the text would only appear in A1 and spill visually over the other columns. Merged cells look professional and make layouts clearer.
However, merging cells creates serious problems with formulas and sorting. If you merge cells A1 and B1, Google Sheets keeps the data only in A1 and treats B1 as part of the merged unit. If you sort your data, merged cells don’t sort properly because they’re treated as a single unit rather than individual cells. If you write a formula that references B1, it might produce unexpected results because B1 is now part of a merged range. This is why you should never merge cells that contain data you’re going to reference in formulas or sort.
When deciding between merging and concatenating, ask yourself: am I trying to make this look nice (merge), or am I trying to combine data for calculations (concatenate)? Use merging for labels and headers. Use concatenating for data that will be used in formulas, exports, or further processing.
Splitting Combined Text Back Apart
If you’ve combined cells and later need to split them back into separate cells, the SPLIT function reverses the process. If you have “John Smith” in a single cell and want to separate it into first and last names, use =SPLIT(A1,” “) which splits the text by spaces, producing two columns: one with “John” and one with “Smith”.
SPLIT takes two arguments: the text to split and the delimiter. The delimiter is what tells Sheets where to make the cuts. If you have “apple, banana, cherry” and want to split by commas, use =SPLIT(A1,”, “) including the space after the comma so the result doesn’t have leading spaces. If your combined text has commas, pipes, semicolons, or any other consistent separator, SPLIT can handle it.
The SPLIT function produces results across multiple columns starting from where you place the formula. If you use it in cell A1, the results appear in A1, B1, C1, and so on. This is why SPLIT is usually placed to the right of your data, not within your existing data range. SPLIT is a quick way to fix a combining mistake or to reformat data that’s in the wrong structure for your current needs.
Practical Use Cases
Building a full name from first and last name columns is the most common use case. You have B2 with “John” and C2 with “Smith”, and you want D2 to show “John Smith”. The formula =B2&” “&C2 does this perfectly. Copy it down to all rows and you have a full name column. This full name column is now ready for mail merge, address labels, or any workflow that needs a combined name.
Creating full addresses from separate address components is another frequent task. If you have street in A2, city in B2, state in C2, and zip in D2, the formula =A2&”, “&B2&”, “&C2&” “&D2 produces “123 Main St, Springfield, IL 62701″. Adjust the punctuation to match your preferred format. You might want different separators or line breaks: =A2&CHAR(10)&B2&”, “&C2&” “&D2 uses line breaks after the street.
Preparing data for CSV export often requires combining fields. If you’re exporting to a system that expects a single “Name” column instead of separate first and last names, concatenation creates that column. Similarly, if you need to build product codes by combining category, date, and sequence number, concatenation is your tool: =A2&”-“&TEXT(TODAY(),”YYYYMMDD”)&”-“&B2 produces codes like “ELEC-20230615-001”.
Generating email addresses from name components is a practical automation technique. If you have first names in column A and last names in column B, =LOWER(A2)&”.”&LOWER(B2)&”@company.com” creates email addresses like “john.smith@company.com”. Combine this with SUBSTITUTE to handle special characters: =SUBSTITUTE(LOWER(A2)&” “&LOWER(B2),” “,”.”)&”@company.com” replaces spaces with periods for names with multiple parts.
Tips for Clean Combining
Always consider leading and trailing spaces in your source cells. If A1 contains “John ” with a trailing space, and B1 contains ” Smith” with a leading space, combining them directly produces “John Smith” with two spaces. Use TRIM to remove extra spaces: =TRIM(A1)&” “&TRIM(B1). TRIM removes all leading and trailing spaces, leaving just one space between words if your formula adds spaces.
When combining data from different sources, data types can cause surprises. A number from one source might concatenate differently than a number typed directly in your sheet. Always test your formulas on a small sample first. Build the formula in one row, verify it looks right, then copy it to the rest of your data.
For large datasets, concatenation can be slow if you’re applying it to thousands of rows. If your sheet feels sluggish after adding concatenation formulas, consider whether you could restructure your data or use less resource-intensive approaches. ARRAYFORMULA is usually faster than copying a formula down because it processes once rather than cell-by-cell.
Document your combining formulas with comments if they’re complex. If someone else (or you, six months from now) needs to understand why you combined fields in a particular way, a comment saying “Combines name components for mail merge” is worth its weight in gold. Right-click a cell and select Insert note to add documentation.
Keep backup copies of important combined data. If you’re doing complex combining and the result is important to your workflow, duplicate that column or sheet before making changes. This gives you a safety net if something goes wrong.

Leave a Reply