Страницы: 1
RSS
Разбить текст ячейки для строки на наборы строк
 
Прошерстил поиском, но подобной функции не нашел. Может есть какая простая вещь в Экселе для решения задачи. Нужно на основании данных в ячейке создать набор соответствующих строк для каждого элемента из ячейки.
 
Здесь смотрели
 
Mikh1,  совет в правилах есть пункт:
Цитата
3.2. Использовать в сообщениях, подписях и логинах на форумах нецензурную лексику, текст с пЕреМеНнЫм регистром или бессмысленным набором символов, заменять буквы другими символами. Создавать аватары порнографического, политического или религиозного содержания.
измените имя лучше - моЖераторы сколько притопают)
Код
Sub mrshkei()
Dim arr, arr2, arr3, i As Long, n As Long
lr = Cells(Rows.Count, 2).End(xlUp).Row
arr = Range("B3:C" & lr)
For i = LBound(arr) To UBound(arr)
    arr2 = Split(arr(i, 2), ",")
    x = x + UBound(arr2) + 1
Next i
ReDim arr3(1 To x, 1 To 2): k = 1

For i = LBound(arr) To UBound(arr)
    arr2 = Split(arr(i, 2), ",")
    For n = LBound(arr2) To UBound(arr2)
        arr3(k, 1) = arr(i, 1)
        arr3(k, 2) = Trim(arr2(n))
        k = k + 1
    Next n
Next i
Range("E3").Resize(UBound(arr3), 2) = arr3
End Sub
Изменено: Mershik - 02.12.2021 09:38:18
Не бойтесь совершенства. Вам его не достичь.
 
Код
=ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(ЛЕВБ(ОБЪЕДИНИТЬ("";1;ПОВТОР(B3:B6&",";ДЛСТР(C3:C6)-ДЛСТР(ПОДСТАВИТЬ(C3:C6;",";""))+1));ДЛСТР(ОБЪЕДИНИТЬ("";1;ПОВТОР(B3:B6&",";ДЛСТР(C3:C6)-ДЛСТР(ПОДСТАВИТЬ(C3:C6;",";""))+1)))-1);",";"</i><i>")&"</i></j>";"//i")
=ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(ОБЪЕДИНИТЬ(",";1;C3:C6);",";"</i><i>")&"</i></j>";"//i")
 
Вариант.
Код
=INDEX(MID(SUBSTITUTE($C$3:$C$6;", ";);COUNTIF($B$9:B9;B9);1);MATCH(B9;$B$3:$B$6;))
Страницы: 1
Наверх