Добавление символов каждые X символов в ячейках Excel — простые методы
АвторСяоян•Дата изменения
При работе с кодами товаров, серийными номерами, номерами телефонов, идентификационными номерами или длинными текстовыми строками в Excel часто возникает необходимость вставить определённый символ через каждые несколько знаков. Например, можно преобразовать ABCDEF123456 в ABC-DEF-123-456 или добавить пробелы каждые 4 цифры, чтобы упростить чтение длинных чисел.
Excel не предлагает встроенной кнопки для этой задачи, но вы легко справитесь с ней с помощью нескольких простых приёмов. В этой статье — практические способы вставки заданного символа через каждые X знаков в ячейках Excel.

Добавление символов каждые X символов в Excel
- Метод 1: с помощью формулы (Excel 365, Excel 2021 и более поздние версии)
- Метод 2: с помощью кода VBA
- Метод 3: с помощью пользовательской функции
- Метод 4: с помощью Kutools для Excel
Добавление символов каждые X символов в Excel
Приведённые ниже методы позволят быстро вставлять определённые символы через заданное количество знаков в Excel, упрощая разделение длинных текстовых строк, идентификаторов, артикулов или числовых последовательностей на фиксированные интервалы для стандартизации и повышения читаемости.
Метод 1: добавление символов каждые X символов с помощью формулы
Если вы используете Excel 365 или Excel 2021, вы можете применить формулу динамического массива, чтобы разбить текст на группы фиксированной длины, а затем объединить их с помощью указанного символа.
Введите следующую формулу в пустую ячейку:
=TEXTJOIN("-",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4))
Затем нажмите клавишу Enter. Перетащите маркер заполнения вниз, чтобы применить формулу к другим ячейкам.
Как работает эта формула?
- LEN(A2): Возвращает общее количество символов в ячейке A2.
- ROUNDUP(LEN(A2)/4,0): Вычисляет необходимое количество групп. Даже если в последней группе меньше 4 символов, она всё равно учитывается.
- SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4): Генерирует начальные позиции: 1, 5, 9, 13 и так далее.
- MID(A2,SEQUENCE(…),4): Извлекает каждую группу из 4 символов из текста.
- TEXTJOIN("-",ИСТИНА,…): Объединяет все извлечённые группы через дефис.
Настройка формулы
Вы можете настроить символ и интервал по своему вкусу.
Добавить пробел каждые 4 символа:
=TEXTJOIN(" ",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4))
Добавить слэш каждые 2 символа:
=TEXTJOIN("/",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/2,0),,1,2),2))
Используйте ссылки на ячейки для гибких настроек: (Эта версия более гибкая, поскольку позволяет изменять вставляемый символ или число интервала без редактирования самой формулы.)
Если:
- Оригинальный текст находится в A2,
- Символ для вставки находится в B1,
- Число интервала находится в C1
=TEXTJOIN($B$1,TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/$C$1,0),,1,$C$1),$C$1))
Преимущества и недостатки
| Преимущества | Недостатки |
|---|---|
| Динамический результат, обновляющийся автоматически | Работает только в Excel 365, Excel 2021 и более поздних версиях |
| Не требует VBA | Формула может быть сложной для новичков |
| Легко копируется вниз для нескольких ячеек | Результат основан на формуле, а не является статическим текстом |
Метод 2: добавление символов каждые X символов с помощью кода VBA
Если вам нужно вставить определённый символ через фиксированное количество знаков сразу в нескольких ячейках и мгновенно получить результат — VBA станет отличным решением.
- Удерживая клавиши ALT + F11, откройте окно Microsoft Visual Basic for Applications в Excel.
- Нажмите Вставка > Модуль и вставьте следующий код в окно модуля.
Sub InsertCharacter()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
Dim xRow As Integer
Dim xChar As String
Dim index As Integer
Dim arr As Variant
Dim xValue As String
Dim outValue As String
Dim xNum As Integer
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
xRow = Application.InputBox("Number of characters :", xTitleId, Type:=1)
xChar = Application.InputBox("Specify a character :", xTitleId, Type:=2)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
xNum = 1
For Each Rng In InputRng
xValue = Rng.Value
outValue = ""
For index = 1 To VBA.Len(xValue)
If index Mod xRow = 0 And index <> VBA.Len(xValue) Then
outValue = outValue + VBA.Mid(xValue, index, 1) + xChar
Else
outValue = outValue + VBA.Mid(xValue, index, 1)
End If
Next
OutRng.Cells(xNum, 1).Value = outValue
xNum = xNum + 1
Next
End Sub
- Нажмите клавишу F5, чтобы запустить этот код. Появится диалоговое окно с запросом на выбор диапазона данных, в который вы хотите вставить определённый символ в текстовые строки. См. скриншот ниже:

