计算找到第一个非零值后的所有单元格 - Excel?
Count all cells after the first non zero value found - Excel?
我有这个例子:
我需要一个公式来计算第一个非零值之后的所有数字。
值范围是 A1:H4。但是我需要计算每一行 A1:H1; A2:H2...A4:H4。
0 0 7 2 0 0 0 9 - 计数结果 6
5 0 4 0 2 0 0 0 - 计数结果 8
0 0 0 0 0 0 7 0 - 计数结果 2
0 0 0 0 0 0 0 4 - 计数结果 1
谢谢!
c
=LEN(RIGHT(A1,FIND("1",A1&"1")))
如果值在A1:H1,数组公式**:
=COUNT(H1:INDEX(1:1,MATCH("",T(1/A1:H1),0)))
举个例子:A1:H1包含:
0 0 7 2 0 0 0 9
往复运动:
1/A1:H1
将return:
{#DIV/0!,#DIV/0!,0.142857142857143,0.5,#DIV/0!,#DIV/0!,#DIV/0!,0.111111111111111}
正在将 T 函数应用于此数组 returns:
{#DIV/0!,#DIV/0!,"","",#DIV/0!,#DIV/0!,#DIV/0!,""}
即原始范围内的所有非零值现在都已减少为空字符串“”;全为零导致错误。
我们现在可以对空字符串执行精确匹配,这样:
MATCH("",T(1/A1:H1),0)
即:
MATCH("",{#DIV/0!,#DIV/0!,"","",#DIV/0!,#DIV/0!,#DIV/0!,""},0)
给出:
3
等等:
INDEX(1:1,MATCH("",T(1/A1:H1),0))
即:
INDEX(1:1,3)
returns 对单元格的范围引用:
C1
等等,最后:
COUNT(H1:INDEX(1:1,MATCH("",T(1/A1:H1),0)))
即:
COUNT(H1:C1)
其中 Excel 会将范围引用更正为:
COUNT(C1:H1)
是:
6
根据需要。
此致
**数组公式的输入方式与'standard'公式不同。您不是只按 ENTER,而是先按住 CTRL 和 SHIFT,然后再按 ENTER。如果操作正确,您会注意到 Excel 在公式周围放置了大括号 {}(但不要尝试自己手动插入)。
我有这个例子:
我需要一个公式来计算第一个非零值之后的所有数字。
值范围是 A1:H4。但是我需要计算每一行 A1:H1; A2:H2...A4:H4。
0 0 7 2 0 0 0 9 - 计数结果 6
5 0 4 0 2 0 0 0 - 计数结果 8
0 0 0 0 0 0 7 0 - 计数结果 2
0 0 0 0 0 0 0 4 - 计数结果 1
谢谢! c
=LEN(RIGHT(A1,FIND("1",A1&"1")))
如果值在A1:H1,数组公式**:
=COUNT(H1:INDEX(1:1,MATCH("",T(1/A1:H1),0)))
举个例子:A1:H1包含:
0 0 7 2 0 0 0 9
往复运动:
1/A1:H1
将return:
{#DIV/0!,#DIV/0!,0.142857142857143,0.5,#DIV/0!,#DIV/0!,#DIV/0!,0.111111111111111}
正在将 T 函数应用于此数组 returns:
{#DIV/0!,#DIV/0!,"","",#DIV/0!,#DIV/0!,#DIV/0!,""}
即原始范围内的所有非零值现在都已减少为空字符串“”;全为零导致错误。
我们现在可以对空字符串执行精确匹配,这样:
MATCH("",T(1/A1:H1),0)
即:
MATCH("",{#DIV/0!,#DIV/0!,"","",#DIV/0!,#DIV/0!,#DIV/0!,""},0)
给出:
3
等等:
INDEX(1:1,MATCH("",T(1/A1:H1),0))
即:
INDEX(1:1,3)
returns 对单元格的范围引用:
C1
等等,最后:
COUNT(H1:INDEX(1:1,MATCH("",T(1/A1:H1),0)))
即:
COUNT(H1:C1)
其中 Excel 会将范围引用更正为:
COUNT(C1:H1)
是:
6
根据需要。
此致
**数组公式的输入方式与'standard'公式不同。您不是只按 ENTER,而是先按住 CTRL 和 SHIFT,然后再按 ENTER。如果操作正确,您会注意到 Excel 在公式周围放置了大括号 {}(但不要尝试自己手动插入)。