これが SQL クエリで実行できるかどうかはわかりません。エクセルできます。
クエリ
SELECT
A,
B,
C,
D,
E,
F
from TableA
where D in ('MSD_CHANGE','MSD_CMT_CHANGE')
フィールド D に含まれているMSD_CMT_CHANGE
場合、上と右の行に 1 = 7866 Excel 言語の別の単語 E1 = E2 が含まれます。
現在、SQL からクエリ データを取得し、Excel でスクリプトを実行して実行しています。
SQL で実行できれば、作業負荷が軽減されます。
VBA コード:
Sub Test
Dim rng as Range, cl as Range
Set rng = Range("D2:D" & Range("D" & Rows.Count).End(xlUp).Row)
For each cl in rng
If cl = "MSD_CMT_CHANGE" AND cl.Offset(-1, 0) = "MSD_CHANGE" Then
cl.Offset(-1, 1) = cl.Offset(0, 1)
End If
Next cl
End Sub
説明
if field_D = MSD_CMT_CHANGE then
compare row above it if equal "MSD_CHANGE" then
cell E1 = E2.
5000 行を超えるデータがあります。
より良い説明については、下の画像を確認してください。