2017-03-16 78 views
1

我今天给你写信,因为我在计算给定年份的数量时遇到了问题。VBA excel计数器最大值

这是什么,我有一个例子:

enter image description here

我想最多12 QX/201X的是在过去的几个月来总结在每行的列slidy年度的值我线。我在每个有“Qx/201x”的列的下面放一个“1”,但我只想保留最后一个值,并根据这个值对这些值求和。

对于如何完成这项工作,您是否可以使用VBA创建一个简单的想法?

回答

1

试试这个功能

Function SumIfColMatch(ByVal matchRow As Integer, ByVal matchString As String, ByVal sumRange As Range, ByVal maxToCount As Integer) 
    Dim dblTotal As Double 
    Dim lngCounter As Long 
    Dim sumCount As Integer 

    sumCount = 0 

    For lngCounter = sumRange.Cells.Count To 1 Step -1 
     If Cells(matchRow, lngCounter).Value Like matchString Then 
      dblTotal = dblTotal + sumRange(lngCounter).Value 
      sumCount = sumCount + 1 
      If sumCount >= maxToCount Then Exit For 
     End If 
    Next lngCounter 

    SumIfColMatch = dblTotal 

End Function 
In the formula cell use something like this 

    =SumIfColMatch(1,"Q*/201*",A3:DL3,12) 

它为我见附件截图

enter image description here

+0

非常感谢我要去尝试马上 – MopMop

+0

我不我想总结一切,但仅列Q */201 *每列下的单元格这将是我滑过的一年。我已经尝试过你的功能,但它不能按我需要的方式工作。你会有其他想法吗?预先感谢您 – MopMop

+0

我添加了一个截图显示它适用于我 – Aeneas