既存の入力済みセル間で増加する値を自動入力する方法

既存の入力済みセル間で増加する値を自動入力する方法

状況は次のようになります:

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)

関連情報