1. List all campaign names, comma-separated
| Campaign | Channel | Spend | Clicks | Conversions |
| Spring Sale | Email | 5000 | 1200 | 300 |
| Spring Sale | Social | 3000 | 1500 | 250 |
| Summer Launch | Search | 7000 | 2000 | 400 |
=TEXTJOIN(", ", TRUE, A3:A5)
Result: Spring Sale, Spring Sale, Summer Launch
The formula takes the range A3:A5, which holds the three campaign names, and joins them with a comma and space. Because ignore_empty is TRUE, any blank cells would be skipped, though none exist here. The result is a single string listing each campaign in the order they appear.
2. Create a pipe-delimited "Campaign: $Spend" list
| Campaign | Channel | Spend | Clicks | Conversions |
| Spring Sale | Email | 5000 | 1200 | 300 |
| Spring Sale | Social | 3000 | 1500 | 250 |
| Summer Launch | Search | 7000 | 2000 | 400 |
=TEXTJOIN(" | ", TRUE, A3:A5 & ": $" & C3:C5)
Result: Spring Sale: $5000 | Spring Sale: $3000 | Summer Launch: $7000
Each row’s campaign name (A3:A5) is concatenated with a colon, a space, a dollar sign, and the spend amount (C3:C5). TEXTJOIN then merges those three combined strings using " | " as the delimiter. Empty cells are ignored, but the dataset has none, so every row appears in the final pipe-separated list.
3. Line-break list of conversions for high-click rows
| Campaign | Channel | Spend | Clicks | Conversions |
| Spring Sale | Email | 5000 | 1200 | 300 |
| Spring Sale | Social | 3000 | 1500 | 250 |
| Summer Launch | Search | 7000 | 2000 | 400 |
=TEXTJOIN(CHAR(10), TRUE, FILTER(E3:E5, D3:D5>1500))
Result: 250
400
FILTER extracts conversion values (E3:E5) only where clicks (D3:D5) exceed 1500, yielding 250 and 400. TEXTJOIN then stitches those numbers together with CHAR(10), the line-feed character, producing a multi-line string. Because ignore_empty is TRUE, any rows that didn’t meet the click threshold are omitted entirely.