Страницы: 1
RSS
Извлечение уникальных элементов из диапазона
 
Добрый день, уважаемые форумчане.
Разобрался как сделать перемещение из массива значений одного столбца в другой только уникальных значений. Можете подсказать как реализовать что-бы вместо не уникальных значений просто переносились пустые строки? пример как есть и как хочется в приложенном файле.
Заранее спасибо.
 
Может кто знает, возможно есть более правильные способы переноса уникальных значений, но желательно через формулы. (у меня получилось найти только этот способ)
Изменено: i4cwb - 12.03.2018 12:25:18
 
Формула
Код
=IF(COUNTIF(B$2:B2;B2)=1;B2;"")
 
jakim, правильно я понимаю, что вот эти формулы теперь не нужны?
=ЕСЛИ(СЧЁТЕСЛИ(B$1:B2;B2)=1;МАКС(A$1:A1)+1;"")
=ЕСЛИ(МАКС(A:A)<СТРОКА(1:1);"";ВПР(СТРОКА(1:1);A:B;2))
 
i4cwb, смените ник в профиле, в соответствии с Правилами форума
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Код
Sub TEST()
    Dim iDic As Object
    Dim arr(), i&
    Set iDic = CreateObject("scripting.Dictionary")
    arr = Range([b2], [b1].End(xlDown)).Value
    For i = 1 To UBound(arr)
        If Not iDic.exists(CStr(arr(i, 1))) Then
            iDic.Item(CStr(arr(i, 1))) = 0
        Else: arr(i, 1) = Empty
        End If
    Next i
    Range("g2").Resize(UBound(arr)).Value = arr
End Sub
"Все гениальное просто, а все простое гениально!!!"
 
Всем спасибо.
Страницы: 1
Наверх