我的数据如下所示。 1
列中的A
指的是新应用程序,而0
是同一应用程序的子权限。我想获取一个应用程序的行范围。
A B
IT Dependency
1 1
2 0 App
3 0
4 0
5 0 File
6 0
7 1
8 0
9 0
10 1
11 0
12 0 App
我想计算从A1
到A6
的范围,然后再从A7
到A9
等开始。
最初,我以为使用Countif
或Lookup
,但无法有效地应用它。
输出期望
我希望将范围(即A1:A6
)作为输出或将1
和6
作为输出,因此我可以将其用于其他公式(即concatenatemultiple
)。
Excel是否有一个计算范围可变的公式?
答案 0 :(得分:1)
也许并抄下以适合:
=IF(A2=0,1+D1,0)
(假设标签位于行 1 中。)
答案 1 :(得分:0)
需要使用以下组合:
MATCH
:计算直到下一个应用程序的行数
INDEX
:为每个应用程序定义范围
OFFSET
:为每个应用程序(易失性)
定义范围
IFERROR
和COUNT
:定义上一个应用程序的范围
我很少使用OFFSET,因为它易失,但是公式仍然存在...
尝试以下公式(请注意,由于它是用Excel 2013编写的,因此使用SUM
而不是CONCATENATEMULTIPLE
,但也应在Excel 2016中使用):
使用INDEX
:
=IF($A2<>1,"",
SUM(C2:INDEX($C2:$C$31,
IFERROR(MATCH(1,$A3:$A$31,0),
COUNT($A2:$A$31)))))
使用OFFSET
:
=IF($A2<>1,"",
SUM(OFFSET($C2,0,0,
IFERROR(MATCH(1,$A3:$A$31,0),
COUNT($A2:$A$31)),1)))