- Затем нажмите кнопку OK. В следующем диалоговом окне укажите число — после каждого такого количества символов будет вставляться заданный символ. См. скриншот:

- Затем нажмите кнопку OK. В следующем диалоговом окне введите символ, который нужно добавить к тексту. См. скриншот:

- Нажмите кнопку OK и выберите ячейку, в которую нужно поместить результат. См. скриншот:

- Наконец, нажмите кнопку OK. Excel вставит указанный символ каждые X символов и разместит результаты в выбранной области размещения списка.

Преимущества и недостатки
| Преимущества | Недостатки |
|---|---|
| Работает в старых версиях Excel | Требует включения макросов |
| Может обрабатывать множество ячеек одновременно | VBA может быть сложным для новичков |
| Выводит статические результаты напрямую | Не является динамическим, если изменяется Исходные данные |
| Гибкие настройки символов и интервалов | Файлы с макросами необходимо сохранять как .xlsm |
Метод 3: добавление символов каждые X символов с помощью пользовательской функции
Пользовательская функция (UDF) позволяет создавать собственные функции Excel с помощью VBA, которые после добавления можно использовать на листе как обычные формулы.
- Нажмите сочетание клавиш Alt + F11, чтобы открыть редактор VBA.
- Нажмите Вставка > Модуль. Скопируйте и вставьте следующий код в модуль.
Function InsertEveryX(TextStr As String, InsertChar As String, IntervalNum As Long) As String
Dim i As Long
Dim ResultStr As String
If IntervalNum <= 0 Then
InsertEveryX = TextStr
Exit Function
End If
For i = 1 To Len(TextStr) Step IntervalNum
ResultStr = ResultStr & Mid(TextStr, i, IntervalNum) & InsertChar
Next i
If Len(ResultStr) > 0 Then
ResultStr = Left(ResultStr, Len(ResultStr) - Len(InsertChar))
End If
InsertEveryX = ResultStr
End Function
- Закройте редактор VBA и вернитесь на лист. Введите следующую формулу:
=InsertEveryX(A2,"-",4)
Совет: вы также можете сохранить вставляемый символ и количество интервалов в ячейках.
Затем перетащите маркер заполнения вниз, чтобы применить формулу к остальным ячейкам.
Преимущества и недостатки
| Преимущества | Недостатки |
|---|---|
| Работает как обычная формула Excel | Требует настройки VBA |
| Проще для восприятия, чем сложная формула | Необходимо включить макросы |
| Можно многократно использовать в рабочей книге | Недоступно в других рабочих книгах без копирования |
| Поддерживает пользовательские символы и интервалы | Рабочую книгу следует сохранять как .xlsm |
Метод 4: добавление символов каждые X символов с помощью Kutools для Excel
Если вы предпочитаете обходиться без сложных формул или кода VBA, Kutools для Excel предлагает гораздо более простой способ вставки символов в текст ячеек. Благодаря его мощным текстовым инструментам вы сможете мгновенно добавлять нужные символы в заданные позиции или применять операции обработки текста сразу ко множеству ячеек.
- Выделите ячейки, в которые нужно вставить символы. Затем нажмите Kutools > Текст > Добавить текст.

