How do you group rows in excel using python?

The tutorial shows how to group rows in Excel to make complicated spreadsheets easier to read. See how you can quickly hide rows within a certain group or collapse the entire outline to a particular level.

Worksheets with a lot of complex and detailed information are difficult to read and analyze. Luckily, Microsoft Excel provides an easy way to organize data in groups allowing you to collapse and expand rows with similar content to create more compact and understandable views.

Grouping rows in Excel

Grouping in Excel works best for structured worksheets that have column headings, no blank rows or columns, and a summary row (subtotal) for each subset of rows. With the data properly organized, use one of the following ways to group it.

How to group rows automatically (create an outline)

If your dataset contains just one level of information, the fastest way would be to let Excel group rows for you automatically. Here's how:

  1. Select any cell in one of the rows you want to group.
  2. Go to the Data tab > Outline group, click the arrow under Group, and select Auto Outline.

That's all there is to it!

Here is an example of what kind of rows Excel can group:

How do you group rows in excel using python?

As shown in the screenshot below, the rows have been grouped perfectly and the outline bars representing different levels of data organization have been added to the left of column A.

How do you group rows in excel using python?

Note. If your summary rows are located above a group of detail rows, before creating an outline, go to the Data tab > Outline group, click the Outline dialog box launcher, and clear the Summary rows below detail checkbox.

How do you group rows in excel using python?

Once the outline is created, you can quickly hide or show details within a certain group by clicking the minus

How do you group rows in excel using python?
or plus
How do you group rows in excel using python?
sign for that group. You can also collapse or expand all rows to a particular level by clicking on the level buttons
How do you group rows in excel using python?
in the top-left corner of the worksheet. For more information, please see How to collapse rows in Excel.

How to group rows manually

If your worksheet contains two or more levels of information, Excel's Auto Outline may not group your data correctly. In such a case, you can group rows manually by performing the steps below.

Note. When creating an outline manually, make sure your dataset does not contain any hidden rows, otherwise your data may be grouped incorrectly.

1. Create outer groups (level 1)

Select one of the larger subsets of data, including all of the intermediate summary rows and their detail rows.

In the dataset below, to group all data for row 9 (East Total), we select rows 2 through 8.

How do you group rows in excel using python?

On the Data tab, in the Outline group, click the Group button, select Rows, and click OK.

How do you group rows in excel using python?

This will add a bar on the left side of the worksheet that spans the selected rows:

How do you group rows in excel using python?

In a similar manner, you create as many outer groups as necessary.

In this example, we need one more outer group for the North region. For this, we select rows 10 to 16, and click Data tab > Group button > Rows.

That set of rows is now grouped too:

How do you group rows in excel using python?

Tip. To create a new group faster, press the Shift + Alt + Right Arrow shortcut instead of clicking the Group button on the ribbon.

2. Create nested groups (level 2)

To create a nested (or inner) group, select all detail rows above the related summary row, and click the Group button.

For example, to create the Apples group within the East region, select rows 2 and 3, and hit Group. To make the Oranges group, select rows 5 through 7, and press the Group button again.

Similarly, we create nested groups for the North regions, and get the following result:

How do you group rows in excel using python?

3. Add more grouping levels if necessary

In practice, datasets are seldom complete. If at some point more data is added to your worksheet, you will probably want to create more outline levels.

As an example, let's insert the Grand total row in our table, and then add the outermost outline level. To have it done, select all the rows except for the Grand Total row (rows 2 through 17), and click Data tab > Group button > Rows.

As shown in the screenshot below, our data is now grouped in 4 levels:

  • Level 1: Grand total
  • Level 2: Region totals
  • Level 3: Item subtotals
  • Level 4: Detail rows

How do you group rows in excel using python?

Now that we have an outline of rows, let's see how it makes our data easier to view.

How to collapse rows in Excel

One of the most useful features of Excel grouping is the ability to hide and show the detail rows for a particular group as well as to collapse or expand the entire outline to a certain level in a mouse click.

Collapse rows within a group

To collapse the rows in a particular group, just click the minus button

How do you group rows in excel using python?
at the bottom of that group's bar.

For example, this is how you can quickly hide all detail rows for the East region, including subtotals, and show only the East Total row:

How do you group rows in excel using python?

Another way to collapse rows in Excel is to select any cell in the group and click the Hide Detail button on the Data tab, in the Outline group:

How do you group rows in excel using python?

Either way, the group will be minimized to the summary row, and all of the detail rows will be hidden.

Collapse or expand the entire outline to a specific level

To minimize or expand all the groups at a particular level, click the corresponding outline number at the top left corner of your worksheet.

Level 1 displays the least amount of data while the highest number expands all the rows. For example, if your outline has 3 levels, you click number 2 to hide the 3rd level (detail rows) while displaying the other two levels (summary rows).

In our sample dataset, we have 4 outline levels, which work this way:

  • Level 1 shows only Grand total (row 18 ) and hides all other rows.
  • Level 2 displays Grand total and Region subtotals (rows 9, 17 and 18).
  • Level 3 displays Grand total, Region and Item subtotals (rows 4, 8, 9, 18, 13, 16, 17 and 18).
  • Level 4 shows all the rows.

The following screenshot demonstrates the outline collapsed to level 3.

How do you group rows in excel using python?

How to expand rows in Excel

To expand the rows within a certain group, click any cell in the visible summary row, and then click the Show Detail button on the Data tab, in the Outline group:

How do you group rows in excel using python?

Or click the plus sign

How do you group rows in excel using python?
for the collapsed group of rows that you want to expand:
How do you group rows in excel using python?

How to remove outline in Excel

In case you want to remove all row groups at once, then clear the outline. If you want to remove just some of the row groups (e.g. nested groups), then ungroup the selected rows.

How to remove the entire outline

Go to the Data tab > Outline group, click the arrow under Ungroup, and then click Clear Outline.

How do you group rows in excel using python?

Notes:

  1. Removing outline in Excel does not delete any data.
  2. If you remove an outline with some collapsed rows, those rows might remain hidden after the outline is cleared. To display the rows, use any of the methods described in How to unhide rows in Excel.
  3. Once the outline is removed, you won't be able to get it back by clicking the Undo button or pressing the Undo shortcut (Ctrl + Z). You will have to recreate the outline from scratch.

How to ungroup a certain group of rows

To remove grouping for certain rows without deleting the whole outline, do the following:

  1. Select the rows you want to ungroup.
  2. Go to the Data tab > Outline group, and click the Ungroup button. Or press Shift + Alt + Left Arrow which is the Ungroup shortcut in Excel.
  3. In the Ungroup dialog box, select Rows and click OK.

For example, here's how you can ungroup two nested row groups (Apples Subtotal and Oranges Subtotal) while keeping the outer East Total group:

How do you group rows in excel using python?

Note. It is not possible to ungroup non-adjacent groups of rows at a time. You will have to repeat the above steps for each group individually.

Excel grouping tips

As you have just seen, it's pretty easy to group rows in Excel. Below you will find a few useful tricks that will make your work with groups even easier.

How to calculate group subtotals automatically

In all of the above examples, we have inserted our own subtotal rows with SUM formulas. To have subtotals calculated automatically, use the Subtotal command with the summary function of your choice such as SUM, COUNT, AVERAGE, MIN, MAX, etc. The Subtotal command will not only insert summary rows but also create an outline with collapsible and expandable rows, thus completing two tasks at once!

Apply default Excel styles to summary rows

Microsoft Excel has the predefined styles for two levels of summary rows: RowLevel_1 (bold) and RowLevel_2 (italic). You can apply these styles before or after grouping rows.

To automatically apply Excel styles to a new outline, go to the Data tab > Outline group, click the Outline dialog box launcher, and then select the Automatic styles check box, and click OK. After that you create an outline as usual.

How do you group rows in excel using python?

To apply styles to an existing outline, you also select the Automatic styles box as shown above, but click the Apply Styles button instead of OK.

Here's how an Excel outline with the default styles for summary rows looks like:

How do you group rows in excel using python?

How to select and copy only visible rows

After you've collapsed irrelevant rows, you may want to copy the displayed relevant data somewhere else. However, when you select the visible rows in the usual way using the mouse, you are actually selecting the hidden rows as well.

To select only the visible rows, you'll need to perform a few extra steps:

  1. Select visible rows using the mouse.

    For example, we have collapsed all of the detail rows, and now select the visible summary rows:

    How do you group rows in excel using python?

  2. Head to the Home tab >Editing group, and click Find & Select > Go To Special. Or press Ctrl + G (Go To shortcut) and click the Special… button.
  3. In the Go To Special dialog box, select Visible cells only and click OK.
    How do you group rows in excel using python?

As the result, only the visible rows are selected (the rows adjacent to hidden rows are marked with a white border):

How do you group rows in excel using python?

And now, you simply press Ctrl + C to copy the selected rows and Ctrl + V to paste them wherever you like.

How to hide and show outline symbols

To hide or display the outline bars and level numbers in Excel, use the following keyboard shortcut: Ctrl + 8.

Pressing the shortcut for the first time hides the outline symbols, pressing it again redisplays the outline.

The outline symbols don't show up in Excel

If you can see neither the plus and minus symbols in the group bars nor the numbers at the top of the outline, check the following setting in your Excel:

  1. Go to the File tab > Options > Advanced category.
  2. Scroll down to the Display options for this worksheet section, select the worksheet of interest, and make sure the Show outline symbols if an outline is applied box is selected.

How do you group rows in excel using python?

This is how you group rows in Excel to collapse or expand certain sections of your dataset. In a similar fashion, you can group columns in your worksheets. I thank you for reading and hope to see you on our blog next week.

You may also be interested in

How do you group in Excel in Python?

It is possible to group rows or columns by calling the groupRows and groupColumns methods of the Cells collection. Both methods take the following parameters: First row/column index, the first row or column in the group. Last row/column index, the last row or column in the group.

How do I group rows of data in Excel?

On the Data tab, in the Outline group, click Group. Then in the Group dialog box, click Rows, and then click OK. Tip: If you select entire rows instead of just the cells, Excel automatically groups by row - the Group dialog box doesn't even open. The outline symbols appear beside the group on the screen.

How do you add multiple rows in Excel using Python?

To insert multiple rows into the worksheet, call the insertRows method of the Cells collection. The InsertRows method takes two parameters: Row index, the index of the row from where the new rows will be inserted. Number of rows, total number of rows that need to be inserted.

How do you automate a group in Excel?

How to group rows automatically (create an outline).
Select any cell in one of the rows you want to group..
Go to the Data tab > Outline group, click the arrow under Group, and select Auto Outline..