|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)
難以用單一公式完成,但如果可以接受的話,可以用輔助行輕鬆完成。 –