- В диалоговом окне Добавить текст:
- Введите символ, который хотите вставить — например, -, / или пробел — в поле Текст.
- В разделе Позиция добавления выберите После указанной позиции и укажите позицию, куда следует вставить символ.
- Нажмите ОК.

Совет: в данном примере я указал значения 4, 8 и 12 в поле «После указанной позиции», что означает вставку заданного текста после 4-го, 8-го и 12-го символов каждой строки.
Теперь указанный символ вставлен в значения ячеек с заданными интервалами.
Быстрее вставляйте текст в ячейки Excel с Kutools
С помощью функции Kutools для Excel Добавить текст вы можете быстро вставлять нужные символы, знаки или текст в выбранные ячейки — без сложных формул и кода VBA.
Важные примечания и ограничения
1. Результаты формул динамичны
Если вы используете метод формул, результат будет автоматически обновляться при изменении оригинального текста. Это удобно для таблиц, которые используются постоянно, однако результат остаётся привязанным к формуле.
Если вам нужны фиксированные текстовые значения, скопируйте результаты формулы и используйте:Главная>Вставить>Вставить значения
2. VBA и Kutools, как правило, возвращают статические результаты.
VBA и Kutools лучше подходят для однократной обработки. После вставки символов результат не будет автоматически обновляться при изменении исходного текста, если вы повторно не запустите код или инструмент.
3. Проверьте, не короче ли последняя группа
Если длина текста не делится нацело на заданное число интервалов, последняя группа будет содержать оставшиеся символы.
4. Пустые ячейки
Когда выбранный диапазон содержит пустые ячейки, VBA и Kutools обычно автоматически пропускают их или оставляют без изменений. Однако при использовании формул пустые ячейки могут привести к неожиданным результатам или ошибкам. Чтобы этого избежать, оберните формулу функциями ЕСЛИ или ЕСЛИОШИБКА — так пустые ячейки останутся пустыми.
=IF(A2="","",TEXTJOIN("-",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4)))
5. Специальные символы
Наиболее распространённые разделители — такие как дефисы, запятые, пробелы, косые черты и точки — можно вставлять без проблем. Кроме того, поддерживается вставка любого другого пользовательского текста.
Заключение
Добавление символов каждые X позиций в Excel упрощает чтение, форматирование и управление длинными текстовыми строками. Пользователям Excel 365 или Excel 2021 подойдёт гибкое и динамичное решение на основе формул. Для обработки сразу множества ячеек эффективно использовать VBA. Если же вам нужна многократно применимая пользовательская формула — отличным выбором станет пользовательская функция (UDF). А тем, кто предпочитает простой, наглядный и безкодовый подход, Kutools для Excel предлагает ещё более быстрый способ выполнения таких задач с помощью функции «Формат текста».
В общем случае используйте формулы, если нужны динамические результаты; используйте VBA или пользовательские функции (UDF), когда требуется больший контроль; и используйте Kutools, если хотите максимально простой рабочий процесс с минимальным количеством ручных действий.
Лучшие инструменты для повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и почувствуйте эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить самую нужную вам функцию…
Office Tab Добавляет вкладки в Office и значительно упрощает вашу работу
- Включает редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывает и создаёт несколько документов во вкладках одного окна вместо отдельных окон.
- Повышает продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — единый установщик
Kutools for Office — это пакет, объединяющий надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, что идеально подходит для команд, работающих в разных приложениях Office.
- Универсальный пакет— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает несколько минут (готово к MSI)
- Лучше работают вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и банковской карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек
Оглавление
- Добавление символов каждые X символов в Excel
- Метод 1: с помощью формулы
- Метод 2: с помощью кода VBA
- Метод 3: с помощью пользовательской функции
- Метод 4: с помощью Kutools для Excel
- Важные примечания и ограничения
- Заключение
- Лучшие инструменты для повышения продуктивности в Office
Kutools для Excel
Добавляет в Excel 300+ расширенных функций
- ⬇️ Бесплатная загрузка
- 🛒 Купить сейчас
- 📘 Руководства по функциям
- 🎁 30-дневная бесплатная пробная версия






