Мне нужна помощь, чтобы сделать следующее преобразование.

Я хочу то же самое, как это: Столбец 7151 7152 7153 7154 В один ряд -> (7151)|(7152)|(7153)|(7154)

2 ответа2

1
="("&A1&")|("&A2&")|("&A3&")|("&A4&")"

Если используемый диапазон в столбце A содержит много данных (или иногда изменяется), вам лучше использовать код vba для генерации результата.

0

Вы можете добиться этого с помощью пользовательской функции кода VBA.

В листе Excel нажмите ALT+F11, чтобы открыть редактор VBA. В меню «Файл» вставьте модуль и дважды щелкните имя модуля на левой панели (если необходимо), чтобы открыть редактор исходного кода. Вставьте в него следующий код.

 Function TXTJOIN(argument1 As Range)      'Accept input range

   rowcounter = argument1.Rows.Count
   If rowcounter > 255 Then
        TXTJOIN = CVErr(xlErrValue)  'If row counter > 255 return #VALUE! Error
        Exit Function
   End If
   colcounter = argument1.Columns.Count ' Check the number of columns in the input range

   If colcounter = 1 Then  'Process if it's a single column range

        For Each element In argument1
            result = result & "(" & element & ")" & "|"
        Next element

        TXTJOIN = Left(result, Len(result) - 1)
   Else

        TXTJOIN = CVErr(xlErrValue)  'If it's a multicolumn range, return #VALUE! Error
   End If


End Function

Сохраните код и выйдите. Если вы используете Office 2007 и более поздние версии, вам нужно будет сохранить книгу Excel как книгу Excel с поддержкой макросов .xlsm.

Таким образом, мы создали пользовательскую функцию под названием TXTJOIN.

Используйте это в своем листе сейчас, как показано на рисунке ниже.

Обратите внимание, что эта пользовательская функция упрощена для работы только с одним столбцом. Передача в него диапазона нескольких столбцов должна вернуть # ЗНАЧЕНИЕ! Ошибка. Это будет работать только в этой книге, так как код существует в этой книге. Кроме того, чтобы избежать передачи A:A, он ограничивается максимум 255 ячейками для объединения.

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