2011-04-03 131 views
0

我正在寻找一个Excel公式,它可以添加行的结果,直到它击中一个空单元格。重复循环,直到空单元格

第一行包含一个式(包括值X)。 以下各行包含3个单元格(A,B,C),其中包含值。 它是简单的真/假(“= IF(AND(X> = A2; X < = B2); C2; 0)),检查是否 'X'>是高于A,和低于B,并且如果为真,它返回C. 该公式着眼于下一行并重复行动的价值,并增加了所有返回值一个总和。

ROW1 - A1(formula) 
ROW2 - A2(5) - B2(10) - C2(100) 
ROW3 - A3(10) - B3(20) - C3(200) 
ROW4 - (empty) 

ROW2 - If we set X=8, then 8 is > 5, and < 10, and the value 100 is returned. 
ROW3 - The action is repeated - this time with the result 0. 
ROW4 - The row/cell is empty and the loop stops. 
ROW1 - Formula has stopped and shows result (100 + 0 =) 100. 

回答

0

我不是在计算机(与Excel )现在。

我知道有一个select current region(我认为这是映射到按Ctrl -/?)你应该能够用它来检测毗邻地区的结束。如果你想只列那使用Range.Intersect来l模仿一列(例如“D:D”列D)。

这将利用Excel的强大功能,而不是自己编写代码。

看一看命名范围(插入/名称,F3挑在公式编辑器中的命名范围)。 IIRC你可以在名称下使用'动态'范围(如:自动检测连续区域)。我不得不尝试该如何合作,提供更多的细节

0

如果您不确定有多少行将是,那么你可能会更好过细胞编写VBA循环,直到它找到一个空的

myValue = 8 
searchRow = 2 
Total = 0 
Do While Cells(searchRow, 1).Value <> "" 
    If (myValue > Cells(searchRow, 1).Value And myValue < Cells(searchRow, 2).Value) Then 
    Total = Total + Cells(searchRow, 3).Value 
    End If 

searchRow = searchRow + 1 
Loop 

Cells(1, 1).Value = Total 
+0

对不起,我没有让这个不够清晰 - 循环必须通过50场或更多的行来运行,它击中的空单元格/行之前。 – Bellman 2011-04-03 21:44:06

+0

此代码将继续执行,直到它遇到A列中的第一个空单元格,所以它无关紧要您需要评估多少行 – GrahamJRoy 2011-04-04 07:20:35

1

这正是他们创建SUMIFS工作表函数的原因。

整个列(如果有第一个空行后没有):

=SUMIFS(C:C, A:A, "<" & X , B:B ,">" & X) 

注:X是X位于小区

如果你有下面的工作第一个空行之后的东西:

=SUMIFS(INDIRECT("C2:C" & MATCH(TRUE,INDEX(ISBLANK(A:A),0,0),0)-1), 
     INDIRECT("A2:A" & MATCH(TRUE,INDEX(ISBLANK(A:A),0,0),0)-1),"<" & M1, 
     INDIRECT("B2:B" & MATCH(TRUE,INDEX(ISBLANK(A:A),0,0),0)-1),">" & M1) 
+0

非常感谢,我期待测试您的代码。在此期间,我自己发现它是SUMIFS函数可以解决我的问题,而不是循环宏。正如我无法弄清楚如何使它重复,直到空单元格,我刚刚定义它来检查一个单元格区域 的“= SUMIFS(N50:N122; L50:L122;‘<= 201201’; M50:M122;” > = 201201“)' – Bellman 2011-04-26 18:21:07

+0

@Bellman,我现在在我的机器上,看起来最后两个公式不起作用,所以我必须对它们进行处理。 – 2011-04-26 18:34:17

+0

@Bellman,好吧,我已经用一个工作公式替换了它们,可以进一步修改它以使它更加灵活,但是如果你的范围永远不会改变,那么我就像你一样对它进行编码。 – 2011-04-26 19:32:19

相关问题