状況は次のようになります:
0
-
-
0
-
-
-
-
0
-
-
-
0
私はこうなりたかったのです:
0
1
2
0
1
2
3
4
0
1
2
3
0
範囲内に何千ものセルが存在するため、これを手動で実行することはできません。
答え1
ゼロ間のセルが空の場合は、次のようにします。
スプレッドシート内のすべてのセルを選択し、F5 キーを押して、「特殊」をクリックし、「空白」にチェックマークを付けて [OK] をクリックします。これで、すべての空白セルが選択されます。
選択範囲を変更せずに入力を開始する
=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
この列の右側に空の列を挿入し、左側のセルを見て、そのセルがゼロの場合はゼロを配置し、そうでない場合は上のセルの値に 1 を追加する数式を追加します。次に、列をコピーしてソース列に値として貼り付け、追加した列を削除します。
たとえば、列 A のセル B2 に次の内容を入力します。
=if(A2=0,0,B1+1)
ゼロ間のセルが空でハイフンが含まれていない場合は、数式を次のように変更できます。
=if(AND(A2=0, NOT(ISBLANK(A2))), 0, B1+1)