我有这个例子:
我需要一个公式来计算非零值的第一个aparition之后的所有数字。
值范围为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
谢谢! ç
答案 0 :(得分:2)
如果值在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
将返回:
{#DIV/0!,#DIV/0!,0.142857142857143,0.5,#DIV/0!,#DIV/0!,#DIV/0!,0.111111111111111}
将T函数应用于此数组将返回:
{#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)
返回对单元格的范围引用:
C1
等等,最后:
COUNT(H1:INDEX(1:1,MATCH("",T(1/A1:H1),0)))
是:
COUNT(H1:C1)
其中Excel将范围引用更正为:
COUNT(C1:H1)
是:
6
根据需要。
此致
**数组公式的输入方式与“标准”公式的输入方式不同。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果你已经正确地完成了它,你会注意到Excel在公式周围放置了大括号{}(虽然不要尝试自己手动插入这些)。
答案 1 :(得分:0)
=LEN(RIGHT(A1,FIND("1",A1&"1")))