情況是這樣的:
0
-
-
0
-
-
-
-
0
-
-
-
0
我想成為這樣的:
0
1
2
0
1
2
3
4
0
1
2
3
0
該範圍內有數千個單元格,這無法手動完成。
答案1
如果零之間的儲存格為空,您可以這樣做:
選擇電子表格中的所有儲存格,然後按 F5,按一下“特殊”,勾選“空白”並按一下“確定”。現在所有空白儲存格都被選取。
不更改選擇,開始輸入
=if(
點擊向上箭頭,然後輸入
=0,1,
點擊向上箭頭,然後輸入
+1)
它看起來像這樣:
按住 Ctrl 鍵並按 Enter 鍵。現在所有先前的空白單元格都將具有以下公式
=if(A1=0,1,A1+1)
零之間的儲存格將被編號。請注意,這同時適用於多個列。
Jason Aller 帖子中的公式對我來說根本不起作用。為了完整起見,這裡是螢幕截圖中的公式。
答案2
如果該列中唯一的項目為零和空白,且第一項是零,請選擇您要處理的儲存格並執行這個小宏:
Sub FillInTheBlanks()
Dim r As Range, K As Long, CH As String
K = 1
For Each r In Selection
CH = r.Text
If CH = "" Then
r.Value = K
K = K + 1
Else
K = 1
End If
Next r
End Sub
前:
之後:
答案3
在此列的右側插入一個空列,並新增一個公式,該公式將查看左側的單元格,如果該單元格為零,它將放置一個零,如果不是,它將在上面的單元格中的值上加一。然後複製該列並將其作為值貼上到來源列上,然後刪除新增的列。
例如,如果您的列是儲存格 B2 位置中的 A 列:
=if(A2=0,0,B1+1)
如果零之間的儲存格為空且其中沒有連字符,則公式可以變更為:
=if(AND(A2=0, NOT(ISBLANK(A2))), 0, B1+1)