How to sum cells when value changes in another column?
When you work on Excel worksheet, sometime, you may need to sum cells based on group of data in another column. For example, here, I want to sum the orders in column B when the data changes in column A to get the following result. How could you solve this promblem in Excel?
Here is a simple formula which can help you to solve this task, please do as follows:
Enter this formula: =IF(A3<>A2,SUM($B$2:B2)-SUM($C$1:C1),"") into a blank cell beside your data range that you want to sum, C2, for example, and then drag this formula down to the cells that you want to get the results, and the cells in column B have been added together based on the value changes in column A. See screenshot:
Note: In the above formula, A3, A2 are the first two cells in the column which is used to identify the cell changes, B2 is the first cell in the number column that you want to sum, C1 is the cell above your formula. You can change them to your need.
If you have Kutools for Excel, with its Advanced Combine Rows feature, you can quickly combine the same items and sum the corresponding cells in another column.
|Kutools for Excel : with more than 300 handy Excel add-ins, free to try with no limitation in 30 days.|
After installing Kutools for Excel, please do as this:
1. In order to prevent losing the original data, you’d better make a copy of the original data.
2. Then select the data range that you want to sum based on another column when cell changes.
3. Then click Kutools > Merge & Split > Advanced Combine Rows, see screenshot:
4. In the Advanced Combine Rows dialog box, do the following operations:
(1.) Click the Produce column name which you want to sum values based on, and click Primary Key;
(2.) Click the Order column name that you want to sum, and then click Calculate > Sum;
(3.) Check My data has headers if you want to ignore the headers;
5. Then click Ok button, all same items in column A are combined together and their corresponding cell values in column B are added up, see screenshot: