Excel Formulas for Transposing Merged Cells with Unmerged Rows

📅 Jun 13, 2026 📝 Sarah Miller

Manually restructuring Excel sheets where merged cells align with unmerged rows is a notoriously frustrating task. While standard data tools like Paste Special (Transpose) offer basic workarounds, they inevitably break when dealing with irregular merged boundaries. Fortunately, leveraging dynamic array formulas grants you the power to automate this layout transformation seamlessly. Note the critical stipulation: your merged blocks must maintain a consistent row count to map the unmerged data accurately. By combining INDEX, INT, and ROW functions, you can bypass manual restructuring entirely. Below, we break down the exact formulas to clean and transpose your complex datasets.

Excel Formulas for Transposing Merged Cells with Unmerged Rows

Merged cells are the bane of any data analyst's existence. While they make spreadsheets look visually organized and polished for human readers, they wreak havoc on Excel's calculation engine. When you merge cells, Excel only stores the data value in the top-left cell of the merged range. The remaining cells in the merge are treated as blank or empty.

This structural quirk makes it incredibly difficult to sort, filter, or transpose data. If you have a dataset where a "Parent" category is merged vertically across several rows, and adjacent columns contain unmerged "Child" rows, transposing this data into a flat, horizontal layout is a common but frustrating challenge.

In this comprehensive guide, we will explore how to solve this issue using modern dynamic array formulas (Office 365), legacy formulas for older Excel versions, and a quick alternative using Power Query.


The Goal: Reshaping the Data

Before diving into the formulas, let's define our starting point and our desired output. Suppose we have the following source table where Category is merged, but Product and Sales are unmerged:

Category (Col A) Product (Col B) Sales (Col C)
Electronics Phone $800
Laptop $1,200
Tablet $400
Furniture Chair $150
Desk $350

We want to transpose this data so that each unique Category has its own single row, and all corresponding Products and Sales are transposed horizontally across columns like this:

Category Item 1 Val 1 Item 2 Val 2 Item 3 Val 3
Electronics Phone $800 Laptop $1,200 Tablet $400
Furniture Chair $150 Desk $350 (blank) (blank)

Method 1: The Modern Office 365 Approach (Highly Recommended)

If you are using Microsoft 365 or Excel 2021, you have access to powerful dynamic array formulas. We can solve this problem in two clean steps: first, virtually "filling down" the merged values, and second, filtering and transposing the child rows dynamically.

Step 1: Create a Helper Column to "Fill Down" Merged Cells

Because Excel only recognizes the value in the first cell of a merged range, we need a formula that scans Column A and fills the blanks with the parent value. We can achieve this dynamically using the SCAN function.

Assuming your raw data starts at row 2 (with headers in row 1), enter this formula in cell D2:

=SCAN("", A2:A6, LAMBDA(prev, curr, IF(curr="", prev, curr)))

How it works:

  • SCAN initializes an accumulator with an empty string ("").
  • It loops through each cell in the range A2:A6.
  • The LAMBDA function checks if the current cell (curr) is blank. If it is blank (which is true for the hidden cells within a merged block), it carries over the previous value (prev). If it is not blank, it uses the new value.

This gives us a clean, unmerged virtual array of categories: Electronics, Electronics, Electronics, Furniture, Furniture.

Step 2: Generate Unique Categories and Transpose Child Rows

Now that we have a filled-down helper column in Column D, we can extract our unique row headers and transpose the child records.

1. In cell F2, extract the unique list of categories:

=UNIQUE(D2:D6)

2. In cell G2, write the formula to filter, combine, and transpose the corresponding items and sales values, then drag it down for each unique category:

=TOROW(FILTER(B2:C6, D2:D6=F2))

How it works:

  • FILTER(B2:C6, D2:D6=F2) looks at our helper column (Column D) and returns only the rows where the category matches cell F2 (Electronics). This returns a two-column array of products and sales.
  • TOROW(...) takes that 2D array and flattens it into a single horizontal row, automatically alternating between the product name and its corresponding sales value.

