Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 286
  • Last Modified:

Sum rows if greater than X

Experts,

I have a spreadsheet with many columns and only 1 row of data
If the sum of the numbers is >=500 then combine those numbers and put the result in the cell.  
Keep doing this until you reach the last column.

I am trying to avoid a manual process and increase my efficiency.
Right now, I have to manually look at the data and sum if >500.  
The spreadsheet is a scaled down version.

maybe there is some canned function in excel for what I am after.

thank you.
sum500.xls
0
pdvsa
Asked:
pdvsa
  • 2
  • 2
2 Solutions
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
I would think I would do this with some vba function...
not tested, but this should be about it ..
dim col as long
dim cols as long
dim sum_cells as long

cols = sheet1.usedrange.columns.count
col1 = 1
sum_cells = 0
while col1 <= cols
  sum_cells = sum_cells + sheet1.cells(col1, 1).value2
  if sum_cells >= 500 then
      shee1.cells(col1, 2) = sum_cells
     sum_cells = 0
  end if
  col1 = col1 + 1

wend

Open in new window

0
 
andrewssd3Commented:
I don't really like this, but I'm not quite clear why you want to do what you're doing, so this achieves the same results as you have:
=IF(SUM($A1:B1)-SUM($A5:A5)>=500,SUM($A1:B1)-SUM($A5:A5),"")

Open in new window

In all cells except the first column.
See the attached file for the context.
You could make it more efficient by adding an extra row to do the intermediate calculations, but that's probably not an issue as you're clearly on Excel 2003 or earlier so only have a max of 256 columns.
Note the dollar signs - this anchors the start of the ranges to the first column so that you can safely drag the formulas across.
sum500.xls
0
 
pdvsaAuthor Commented:
andrew:  that is pretty crafty.  It seems to work just fine.

Angell:  I do get an invalid outside procedure and the debugger highlights Sheet1 in the following line:
cols = Sheet1.UsedRange.Columns.Count

I am not certain how to use it though.  

thank you....
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
you need to put the whole code inside a procedure...
0
 
pdvsaAuthor Commented:
Thank you.  I ended up using the equation and this is why I split the points.   Any objections let me know...
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now