Помогите решить задачу: Есть два столбца, в столбце А написаны цифры (это процентное содержание ткани в изделии), в столбце В собственно записана сама ткань. Нужно объединить эти два значения в столбце С через запятую в виде однострочной записи общего состава изделия, как во вложении к этой теме.
Спасибо за помощь!
Добрый день коллеги!
Помогите решить задачу: Есть два столбца, в столбце А написаны цифры (это процентное содержание ткани в изделии), в столбце В собственно записана сама ткань. Нужно объединить эти два значения в столбце С через запятую в виде однострочной записи общего состава изделия, как во вложении к этой теме.
Добрый день. Вариант пользовательской функцией [vba]
Код
Function ailist(r As Range) arr = r.Value Dim t() ReDim t(1 To UBound(arr)) For i = 1 To UBound(arr) t(i) = arr(i, 1) & "% " & arr(i, 2) Next ailist = Join(t, ", ") End Function
[/vba]
Добрый день. Вариант пользовательской функцией [vba]
Код
Function ailist(r As Range) arr = r.Value Dim t() ReDim t(1 To UBound(arr)) For i = 1 To UBound(arr) t(i) = arr(i, 1) & "% " & arr(i, 2) Next ailist = Join(t, ", ") End Function
Спасибо! Но появились моменты которые я не учел, а именно количество значений таких подряд может быть как 1 так и 6 Например есть 100% хлопок (в столбце А - 100, в столбце В - хлопок, в С - должно отобразиться 100% хлопок) или же 12% эластан, 43% полиэстер, 45% полиамид (столбец А - 12, 43, 45, в столбце В - эластан, полиэстер, полиамид соответственно) Надеюсь это не проблема.
Файл приложил
Спасибо! Но появились моменты которые я не учел, а именно количество значений таких подряд может быть как 1 так и 6 Например есть 100% хлопок (в столбце А - 100, в столбце В - хлопок, в С - должно отобразиться 100% хлопок) или же 12% эластан, 43% полиэстер, 45% полиамид (столбец А - 12, 43, 45, в столбце В - эластан, полиэстер, полиамид соответственно) Надеюсь это не проблема.
sboy, я новичок в формулах экселя, не все понимаю, могу сразу не догнать о чем речь, просто у меня строк примерно 234000 будет и делать их руками проблемно, если можно было бы продлить столбец С до конца, чтобы он сам определял где подряд идут значения а пустые игнорировал - будет намного эффективней!
sboy, я новичок в формулах экселя, не все понимаю, могу сразу не догнать о чем речь, просто у меня строк примерно 234000 будет и делать их руками проблемно, если можно было бы продлить столбец С до конца, чтобы он сам определял где подряд идут значения а пустые игнорировал - будет намного эффективней!ailist
Sub ailist() Dim t() For x = 2 To Cells(Rows.Count, 1).End(xlUp).Row y = x Do While Cells(y + 1, 1) <> "" y = y + 1 Loop arr = Range(Cells(x, 1), Cells(y, 2)).Value ReDim t(1 To UBound(arr)) For i = 1 To UBound(arr) t(i) = arr(i, 1) & "% " & arr(i, 2) Next Cells(x, 3) = Join(t, ", ") x = Cells(y, 1).End(xlDown).Row - 1 Next End Sub
[/vba]
переделал на макрос, надо нажать кнопку [vba]
Код
Sub ailist() Dim t() For x = 2 To Cells(Rows.Count, 1).End(xlUp).Row y = x Do While Cells(y + 1, 1) <> "" y = y + 1 Loop arr = Range(Cells(x, 1), Cells(y, 2)).Value ReDim t(1 To UBound(arr)) For i = 1 To UBound(arr) t(i) = arr(i, 1) & "% " & arr(i, 2) Next Cells(x, 3) = Join(t, ", ") x = Cells(y, 1).End(xlDown).Row - 1 Next End Sub