Sum column if cells are outside range (range = leftmost value in row + next 11 columns) R or Excel?

前端 未结 2 1771
礼貌的吻别
礼貌的吻别 2021-01-27 19:21

Please see the picture. In the matrix pictured, an entry is considered \"New Business\" from the leftmost value + the next 11 columns (so 12 months total). I\'ve highlighted thi

相关标签:
2条回答
  • 2021-01-27 19:57

    This shouldn't be too difficult to do in VBA. Rather than just writing all of the code for you, I will set out how I would plan to approach this and suggest that you at least have a go at the code yourself, then open further questions for any specifics you are stuck on.

    I would look to do something like the following:

    1. Specify the range that you are working with;
    2. Loop through each row getting the new business and return business values and adding them to cumulative totals;
    3. On each row use a function to determine the first used row (e.g. .End(xlToRight) from column B on the current row may be helpful), then sum the range from this to a column offset of 12 to get the new business for that row and use this to derive the return business as you suggested;
    4. Use your cumulative totals to update the fields required.

    If you are stuck with any syntax manually performing the steps whilst recording a macro then looking at the code generated can often help.

    0 讨论(0)
  • 2021-01-27 20:06

    I added a helper column C that finds the first non blank in the row (my data went from column D to column AZ)

    =MATCH(TRUE,INDEX((D2:AZ2<>0),0),0)
    

    This was then the formula I put in cell D5 and copied it across

    =SUMIFS(D2:D4,$C2:$C4,">"&COLUMN(D1)-12-3)
    

    The 12 is for 12 months and the 3 is for Column C where the data starts.

    The return business is in D6 and across

    =SUM(D2:D4)-D5
    

    My Results

    0 讨论(0)
提交回复
热议问题