Excel VBA | データ比較(Offset × 条件分岐 × 差分計算)の黄金パターン集

VBA
スポンサーリンク

ここでは Offset × 条件分岐 × 差分計算 を組み合わせて「セル同士を比較し、差分を計算して隣列に出力する」黄金パターンをまとめます。
売上表・勤怠表・在庫表などでよくある 前後比較・隣列比較・基準値比較 を自動化できます。


基本パターン 10選

1. 前行との差分を計算

Dim r As Range
For Each r In Range("A3:A20")
    r.Offset(0, 1).Value = r.Value - r.Offset(-1, 0).Value
Next r
VB

👉 各行の値と前行との差分を右隣に出力。


2. 次行との差分を計算

Dim r As Range
For Each r In Range("B2:B19")
    r.Offset(0, 1).Value = r.Value - r.Offset(1, 0).Value
Next r
VB

👉 各行の値と次行との差分を右隣に出力。


3. 左隣セルとの差分

Dim r As Range
For Each r In Range("C2:C20")
    r.Offset(0, 1).Value = r.Value - r.Offset(0, -1).Value
Next r
VB

👉 各セルと左隣との差分を右隣に出力。


4. 右隣セルとの差分

Dim r As Range
For Each r In Range("D2:D20")
    r.Offset(0, 1).Value = r.Value - r.Offset(0, 1).Value
Next r
VB

👉 各セルと右隣との差分をさらに右列に出力。


5. 基準値との差分(例:100)

Dim r As Range
For Each r In Range("E2:E20")
    r.Offset(0, 1).Value = r.Value - 100
Next r
VB

👉 各セルと基準値 100 の差分を右隣に出力。


6. 前月売上との差分

Dim r As Range
For Each r In Range("F3:F20")
    If IsNumeric(r.Value) And IsNumeric(r.Offset(-1, 0).Value) Then
        r.Offset(0, 1).Value = r.Value - r.Offset(-1, 0).Value
    End If
Next r
VB

👉 前月売上との差分を右隣に出力。


7. 勤怠時間の増減判定

Dim r As Range
For Each r In Range("G3:G20")
    If r.Value - r.Offset(-1, 0).Value < 0 Then
        r.Offset(0, 1).Value = "減少"
    Else
        r.Offset(0, 1).Value = "増加/同値"
    End If
Next r
VB

👉 前日より減ったか増えたかを判定。


8. 在庫数の変動チェック

Dim r As Range
For Each r In Range("H3:H20")
    Dim diff As Double
    diff = r.Value - r.Offset(-1, 0).Value
    If diff <> 0 Then
        r.Offset(0, 1).Value = diff
    End If
Next r
VB

👉 在庫数の変動がある場合のみ差分を出力。


9. 2列間の差分(売上と目標)

Dim r As Range
For Each r In Range("I2:I20")
    r.Offset(0, 2).Value = r.Value - r.Offset(0, 1).Value
Next r
VB

👉 売上列と目標列の差分を右2列目に出力。


10. 差分が閾値以上なら警告

Dim r As Range
For Each r In Range("J3:J20")
    Dim diff As Double
    diff = r.Value - r.Offset(-1, 0).Value
    If Abs(diff) > 50 Then
        r.Offset(0, 1).Value = "警告:差分大"
    Else
        r.Offset(0, 1).Value = diff
    End If
Next r
VB

👉 差分が ±50 を超えたら「警告」を出力。


✅ まとめ

  • Offset → 前行・次行・隣列を参照して比較
  • 条件分岐 → 数値判定・閾値判定・増減判定などを組み合わせ
  • 差分計算 → 売上・勤怠・在庫・目標などの比較を自動化
  • 黄金パターン → 前後比較・隣列比較・基準値比較・閾値判定

💡 この「データ比較 × Offset × 条件分岐 × 差分計算」パターン集を使えば、売上表・勤怠表・在庫表などの 変動チェックや異常検知 を一瞬で自動化できます。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました