Страницы: 1
RSS
Как получить результат при повторе строк в столбцах.
 
Уважаемые Гуру. Не могу правильно сформулировать название темы, задача будет более понятна из вложенного файла. Подскажите возможно ли формулой или макросом получить желаемый результат при повторе строк в столбцах. Желаемый результат в фале примере находится в ячейках С4, С8.  
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
Вариант макросом.
 
Demonik, "макросная формула" от Дмитрия «The_Prist» Щербакова ;)
Изменено: Jack_Famous - 23.05.2016 10:31:04
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
еще вариант макроса кнопки test и очистка

Код
 Sub test()
    Dim z(), i&, j&, m&
    z = Range("A2:B" & Range("A" & Rows.Count).End(xlUp).Row).Value
    With CreateObject("scripting.dictionary"): .CompareMode = 1
    For i = 1 To UBound(z)
         If .exists(z(i, 1)) = False Then
         m = m + 1: .Item(z(i, 1)) = m: For j = 1 To 2: z(m, j) = z(i, j): Next
         Else
         z(.Item(z(i, 1)), 2) = z(.Item(z(i, 1)), 2) & " ," & z(i, 2)
         End If
   Next
   Range("F2").Resize(.Count, 2).Value = z
   End With
End Sub
Изменено: sv2013 - 23.05.2016 11:00:43
 
Вариант формулой:
=ЕСЛИ(СЧЁТЕСЛИ($A$2:A2;A2)=1;ПСТР(ПОВТОР("Один, Два, Три, Четыре, ";СЧЁТЕСЛИ($A$2:$A$14;A2)/4+2);ПОИСК(B2;ПОВТОР("Один, Два, Три, Четыре, ";СЧЁТЕСЛИ($A$2:$A$14;A2)/4+2));ПОИСК("/";ПОДСТАВИТЬ(ПСТР(ПОВТОР("Один, Два, Три, Четыре, ";СЧЁТЕСЛИ($A$2:$A$14;A2)/4+2);ПОИСК(B2;ПОВТОР("Один, Два, Три, Четыре, ";СЧЁТЕСЛИ($A$2:$A$14;A2)/4+2));100);", ";"/";СЧЁТЕСЛИ($A$2:$A$14;A2)))-1);"")
Изменено: Владимир - 23.05.2016 15:22:56 (Чуть доработал..)
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Цитата
Владимир написал: Вариант формулой:
Формула неплохая, но "Один, Два, Три, Четыре" я написал как вариант, в реальной задаче вместо этих слов довольно большой массив. Вписывать вручную для поиска весь массив займет очень много времени.
Цитата
sv2013 написал: еще вариант макроса кнопки test и очистка
Макрос работает отлично! :)
Цитата
Юрий М написал: Вариант макросом.
Спасибо за отличный макрос с небольшими объемами работает хорошо, но у меня большой объем я запустил макрос и комп у меня надолго завис.  
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
Цитата
Demonik написал:
макрос с небольшими объемами работает хорошо, но у меня большой объем я запустил макрос и комп у меня надолго завис.
Не должно ничего зависать - там у меня работа с коллекцией и массивами. Сколько строк с данными у Вас?
 
Цитата
Юрий М написал:
Не должно ничего зависать - там у меня работа с коллекцией и массивами. Сколько строк с данными у Вас?
Около 20000. Запустил повторно, вроде бы работает. Возможно проблема зависания была в чем то другом. Спасибо за макрос.
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
Страницы: 1
Наверх