Full address
=TEXTJOIN(", ", TRUE, A2, B2, C2, D2) builds city, state line from parts.
TEXTJOIN merges many text values into one string with a delimiter between them. The ignore_empty argument skips blanks so you do not get double commas. It builds display labels, CSV-like rows, and summary lines from wide tables.
Use TEXTJOIN to combine address parts, tag lists, or selected columns into one export field.
Skip TEXTJOIN when you need to split apart instead of join, or when QUERY GROUP_CONCAT style aggregation is clearer.
Choose delimiter string such as comma, slash, or line break char.
Set ignore_empty TRUE to drop blank cells from the join.
List ranges or cells as additional arguments after the delimiter settings.
Wrap with IF when the whole join should be blank if key cell is empty.
Mind formula length limits on enormous ranges.
Use BYROW with TEXTJOIN inside LAMBDA for per-row composite keys.
=TEXTJOIN(", ", TRUE, A2, B2, C2, D2) builds city, state line from parts.
=TEXTJOIN(" | ", TRUE, E2:H2) merges active tag columns skipping empties.
=BYROW(A2:C, LAMBDA(r, TEXTJOIN("-", TRUE, r))) makes SKU codes per row.
Build this without starting from a blank cell
Use a Better Sheets tool for TEXTJOIN, then watch a walkthrough when you want the full pattern.
Watch how TEXTJOIN works
Guides that explain TEXTJOIN in more depth.
Ever found yourself stuck in a loop of copying and pasting names in Google Sheets? Let's face it, it's a task that can feel like a never-ending chore. But fear not, because I've got your back! So, we're diving into the world of Google Sheets and exploring five super-easy ways to combine first and last names into a single cell. No more manual labor, no more headaches. Imagine being able to whip up a list of full names in seconds, instead of spending hours on it. Sounds like a dream, right? We...
Read post →Esa is a beginner at Google Sheets. I discover the moment he discovered the deepest secrets of Google Sheets. And we wax poetic about AI in sheets, and data flow.
Read post →Master Google Sheets & simplify work with this tutorial on creating a many-to-many database. No more manual entry! Learn, apply & save time.
Read post →SPLIT divides one text cell into multiple cells spilled across columns using a delimiter such as comma, space, or custom string. It is the formula version of Text to columns for live data like tags, full names, or combined codes.
Read guide →REGEXEXTRACT returns the portion of text that matches a regular expression, often using capture groups to pull IDs, domains, or codes from longer strings. It replaces manual LEFT/RIGHT/MID chains when patterns repeat.
Read guide →UNIQUE extracts a deduplicated list from a column or table. Optional arguments control whether duplicates appear by row, by column, or with occurrence counts. It powers dropdown source lists, category tabs, and data cleanup without manual copy-paste.
Read guide →FILTER returns only the rows from a range that meet one or more conditions. Conditions are boolean arrays the same height as the data. FILTER spills results automatically, so it replaced many INDEX/SMALL helper-column patterns for live subsets.
Read guide →Done reading about TEXTJOIN?
Membership unlocks 636+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.
Need this once
Jump to a free tool or a single tutorial for this topic.
Learning Sheets for real
Unlock the full library, generators, and templates with membership.