Method 2: The Classic Excel Formula Approach (Pre-Office 365)

If you are working on an older version of Excel (Excel 2019, 2016, or earlier), you cannot use dynamic array functions like SCAN or TOROW. Instead, we must rely on a standard formula fill-down technique and an array formula using INDEX and SMALL.

Step 1: Fill Down Merged Cells (Legacy Style)

1. Insert a helper column in Column D. In cell D2, enter the following formula:

=IF(A2="", D1, A2)

2. Drag this formula down to match the length of your dataset. It checks if the current cell in Column A is blank. If it is, it copies the value from the cell directly above it in the helper column, effectively filling down the merged cells.

Step 2: Create a Unique List of Categories

To get a unique list of your categories, you can copy Column D, paste it elsewhere as values, and use Excel's built-in Remove Duplicates tool (found under the Data tab). Let's assume you place this unique list in Column F, starting at F2.

Step 3: Extract and Transpose Data Horizontally

Now, we will write a formula to pull the associated products and sales. Since we are transposing two columns (Product and Sales) into alternating columns horizontally, we have to use a sophisticated indexing formula.

In cell G2, enter the following formula. If you are using Excel 2016 or earlier, you must press Ctrl + Shift + Enter to commit it as an array formula:

=IFERROR(INDEX($B$2:$C$6, SMALL(IF($D$2:$D$6=$F2, ROW($D$2:$D$6)-ROW($D$2)+1), INT((COLUMNS($G$2:G2)-1)/2)+1), MOD(COLUMNS($G$2:G2)-1, 2)+1), "")

Once entered, drag this formula to the right and down to fill your matrix.

How this complex formula works:

  • IF($D$2:$D$6=$F2, ROW($D$2:$D$6)-ROW($D$2)+1) returns the relative row positions within our range that match the category in F2.
  • SMALL(..., k) returns the $k$-th smallest row index. The math block INT((COLUMNS($G$2:G2)-1)/2)+1 acts as our counter $k$, incrementing by 1 every two columns we drag to the right. This keeps us on the same matching item row long enough to extract both the Product and the Sales value.
  • MOD(COLUMNS($G$2:G2)-1, 2)+1 determines whether to pull from Column 1 (Product) or Column 2 (Sales) of our target range $B$2:$C$6 by alternating between 1 and 2 as you drag the formula to the right.
  • IFERROR(..., "") handles the empty cells gracefully when there are no more matching children to transpose.

Method 3: The Power Query Alternative (Zero Formulas)

If your dataset changes frequently, writing complex formulas can become high-maintenance. Excel's built-in ETL tool, Power Query, is designed precisely for these kinds of data structural transformations.

  1. Select your source table, navigate to the Data tab, and click From Table/Range. This will open the Power Query Editor.
  2. Right-click the Category column header and select Fill > Down. This instantly resolves the merged cell issue by populating the null fields with the parent category names.
  3. Select both the Product and Sales columns, right-click, and select Merge Columns. Choose a unique separator (like a semicolon ; or comma) to temporarily merge your child values.
  4. Group the data: Right-click the Category column, select Group By.
    • Set the Operation to All Rows. Let's name this new column "Data".
  5. Add a Custom Column to extract the merged items into a list, then use the Transpose tool within those grouped subsets, or pivot the columns to transform the vertical values into horizontal columns.
  6. Once reshaped, click Close & Load to return your clean, transposed, flat table back into Excel.

Summary and Best Practices

While merged cells look visually appealing, they break standard database rules. If you must design sheets with merged cells for presentation, keeping your raw data on a separate "flat" worksheet and using these transposing formulas on a "dashboard" sheet is the best design architecture.

For modern environments, the SCAN + FILTER + TOROW formula structure is highly efficient, self-adjusting, and readable. For legacy environments, utilizing a simple "Fill Down" helper column paired with INDEX-MATCH-SMALL will keep your spreadsheets working perfectly without requiring upgrades.

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.