Note: The other languages of the website are Google-translated. Back to English

Excelで連続番号が欠落している場合に番号または行を挿入するにはどうすればよいですか?

ワークシートに連番のリストがあるが、シーケンス内にいくつかの欠落している番号があり、シーケンスが完全であることを確認するために、欠落している番号または空白行を挿入する必要があるとします(次のスクリーンショットを参照)。 Excelでこの問題をすばやく解決するにはどうすればよいですか?

Doc-Insert-Missing-Number1 -2 Doc-Insert-Missing-Number2

重複の並べ替えと削除機能を使用して、シーケンスに欠落している番号を挿入します

VBAコードを使用してシーケンスに欠落している番号を挿入します

VBAコードで欠落しているシーケンスの空白行を挿入します

Kutools for Excelを使用して、シーケンスに欠落している番号または空白行を挿入します


矢印青い右バブル 重複の並べ替えと削除機能を使用して、シーケンスに欠落している番号を挿入します

欠落している番号をXNUMXつずつ見つけて挿入できる場合もありますが、連続する番号が数百ある場合、欠落している番号の場所を特定するのは困難です。 Excelでは、重複の並べ替えと削除機能を使用してこのタスクを処理できます。

1。 シーケンスリストの最後に続いて、2005023001から2005023011までの別のシーケンス番号を入力します。スクリーンショットを参照してください。

Doc-Insert-Missing-Number3

2。 次に、XNUMXつのシーケンス番号の範囲を選択し、 且つ > ZをZにソートする、スクリーンショットを参照してください:

Doc-Insert-Missing-Number4

3。 また、選択したデータは次のスクリーンショットのように並べ替えられています。

Doc-Insert-Missing-Number5

4。 次に、クリックして重複を削除する必要があります 且つ > 重複を削除する、そして飛び出した 重複を削除する ダイアログボックスで コラム 重複を削除する名前。スクリーンショットを参照してください。

Doc-Insert-Missing-Number6 -2 Doc-Insert-Missing-Number7

5。 次に、をクリックします OK、の重複 列A が削除され、シーケンスリストに欠落している番号が挿入されました。スクリーンショットを参照してください。

Doc-Insert-Missing-Number8


矢印青い右バブル VBAコードを使用してシーケンスに欠落している番号を挿入します

上記の方法で非常に多くの手順があると思われる場合は、この問題を解決するのに役立つVBAコードもここにあります。 次のようにしてください。

1。 を押し続けます Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBA:シーケンスに欠落している番号を挿入します

Sub InsertValueBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
For Each Rng In WorkRng
    dic(Rng.Value) = Rng.Offset(0, 1).Value
Next
For i = 0 To interval
    outArr(i + 1, 1) = i + num1
    If dic.Exists(i + num1) Then
        outArr(i + 1, 2) = dic(i + num1)
    Else
        outArr(i + 1, 2) = ""
    End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
    .Value = outArr
    .Select
End With
End Sub

3。 次に、 F5 このコードを実行するためのキーを押すと、プロンプトボックスが表示されます。不足している数字を挿入するデータ範囲を選択してください(タイトル範囲は選択しないでください)。スクリーンショットを参照してください。

Doc-Insert-Missing-Number9

4。 そして、 OK、欠落している番号がシーケンスリストに挿入されました。 スクリーンショットを参照してください:

Doc-Insert-Missing-Number1 -2 Doc-Insert-Missing-Number2

矢印青い右バブル VBAコードで欠落しているシーケンスの空白行を挿入します

場合によっては、不足している番号の場所を特定し、データの間に空白行を挿入するだけで、必要に応じて情報を入力できるようになります。 もちろん、次のVBAコードもこの問題の解決に役立ちます。

1. 押したまま Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBA:欠落しているシーケンスの空白行を挿入します

Sub InsertNullBetween()
'Updateby Extendoffice
Dim WorkRng As Range
Dim Rng As Range
Dim outArr As Variant
Dim dic As Variant
Set dic = CreateObject("Scripting.Dictionary")
'On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
num1 = WorkRng.Range("A1").Value
num2 = WorkRng.Range("A" & WorkRng.Rows.Count).Value
interval = num2 - num1
ReDim outArr(1 To interval + 1, 1 To 2)
For Each Rng In WorkRng
    dic(Rng.Value) = Rng.Offset(0, 1).Value
Next
For i = 0 To interval
    If dic.Exists(i + num1) Then
        outArr(i + 1, 1) = i + num1
        outArr(i + 1, 2) = dic(i + num1)
    Else
        outArr(i + 1, 1) = ""
        outArr(i + 1, 2) = ""
    End If
Next
With WorkRng.Range("A1").Resize(UBound(outArr, 1), UBound(outArr, 2))
    .Value = outArr
    .Select
End With
End Sub

3。 次に、 F5 キーを押してこのコードを実行すると、プロンプトボックスが表示され、欠落しているシーケンスに空白行を挿入するデータ範囲を選択します(タイトル範囲は選択しないでください)。スクリーンショットを参照してください。

Doc-Insert-Missing-Number9

4。 そして、 OK、欠落しているシーケンスリストに空白行が挿入されています。 スクリーンショットを参照してください:

Doc-Insert-Missing-Number1 -2 Doc-Insert-Missing-Number10

