12

В настоящее время я использую « CONCATENATE », чтобы присоединить строку в Excel, но я хочу вставить символьные строки и табуляцию в строку, к которой присоединен « CONCATENATE ».

Пример:

  • У меня есть строка ниже, когда я закончил строку соединения.

    "Today is very beautiful"

  • Я ожидал перевода строки и табуляции автоматически, как показано ниже:

Today is
      verry
      beautiful

Как это сделать?

7 ответов7

16

Поскольку TAB не может отображаться в ячейке Excel, вместо использования CHAR(9) для отступа строки я рекомендую использовать пробелы. Используя функцию REPT() , будет легче контролировать ширину отступа, указав количество пробелов (например, 4).

=CONCATENATE(A1, CHAR(10), REPT(" ", 4), A2)

В качестве альтернативы я обычно использую & для объединения, чтобы упростить формулу.

=A1 & CHAR(10) & REPT(" ", 4) & A2

Наконец, вы должны отформатировать ячейку как "Обтекание текстом" с помощью CTRL-1 > Выравнивание

9

Вы можете попробовать эту формулу:-

=CONCATENATE(A1,CHAR(10),CHAR(9),B1,CHAR(10),CHAR(9),C1)

Вот

CHAR(10) - Line Feed/New Line
CHAR(9)  - Horizontal Tab

Чтобы увидеть новую строку, вам нужно отметить как отмеченное в поле Wrap Text

Щелкните правой кнопкой мыши на ячейке -> Формат ячеек -> Нажмите на вкладку выравнивания -> Под управлением текстом -> Установите флажок « Обтекание текста »

Note: Tab spacing won't appear on the Cell

2

Вы можете попробовать добавить новую строку и вкладки самостоятельно, как еще один текстовый элемент:

=CONCATENATE("Today is", Chr(13), Chr(9), "verry", Chr(13), Chr(9), "beautiful"

тогда как Chr(13) производит перевод строки, а Chr(9) - табуляцию.

1

Этот пост старый, но я нигде не смог найти удовлетворительного ответа на этот вопрос в Google, поэтому вот что я придумал:

=CONCAT("Today is";CHAR(10);REPT(CHAR(1);2);"very";CHAR(10);REPT(CHAR(1);2);"beautiful")

будет отображаться как:

... что более или менее так:

Today is
    very
    beautiful

CHAR(1) - непечатаемый символ "Начало заголовка" в системе ASCII

Microsoft Office 365 профессиональный плюс

0

Вы также можете использовать символы « & » для объединения текста в Excel, как показано ниже:

Предложение: =CONCATENATE(A1,CHAR(10),CHAR(9),B1,CHAR(10),CHAR(9),C1) можно записать в виде:

 =A1&CHAR(10)&CHAR(9)&B1&CHAR(10)&CHAR(9)&C1

Эта форма будет интересна, когда CONCATENATE переполнится (у нее есть предел записей).

0

Кажется, нет никакого способа заставить ="some string"&char(9)&"another string" работать. В результате текст, вставленный как обычный текст в текстовый файл или как неформатированный текст в слове, выглядит следующим образом: "some string another string" Включая нежелательные двойные кавычки. При вставке в формате keep или объединенное форматирование выглядит следующим образом: some string another string Обратите внимание, что вкладка заменена одним пробелом.

Если вместо char(9) используется печатный символ, такой как «!» char(33) результирующий текст, вставленный в слово или текстовый редактор, всегда: some string!another string

Суть в следующем:

В настоящее время, похоже, нет способа вставить вкладку в ячейку. Это жаль, так как в этом действительно есть необходимость. Обходной путь - вставить символ, который не ожидается в ячейке, а затем использовать постпроцессор или макрос в целевом редакторе. Я намереваюсь использовать могилу (чуть выше вкладки) и макрос слова VBA, чтобы преобразовать его во вкладку.

0

Просто: вставьте их из текстового редактора в виде простого текста в кавычках (формат TSV).

Пока никто не упомянул этот простой и очевидный метод.

  1. Создайте содержимое ячейки в Блокноте с помощью символов tab и newline . Этот пример содержит их все (здесь Tab показан как ):

    Before Tab↹AfterTab
    Second "line" of the same cell.
    
  2. Окружите весь контент двойными кавычками " (преобразование в формат TSV).

    • Если внутри исходного текста уже есть двойные кавычки, удвойте их. Для большей ясности я поместил их в приведенный выше пример. Приведенный выше пример теперь будет выглядеть так:

      "Before Tab↹AfterTab
      Second ""line"" of the same cell."
      
  3. Выделите весь текст (Ctrl+A) и нажмите Ctrl+C, чтобы скопировать его в буфер обмена.

  4. В Excel перейдите к ячейке (но не входите в ее режим редактирования) и нажмите Ctrl+V, чтобы вставить.

Готово. Теперь содержимое ячейки соответствует вашим ожиданиям, включая переводы строк и вкладки. (Вы можете проверить это по формулам, VBA или в оба конца, то есть скопировать и вставить обратно в текстовый файл). Обязательные уведомления:

  • Возможно, вам придется увеличить высоту строки, чтобы показать вторую строку.

  • Не ожидайте правильного форматирования содержащихся символов табуляции. (Но вы уже это знаете.) Excel не предназначен для правильной обработки их внутри ячейки. Если вам нужно оставить отступ в ячейке, откройте окно « Формат ячеек» (Ctrl+1) и установите значение « Отступ» на вкладке « Выравнивание ».

Совет: Вы можете вставить несколько ячеек, используя новую строку и вкладку за пределами кавычек.

В этом примере (две строки на два столбца в TSV) будет вставлена область размером 2 × 2 ячейки одновременно:

A1↹B1
A2↹B2

Если вы видите его смысл, вы можете добавить новые строки и вкладки внутри значений:

"A↹1
cell"↹"B↹1
cell"
"A↹2
cell"↹"B↹2
cell"

Протестировано с Excel 2016.

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