Well if I take what your OP asks for literally then this:
Sub test()

Dim l As Long
Dim lRow As Long

lRow = Range("A" & Rows.Count).End(xlUp).Row

For l = 1 To lRow
    If UCase(Range("A" & l).Value) = "AUTH" Then
        If UCase(Range("B" & l).Value) = "CANCELLED" Then
            Cells(l, Columns.Count).End(xlToLeft).Offset(, 1).Value = Range("C" & l).Value
        Else:
            Cells(l, Columns.Count).End(xlToLeft).Offset(, 1).Value = Range("D" & l).Value
        End If
    End If
Next l

End Sub
Looks in column A for AUTH. If AUTH is found in A and CANCELLED is found in B of same row then it copies Column C of same row to the first empty cell in that row. If cancelled is NOT found in column b then it copies column D of the same row to the first empty cell in that row.

Clear as mud?