View Full Version : Solved: Sum particular data
Klartigue
08-07-2012, 01:15 PM
On the attached sheet, how can I say that if cell in column C = "Merrill", then sum the numbers in column I for I2 to lastrow. And place that sum in .Cells(lastrow + 1, 9)??
Bob Phillips
08-07-2012, 02:33 PM
Try this
=SUMPRODUCT(--($C$2:$C$6=LEFT($H9,FIND(" ",$H9&" ")-1)),$I$2:$I$6)
Klartigue
08-08-2012, 08:18 AM
That works great. However, each sheet will have a different number of rows. So Can I alter this to say instead of $C$2:$C$6 to say $C2: lastrow?
Also, "MERRILL LYNCH" will not always be located in cell $H9. It will always be found in this location:
Sub Merrill()
Dim lastrow As Long
Dim i As Long
With ActiveSheet
lastrow = .Cells(.Rows.Count, "C").End(xlUp).Row + 2
.Cells(lastrow + 1, 8).Value = "MERRILL LYNCH"
End With
End Sub
And since there will be a different number of rows each time, I would need to sum $I2:lastrow for those in which column C has "Merrill".
So can we make this a little more generic to reference last rows, etcc..So it will work for many different sheets with different # of rows??
Thanks, this is very helpful!
Klartigue
08-08-2012, 10:39 AM
Maybe something like this to sum the merrill quantities? This doesnt work but perhaps it is a step in the right direction?
Sub testingout()
'
Dim lastrow As Long
Dim i As Long
With ActiveSheet
lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 2 To lastrow
If .Cells(i, "C").Value = "MERRILL" Then
.Cells(lastrow + 2, 9).Select
ActiveCell.FormulaR1C1 = "=sum(I2:I)"
End If
End With
End Sub
Klartigue
08-08-2012, 10:41 AM
This places the sum in the right place but it does not generate a sum. How do I say to I2 to lastrow?
Sub testingout()
'
Dim lastrow As Long
Dim i As Long
With ActiveSheet
lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 2 To lastrow
If .Cells(i, "C").Value = "MERRILL" Then
.Cells(lastrow + 3, 9).Select
ActiveCell.FormulaR1C1 = "=sum($I$2:I)"
End If
Next i
End With
End Sub
CatDaddy
08-08-2012, 11:12 AM
ActiveCell.Formula = "=SUM($I$2:$I$" & lastrow & ")"
Bob Phillips
08-08-2012, 12:40 PM
Never select
.Cells(lastrow + 3, 9).Formula = "=SUM($I$2:I" & lastrow & ")"
Klartigue
08-08-2012, 01:02 PM
Thats works great! But it seems like this part inst working for me:
If .Cells(i, "C").Value = "MERRILL" Then
I am trying to sum the cells in column I in which they have "Merrill" in Column C
CatDaddy
08-08-2012, 01:04 PM
try
If InStr(.Cells(i, "C").Text,"MERRILL") > 0 Then
Klartigue
08-08-2012, 01:09 PM
See the attached. If you try the code it is still calculating the sum of everything in colum I regardless of what is says in column C.
Sub testingout()
'
Dim lastrow As Long
Dim i As Long
With ActiveSheet
lastrow = .Cells(.Rows.Count, "C").End(xlUp).Row
For i = 2 To lastrow
If InStr(.Cells(i, "C").Text, "MERRILL") > 0 Then
With .Cells(lastrow + 3, 9).Select
ActiveCell.Formula = "=SUM($I$2:$I$" & lastrow & ")"
End With
End If
Next i
End With
End Sub
Klartigue
08-08-2012, 01:15 PM
I think it isn't working becasue this line is messing it up
With .Cells(lastrow + 3, 9).Select
But somehow i still need to reference that cell to place the sum in
CatDaddy
08-08-2012, 01:25 PM
Sub testingout()
'
Dim lastrow As Long
Dim i As Long
With ActiveSheet
lastrow = .Cells(.Rows.Count, "C").End(xlUp).Row
For i = 2 To lastrow
If InStr(.Cells(i, "C").Text, "MERRILL") > 0 Then
.Cells(lastrow + 3, 9).Value = .Cells(lastrow + 3, 9).Value + .Cells(i, "I").Value
End With
End If
Next i
End With
End Sub
Klartigue
08-08-2012, 01:38 PM
Thats not working bc it is not suming the correct cells. In the attached excel sheet my ultimate goal is to sum I2 to I5 because those correspond to MERRILL (in Column C). And that sum to be placed in .Cells(lastrow + 3, 9).Value
CatDaddy
08-08-2012, 01:44 PM
i just tested this on your spreadsheet and it works:
Sub testingout()
Dim lastrow As Long
Dim i As Long
With ActiveSheet
lastrow = .Cells(.Rows.Count, "C").End(xlUp).Row
For i = 2 To lastrow
If InStr(.Cells(i, "C").Text, "MERRILL") > 0 Then
.Cells(lastrow + 3, 9).Value = .Cells(lastrow + 3, 9).Value + .Cells(i, "I").Value
End If
Next i
End With
End Sub
Klartigue
08-08-2012, 01:56 PM
Great, it does work now. Thank you!!
CatDaddy
08-08-2012, 02:04 PM
mark the thread solved :)
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.