Skip to main content

How to quickly merge rows based on one column value then do some calculations in Excel?

For example, you have a range of data and one column has duplicates, now you want to merge rows bases the column A (has duplicates) then do some calculations to another column based on the merged rows as screenshot shown:

In Excel, there is no quick method to merge rows based on one column value, but here I introduce the
tricks that can help you merge duplicate rows then sum or do other calculations on another column.


arrow blue right bubble Merge rows based on one column then sum values with VBA

There is a VBA code can help you to merge the duplicate rows then sum another column values.

Tabbed browsing & editing multiple Excel workbooks/Word documents as Firefox, Chrome, Internet Explore 10!

You may be familiar to view multiple webpages in Firefox/Chrome/IE, and switch between them by clicking corresponding tabs easily. Here, Office Tab supports similar processing, which allow you to browse multiple Excel workbooks or Word documents in one Excel window or Word window, and easily switch between them by clicking their tabs. Click for free 30-day trial of Office Tab!

ot excel

1. Press F11 + Alt keys to enable Microsoft Visual Basic for Applications window, then click Insert > Module and copy and paste below VBA code to the new Module window.

VBA: Merge rows based on one column value

Sub MG30Nov12()
'Updateby20150519
Dim Rng As Range
Dim InputRng As Range
Dim nRng As Range
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set InputRng = InputRng.Parent.Range(InputRng.Columns(1).Address)
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For Each Rng In InputRng
    If Not .Exists(Rng.Value) Then
        .Add Rng.Value, Rng.Offset(, 1)
    Else
        .Item(Rng.Value).Value = .Item(Rng.Value).Value + Rng.Offset(, 1)
            If nRng Is Nothing Then
                Set nRng = Rng
            Else
                Set nRng = Union(nRng, Rng)
            End If
    End If
Next
If Not nRng Is Nothing Then
    nRng.EntireRow.Delete
End If
End With
End Sub

2. Press F5 or click Run button to run the VBA, and a dialog pops out for selecting a data range to work. see screenshot:

doc merge columns based on one column 3

3. After selecting a working range, click OK. Now the data has been merged by first column and sum the values in second column.

doc merge columns based on one column 4

Note: This VBA code just can correctly work when merging based on the first column and sum values in the second column.


arrow blue right bubble Merge rows based on one column then sum values with Advanced Combine Rows

If you are not familiar with VBA code, you can use the Advanced Combine Rows feature of the third part add-in tool – Kutools for Excel to easily and quickly merge the duplicates rows then sum the values in another column.

After free installing Kutools for Excel, please do as below:

1. Select the data you want to use and click Kutools > Merge & Split > Advanced Combine Rows. See screenshot:

doc advanced combine row 1

2. Then in the popping dialog, select the column which you will merge other columns based on then click Primary Key, and click another column and click Calculate then select Sum.

Tip: If your selected range has headers, check My data has headers, and check Use formatted values will keep the formatting after merging.

doc merge columns based on one column 6

3. Then click Ok. Now the data has been merge based on the primary column, and another is sum up. See screenshot:

doc merge columns based on one column 7


arrow blue right bubble Merge rows based on one column then do different operations on other columns with Advanced Combine Rows.

Advanced Combine Rows is powerful, because it not only can merge duplicate rows in one column then sum another column, but also can merge duplicate rows in one column then do different operations on other columns.

Suppose I have a range of data as below screenshot shown, and I want to both combine values in Column B and sum values in Column C based on Column A.
doc merge columns based on one column 8

After free installing Kutools for Excel, please do as below:

1. Select data range and click Kutools > Merge & Split > Advanced Combine Rows. See screenshot:

doc advanced combine row 1

2. In the Combine Rows Based on Column dialog, do like these:

(1) Click at the column you want to combine based on, and click Primary Key;

doc merge columns based on one column 10

(2) Click at the column you want to combine data, and click Combine, then select one separator you need from the list;

doc merge columns based on one column 11

(3) Click at the column you want to sum values and click Calculate, and select Sum.

doc merge columns based on one column 12

3. Click Ok. Now you can see the result as below:

doc merge columns based on one column 13

With Advanced Combine Rows feature, you also can merge rows based on one column then count, average, keep 1st or last data in other columns. 

Best Office Productivity Tools

🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions
Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...

Description


Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have the same/similar question. I am trying to sum all of the columns to the right of the reference cell but it only sums the one. How do I get it to sum all those to the right individually?
This comment was minimized by the moderator on the site
Hey, your module used to work for big tables as well (eg. you want to sum up according to Year but you have Sales 1, Sales 2, Sales 3....etc). But now it only gets the first column right (Sales 1) and all others are not summed correctly. Did you change anything?
Thanks!
This comment was minimized by the moderator on the site
Hi, IK, maybe you can use the sumproduct function SUMPRODUCT((A2:A10=”Pen”)*(B2:E10)) to calculate them one by one. A2:A10 is the range contain the lookup value, pen is the criterion, B2:E10 is range that you want to sum based on criterion.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations