How to Concatenate Cells with Conditions Using Excel TEXTJOIN

📅 Jan 02, 2026 📝 Sarah Miller

Consolidating segmented spreadsheet data based on specific criteria often leads to tedious manual copying and formula errors. While standard lookup functions or basic concatenation tools are common workarounds for data merging, they fail when you need to aggregate multiple matching values into a single cell. Utilizing a conditional TEXTJOIN formula grants analysts the power to dynamically consolidate filtered lists instantly. However, the primary stipulation is that this advanced method requires Excel 2019 or Microsoft 365. For example, you can effortlessly merge all "Pending" tasks into one comma-separated cell. Below, we outline the exact formula syntax to implement this solution.

How to Concatenate Cells with Conditions Using Excel TEXTJOIN

Excel Formula To Concatenate Values Using Textjoin With Condition

Before Excel 2019 and Microsoft 365, concatenating cells based on specific conditions was one of the most frustrating tasks for spreadsheet users. You either had to write complex, nested IF statements with the & operator, resort to custom VBA macros, or install third-party add-ins.

Fortunately, Microsoft introduced the TEXTJOIN function, which revolutionized string manipulation in Excel. When combined with logical functions like IF or modern array functions like FILTER, TEXTJOIN allows you to seamlessly group, merge, and format data conditionally. In this guide, we will explore how to build conditional concatenation formulas, ranging from basic implementations to advanced multi-criteria scenarios.


Understanding the TEXTJOIN Function

To master conditional concatenation, we must first understand how TEXTJOIN operates on its own. The syntax of the function is as follows:

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)

  • delimiter: A string (wrapped in quotation marks) that separates your combined values. Common delimiters include commas (", "), semicolons ("; "), dashes (" - "), or line breaks (CHAR(10)).
  • ignore_empty: A boolean value. If set to TRUE, Excel will ignore any blank cells in the designated ranges. If set to FALSE, Excel will include empty cells, resulting in consecutive delimiters.
  • text1, text2, ...: The ranges, arrays, or cell references containing the values you want to join.

Method 1: TEXTJOIN with IF (The Universal Approach)

The traditional way to apply a condition to TEXTJOIN is by nesting an IF statement inside it. This method works in Excel 2019, Excel 2021, and Microsoft 365.

The conceptual syntax is:

{=TEXTJOIN(delimiter, TRUE, IF(criteria_range = criteria, value_range, ""))}

Note: If you are using Excel 2019, you must enter this as an array formula by pressing Ctrl + Shift + Enter. If done correctly, Excel will wrap the formula in curly braces {}. Microsoft 365 users can simply press Enter.

Step-by-Step Example

Let's assume you have a list of employees and their respective departments, and you want to generate a comma-separated list of all employees in the "IT" department.

Employee (Column A) Department (Column B)
AliceHR
BobIT
CharlieHR
DavidIT
EmmaMarketing
FrankIT

To list all IT employees, write the following formula:

=TEXTJOIN(", ", TRUE, IF(B2:B7="IT", A2:A7, ""))

How It Works:

  1. The logical test B2:B7="IT" evaluates each cell in the department column. It returns an array of TRUE and FALSE values: {FALSE, TRUE, FALSE, TRUE, FALSE, TRUE}.
  2. The IF statement returns the corresponding value from Column A if the result is TRUE, and an empty string ("") if the result is FALSE. This yields the array: {"", "Bob", "", "David", "", "Frank"}.
  3. TEXTJOIN takes this array, uses ", " as the separator, and because the second argument is set to TRUE, it completely ignores the empty strings.
  4. The final output is: Bob, David, Frank.

Method 2: TEXTJOIN with FILTER (The Modern Approach)

If you are using Microsoft 365 or Excel 2021, the best and most robust way to perform conditional concatenation is by combining TEXTJOIN with the dynamic FILTER function. This approach is cleaner, faster, and does not require complex array key combinations.

The syntax for this method is:

=TEXTJOIN(delimiter, ignore_empty, FILTER(array, include, [if_empty]))

Using the same employee table above, the formula to extract IT employees is:

=TEXTJOIN(", ", TRUE, FILTER(A2:A7, B2:B7="IT", ""))

This formula instructs Excel to filter the range A2:A7 where the corresponding row in B2:B7 equals "IT", and then join those matching values together. If no matches are found, it safely returns an empty string.


Handling Multiple Conditions

Often, a single condition is not enough. You might want to filter data based on two or more criteria. You can easily achieve this using both the IF and FILTER methods.

Using TEXTJOIN + FILTER with Multiple Conditions

When using FILTER with multiple conditions, use multiplication (*) to represent the AND logic, and addition (+) to represent the OR logic.

Suppose we expand our employee table to include a "Status" column (Active or Inactive). If we only want to list Active employees in the IT department:

=TEXTJOIN(", ", TRUE, FILTER(A2:A7, (B2:B7="IT") * (C2:C7="Active"), ""))

Using TEXTJOIN + IF with Multiple Conditions

If you are on an older version of Excel that supports TEXTJOIN but not FILTER (such as Excel 2019), you can nest multiple IF statements:

{=TEXTJOIN(", ", TRUE, IF(B2:B7="IT", IF(C2:C7="Active", A2:A7, ""), ""))}


Advanced Scenario: Concatenating Unique Values Only

A common issue with data concatenation is encountering duplicate entries. If you want a list of unique products sold in a specific region, a simple conditional TEXTJOIN might yield: "Laptop, Laptop, Phone, Laptop". To display "Laptop, Phone" instead, you can nest the UNIQUE function inside your formula.

This is highly effective when paired with the FILTER function:

=TEXTJOIN(", ", TRUE, UNIQUE(FILTER(A2:A20, B2:B20="East", "")))

In this example, Excel first filters the data in column A down to rows where column B is "East", extracts only the unique elements from that subset, and then joins them together with commas.


Comparison: IF vs. FILTER Method

Feature TEXTJOIN + IF TEXTJOIN + FILTER
Excel Compatibility Excel 2019, 2021, Office 365 Excel 2021, Office 365
Entry Method Requires Ctrl+Shift+Enter in Excel 2019 Standard Enter
Multi-criteria Setup Nested IFs (can get messy) Boolean Logic (clean and scalable)
Performance Moderate Highly Optimized

Troubleshooting Common Errors

  • #NAME? Error: This usually means you are using a version of Excel older than 2019 that does not support the TEXTJOIN function. Alternatively, check for typos in the formula name.
  • #VALUE! Error: If you are using the TEXTJOIN + IF method in Excel 2019, you must enter it as an array formula using Ctrl + Shift + Enter. Otherwise, Excel cannot process the arrays correctly.
  • #CALC! Error: This occurs when using the FILTER function and no records match your criteria. To fix this, ensure you populate the optional third argument of the FILTER function (e.g., "" or "No results").
  • Truncated Results: Excel has a cell character limit of 32,767 characters. If your conditional search joins thousands of long text strings, the formula might return an error or truncate the result.

Conclusion

Mastering conditional concatenation with TEXTJOIN is a significant milestone for any Excel user. Whether you use the classic IF array structure or the modern FILTER function, you can now construct dynamic reports, summaries, and dashboards that update instantly when your source data changes. No more complex VBA, and no more tedious manual copy-pasting!

Disclaimer:
The documents and templates provided on this page are for informational and illustrative purposes only. They do not constitute professional, legal, or financial advice, and should not be relied upon as such. Because individual circumstances and regulatory requirements vary, these materials may not be suitable for your specific needs. We recommend consulting with a qualified professional before adapting or using any of these examples for official or commercial purposes.