矢印青い右バブル Kutools for Excelを使用して、シーケンスに欠落している番号または空白行を挿入します

ここでは、簡単で便利なツールを紹介します- Kutools for Excelそのと 欠落しているシーケンス番号を見つける この機能を使用すると、欠落しているシーケンス番号または空白行を既存のデータシーケンスの間にすばやく挿入できます。

Kutools for Excel : 300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます

あなたがインストールしている場合 Kutools for Excel、次のようにしてください。

1。 不足している番号を挿入するデータシーケンスを選択します。

2に設定します。 OK をクリックします。 クツール > インセット > 欠落しているシーケンス番号を見つける、スクリーンショットを参照してください:

3。 の中に 欠落しているシーケンス番号を見つける ダイアログボックス、チェック 欠落しているシーケンス番号を挿入しています 不足している番号を挿入するか、欠落しているシーケンス番号に遭遇したときに空白行を挿入する 必要に応じて空白行を挿入します。 スクリーンショットを参照してください:

Doc-Insert-Missing-Number10

4。 そして、 OK ボタンをクリックし、欠落しているシーケンス番号または空白行がデータに挿入されています。スクリーンショットを参照してください。

Doc-Insert-Missing-Number10 2 Doc-Insert-Missing-Number10 2 Doc-Insert-Missing-Number10

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


矢印青い右バブル  デモ:Kutools for Excelを使用して、シーケンスに欠落している番号または空白行を挿入します

Kutools for Excel:300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。 今すぐダウンロードして無料トライアル!

関連記事:

Excelで欠落している番号のシーケンスを識別する方法は?


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (10)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
ありがとう ! 素晴らしいスクリプト! ID列+NAME列だけでなく、ID列+NAME列+NEW列も処理する必要がある場合、このスクリプトを変更するにはどうすればよいですか? このスクリプトに新しい列を追加するにはどうすればよいですか?
このコメントは、サイトのモデレーターによって最小化されました
以下は、追加された列を含むように変更されたマクロです。もう XNUMX つの重要な点は、範囲を選択するように求められたら、最初の列のみを選択する必要があるということです。これには数時間かかりました。 他の人の時間を節約したい

Sub InsertValueBetween()
'Updateby Extendoffice
範囲として薄暗いWorkRng
範囲として暗くする
バリアントとしてDimoutArr
バリアントとしての薄暗い
Set dic = CreateObject( "Scripting.Dictionary")
Dim dic2 をバリアントとして
Set dic2 = CreateObject("Scripting.Dictionary")

'エラー時再開次
xTitleId = "KutoolsforExcel"
WorkRng=Application.Selectionを設定します
WorkRng = Application.InputBox( "Range"、xTitleId、WorkRng.Address、Type:= 8)を設定します
num1 = WorkRng.Range( "A1")。Value
num2 = WorkRng.Range( "A"&WorkRng.Rows.Count).Value
間隔=num2-num1
ReDim outArr(1To間隔+1、1 To 3)
WorkRngの各Rngについて
dic(Rng.Value)= Rng.Offset(0、1).Value
dic2(Rng.Value) = Rng.Offset(0, 2).Value
次へ
i=0の場合間隔へ
outArr(i + 1、1)= i + num1
If dic.Exists(i + num1)Then
outArr(i + 1、2)= dic(i + num1)
outArr(i + 1, 3) = dic2(i + num1)

outArr(i + 1、2)= ""
outArr(i + 1、3)= ""

終了する場合
次へ
WorkRng.Range( "A1")。Resize(UBound(outArr、1)、UBound(outArr、2))を使用
.Value = outArr
。選択する
最後に
End Subの
このコメントは、サイトのモデレーターによって最小化されました
これは機能し、タスクを完了するのは非常に簡単でした。 ありがとうございました。
このコメントは、サイトのモデレーターによって最小化されました
どうもありがとうございます。 増分が0.02ではなく1のみの場合、スクリプトを変更するにはどうすればよいですか。これはスクリプトInsertNullBetween()用です。
このコメントは、サイトのモデレーターによって最小化されました
6つの列を選択してから、最初の列の日付を確認し、日付が欠落している場合は、1つの列すべてに行(空白のセル)を追加するとどうなりますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、「欠落しているシーケンス番号の挿入」を使用したいのですが、いいえの場合はサポートされていません。 桁数が12を超えています。お手伝いできますか?
このコメントは、サイトのモデレーターによって最小化されました
「欠落しているシーケンス番号の挿入」機能を使用したいのですが、12桁を超える数字はサポートされていませんか? 間にシーケンスを挿入したいセットがたくさんあります(英数字の数字です)。
このコメントは、サイトのモデレーターによって最小化されました
6つの列を選択してから、最初の列の日付を確認し、日付が欠落している場合は、1つの列すべてに行(空白のセル)を追加するとどうなりますか?
このコメントは、サイトのモデレーターによって最小化されました
素晴らしいありがとう
このコメントは、サイトのモデレーターによって最小化されました
連番にVBAを使用しようとしています。 番号の横にもいくつかの列があります。 つまり
1.HLメーター34
2.HL水道メーター40
4. HL CO2meter 24

コードを使用すると、最初の3列で機能しますが、4番目の列を含めると、数字も含まれるため、混乱します。
4列目の数字が同じになるようにコードを変更するにはどうすればよいですか?
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護