|A|B|C|D|E|F|G|
|3|5|0|4|0|9|6|
我要计数动态计值,并且如果值0如何在Excel中动态计数范围?
实施例不计。
计数2时间范围A1-G1结果是5。
计数3时间范围A1-G1结果为4。
计数4个时间范围A1-G1结果是9。
如何在excel中编码。
|A|B|C|D|E|F|G|
|3|5|0|4|0|9|6|
我要计数动态计值,并且如果值0如何在Excel中动态计数范围?
实施例不计。
计数2时间范围A1-G1结果是5。
计数3时间范围A1-G1结果为4。
计数4个时间范围A1-G1结果是9。
如何在excel中编码。
与1 A2开始,填写这个fo rmula对面B2起数点细胞: -
=IF(B1,A2+1,A2)
,并用这个公式来查找对应于A4的位置值: - 我认为这是真的
=IFERROR(INDEX($A1:$G1,MATCH(A4,$A2:$G2,0)),"")
非常感谢。如果我想改变总数。 在我的Ex。 sum 3时间范围A1-G1结果是12. 如何编码? – user3693661
我只是使用formula = sum(a $ 1:a1)在(说)行3中添加另一个帮助行,并使用相同的查找,但将$ a1:$ g1更改为$ a3:$ g3。 –
我的意思是总和($ A1:A1) –
可以使用INDEX
功能跨值的范围移动:
=IF(INDEX(A1:G1,0,A4)=0,INDEX(A1:G1,0,A4+1),INDEX(A1:G1,0,A4))
哪里A4
是计数。 然而如果范围的结果为0,它会移动到下一个,这样只会与0的单个实例工作,使一个又一个将导致0
更充分论证的解决方案是使用VBA,这里是这个自定义功能:
Public Function DynamicResult(ByVal Rng As Range, ByVal Count As Integer) As Integer
Dim i As Integer: i = 1
For Each cell In Rng
If (i = Count) Then
If cell > 0 Then
DynamicResult = cell
Else
Count = Count + 1
End If
End If
i = i + 1
Next cell
End Function
如果这段代码粘贴到VBA模块,您可以使用它像这样:
=DynamicResult(A1:G1,7)
难以用单一公式完成,但如果可以接受的话,可以用辅助行轻松完成。 –