Не знаю, с можно ли это сделать с помощью Excel, если можно - скажите как. Думаю, что тут только VBA В общем, ситуация следующая: В первом столбике находятся числа 134513, 45316, 233974, 134513, 45316, 134513. И нужно как-то пронумеровать эти числа. Но проблема в том, что там где числа повторяются, должен быть один и тот же номер. Столбик, этот, кстати, можно отсортировать. Т.е. пример: 134513, 134513, 134513, 233974, 45316, 45316.
+ было бы очень круто, если такое можно было сделать и со списком слов.
Не знаю, с можно ли это сделать с помощью Excel, если можно - скажите как. Думаю, что тут только VBA В общем, ситуация следующая: В первом столбике находятся числа 134513, 45316, 233974, 134513, 45316, 134513. И нужно как-то пронумеровать эти числа. Но проблема в том, что там где числа повторяются, должен быть один и тот же номер. Столбик, этот, кстати, можно отсортировать. Т.е. пример: 134513, 134513, 134513, 233974, 45316, 45316.
+ было бы очень круто, если такое можно было сделать и со списком слов.k1ker
Блин, ВПР же есть. Взять, удалить все дубли, уникальным задать порядковый номер, а потом уже в ту таблицу подставлять. Извиняюсь, за глупый вопрос. Но пол часа сидел, голову ломал. А тему создал - сразу дошло
Блин, ВПР же есть. Взять, удалить все дубли, уникальным задать порядковый номер, а потом уже в ту таблицу подставлять. Извиняюсь, за глупый вопрос. Но пол часа сидел, голову ломал. А тему создал - сразу дошло k1ker
SkyPro, какой-то странный способ А как мне потом пустые ячейки заполнять? Мне к каждому элементу номер нужен, а не только к первому уникальному. Получить уникальные строки не проблема. Для этого использую текстовый редактор.
SkyPro, какой-то странный способ А как мне потом пустые ячейки заполнять? Мне к каждому элементу номер нужен, а не только к первому уникальному. Получить уникальные строки не проблема. Для этого использую текстовый редактор.k1ker
А. Так вам все нужно пронумеровать? И дубли под одним номером? Тогда можно так: [vba]
Код
Dim cl As New Collection
Sub ttt() Dim x, i&, v& x = Range("A1:B" & [A1048576].End(xlUp).Row).Value unq x, 1 For v = 1 To cl.Count For i = 1 To UBound(x) If cl.Item(v) = CStr(x(i, 1)) Then x(i, 2) = v End If Next Next Range("A1:B" & [A1048576].End(xlUp).Row) = x End Sub
Sub unq(ByVal ar, c&) Dim i&, txt$ On Error Resume Next For i = LBound(ar) To UBound(ar) txt = CStr(ar(i, c)) cl.Add txt, txt Next End Sub
А. Так вам все нужно пронумеровать? И дубли под одним номером? Тогда можно так: [vba]
Код
Dim cl As New Collection
Sub ttt() Dim x, i&, v& x = Range("A1:B" & [A1048576].End(xlUp).Row).Value unq x, 1 For v = 1 To cl.Count For i = 1 To UBound(x) If cl.Item(v) = CStr(x(i, 1)) Then x(i, 2) = v End If Next Next Range("A1:B" & [A1048576].End(xlUp).Row) = x End Sub
Sub unq(ByVal ar, c&) Dim i&, txt$ On Error Resume Next For i = LBound(ar) To UBound(ar) txt = CStr(ar(i, c)) cl.Add txt, txt Next End Sub