Хотя (2) звучит разумно, другим быстрым способом было бы объединить B1 и B2 в одну ячейку в рабочем столбце (вручную или с помощью VBA), повторив для B2 и B3 Etc, а затем сопоставить объединенную строку в одиночный поиск
[Update]
Вы можете использовать рабочую колонку вот так. || конкатенатор используется, чтобы избежать ложных совпадений, проверка ошибок обрабатывает ситуацию отсутствия совпадений
Sub ConCatMatch()
Dim rng1 As Range
Dim X
Set rng1 = Range([b1], Cells(Rows.Count, "B").End(xlUp))
rng1.Offset(0, 1).Columns.Insert
With rng1.Offset(0, 1)
.FormulaR1C1 = "=RC[-1]&""||""&R[1]C[-1]"
X = .Value2
.EntireColumn.Delete
End With
If IsError(Application.Match([a1].Value & "||" & [a2].Value, X, 0)) Then
MsgBox "No match", vbCritical
Else
MsgBox "Match starting at " & rng1.Cells(1).Offset(Application.Match([a1].Value & "||" & [a2].Value, X, 0) - 1, 0).Address(0, 0)
End If
End Sub
