Страницы: 1
RSS
Проверка диапозона на недостающие значения, Сравнить два диапозона и вставить недостающие значения
 
Добрый день,

помогите, пожалуйста, написать формулу или макрос, который будет проверять один диапозон на отсутствующие значения во втором диапозоне и вставлять их во второй диапозон. В приложенном упрощённом примере задание будет сразу наглядно понятно. Спасибо.
 
Вариант формулами
Код
E11:F13    =ИНДЕКС(B:B;ПОИСКПОЗ(СТРОКА($A1);$L:$L;0))
L6:L17     =L5+(СЧЁТЕСЛИМН($E$6:$E$10;B6;$F$6:$F$10;C6)=0)*(СЧЁТЕСЛИМН($B$1:B5;B6;$C$1:C5;C6)=0)

 
Спасибо большое, попробую понять и применить в своих файлах.
 
Yeti_magic,
Код
Sub d()
Dim arr, arr2, i As Long, j As Long, lr As Long
Dim col2 As New Collection
lr = Cells(Rows.Count, 2).End(xlUp).Row
lr2 = Cells(Rows.Count, 5).End(xlUp).Row
arr = Range(Cells(6, 2), Cells(lr, 3)): arr2 = Range(Cells(6, 5), Cells(lr2, 6))

For i = LBound(arr2) To UBound(arr2)
    On Error Resume Next
    col2.Add arr2(i, 1) & "///" & arr2(i, 2), CStr(arr2(i, 1) & "///" & arr2(i, 2))
Next i

For i = LBound(arr) To UBound(arr)
    On Error Resume Next
    col2.Add arr(i, 1) & "///" & arr(i, 2), CStr(arr(i, 1) & "///" & arr(i, 2))
Next i

arr2 = Range(Cells(6, 5), Cells(lr2, 6)).ClearContents
ReDim arr2(1 To col2.Count, 1 To 2)
For i = 1 To col2.Count
    arr2(i, 1) = Split(col2(i), "///")(0)
    arr2(i, 2) = Split(col2(i), "///")(1)
Next i

Range("E6").Resize(UBound(arr2), 2) = arr2
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
https://www.planetaexcel.ru/techniques/2/4352/

прямо в заголовке форума
 
скопировал диапазон1 в сторону (например в колонки L:M)
лента Данные
группа Работа с данными
кнопка Удалить дубликаты
Ок
----------------
готово
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх