Как отменить запятую в Excel строку? - PullRequest
0 голосов
/ 15 февраля 2019

Как я могу использовать формулу в MS Excel, чтобы поменять местами через запятую строку?Количество значений не всегда одинаково, поэтому в некоторых строках есть 3, 4, а в некоторых только один элемент.

Таким образом, результат выглядит следующим образом:

enter image description here

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Неряшливое решение UDF:

Function REVERSESTRING(original As Range, delim As String)

    Dim i As Long, reversed As String, arr As Variant

    arr = Split(original.Value, delim)

    For i = UBound(arr) To 0 Step -1
        reversed = reversed & arr(i) & ","
    Next i

    REVERSESTRING = Left(reversed, Len(reversed) - 1)

End Function

img1

0 голосов
/ 15 февраля 2019

Если у вас Office 365 Excel, тогда используйте эту формулу массива:

=TEXTJOIN(",",,TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",99)),((LEN(A2)-LEN(SUBSTITUTE(A2,",",""))+1)-ROW($XFD$1:INDEX(XFD:XFD,LEN(A2)-LEN(SUBSTITUTE(A2,",",""))+1)))*99+1,99)))

Будучи формулой массива, ее необходимо подтвердить нажатием Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

Если у вас нет Office 365 Excel, то, вероятно, единственным выбором будет vba.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...