Как переместить символы из ячеек первого столбца в другой столбец, но во втором столбце должно быть не более 25 символов на ячейку. Например, в первом столбце каждой из первых 5 ячеек строк содержится 5 символов, которые будут мигрировать в одну ячейку второго столбца, содержащую всего 25 символов, строки 6, 7, 8 могут иметь 7 символов, строка 9 может содержать 8 символов. Таким образом, только строки 6,7,8 (всего 21 символ) перейдут во второй столбец. Ряд 9 будет идти вместе со следующим, что вместе может привести к 25 или чуть меньшему количеству символов. Спасибо

1 ответ1

0

В B1 введите:

=MID(TEXTJOIN("",TRUE,A:A),(ROWS($1:1)-1)*25+1,25)

и скопировать вниз:

Формула объединяет все данные в столбце А. Затем он берет 25 "кусочков" символов и помещает их в столбец B.

EDIT # 1:

Вот решение на основе макросов. Макрос проходит по столбцу A, создавая строку путем конкатенации. До того, как длина строки превышает 25 символов, она сохраняется в ячейке столбца B и начинается новая строка. Макрос:

Sub Kompactor()
    Dim txt As String, K As Long, i As Long
    txt = ""
    K = 1

    For i = 1 To 25
    If Len(txt & Cells(i, 1)) > 25 Then
        Cells(K, 2) = txt
        txt = Cells(i, 1)
        K = K + 1
    Else
        txt = txt & Cells(i, 1)
    End If
    Next i

    Cells(K, 2) = txt
End Sub

некоторые примеры данных:

Как вы видите, A1, A2, A3, A4 переходят в B1
А5, А6, А7 переходят в В2
и т.п.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .