KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как найти позицию n-го пробела в строке Excel?

АвторСуньДата изменения

При работе с текстовыми данными в Excel часто встречаются ячейки, содержащие несколько слов, разделённых пробелами. Например, может понадобиться определить позицию первого или n-го пробела в каждой ячейке — это особенно полезно для дальнейшей обработки или извлечения нужной информации из строк. Точное и быстрое нахождение конкретного пробела упрощает разделение имён, разбор кодов и структурирование данных. В этом руководстве представлены практичные методы поиска позиции первого, второго или любого n-го пробела в содержимом ячеек, как показано на скриншоте ниже. Вы также узнаете, как удалять нежелательные пробелы и познакомитесь с альтернативными подходами для решения гибких и сложных задач, связанных с определением позиций пробелов.

Поиск позиции n-го пробела с помощью формулы

Определение n-го пробела с помощью более гибкой формулы Excel

Поиск позиции n-го пробела с помощью макроса VBA

Удаление начальных/конечных/лишних/всех пробелов из строкихорошая идея3


Поиск позиции n-го пробела с помощью формулы

Чтобы определить позицию конкретного пробела в текстовой строке, воспользуйтесь встроенными функциями Excel. Каждый из приведённых ниже подходов позволяет находить 1-й, 2-й, 3-й или 4-й пробел с помощью вложенных функций НАЙТИ. Этот метод идеально подходит, когда количество пробелов ограничено и заранее известно.

Найти позицию первого пробела=FIND(« »,A1)
Найти позицию второго пробела=FIND(« »,A1,FIND(« »,A1)+1)
Найти позицию третьего пробела=FIND(« »,A1,FIND(« »,A1,FIND(« »,A1)+1)+1)
Найти позицию четвёртого пробела=FIND(« »,A1,FIND(« »,A1,FIND(« »,A1, FIND(« »,A1)+1)+1)+1)

Например, если вам нужно найти позицию второго пробела в каждой ячейке списка, сделайте следующее:

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

=FIND(" ",A2,FIND(" ",A2)+1)

После ввода формулы нажмите клавишу Enter. Чтобы применить её к другим ячейкам, перетащите маркер заполнения вниз по списку — позиция автоматически рассчитается для каждой строки. См. скриншот:
 введите формулу для получения позиции n-го пробела

Примечание: если в ячейке пробелов меньше, чем указано, формула вернёт ошибку #ЗНАЧ!. Рекомендуем проверять данные или использовать функции обработки ошибок, например ЕСЛИОШИБКА, чтобы повысить надёжность.

Этот метод прост и быстр при работе с небольшим фиксированным количеством пробелов. Для строк, где требуется определить более высокие позиции пробелов или использовать динамические значения n, воспользуйтесь более гибким решением на основе формулы, приведённой ниже.


Определение n-го пробела с помощью более гибкой формулы Excel

Если вам нужно найти позицию n-го пробела в текстовой строке, но вы хотите избежать ручного вложения нескольких функций НАЙТИ, объедините функции ПОДСТАВИТЬ и НАЙТИ. Такой подход позволяет динамически указывать нужную позицию пробела — достаточно изменить значение в ссылке на ячейку или переменной, — и особенно удобен для работы с длинными строками или модульными процессами в Excel.

Например, suppose the full text is in cell A2 and the space position you want to find (for example, the 3rd space) находится в ячейке B2 (введите нужное значение n, например 3, в ячейку B2):

=FIND("#",SUBSTITUTE(A2," ","#",B2))

Введите эту формулу в ячейку C2, а затем скопируйте её вниз для анализа остальных строк набора данных. Формула заменяет n-й пробел на символ «#», после чего с помощью функции НАЙТИ определяет его позицию. Этот подход особенно эффективен, когда позиция целевого пробела варьируется от строки к строке или при работе со сложными текстовыми конструкциями.

Советы:

  • Эта формула поддерживает динамические значения n, так что вы можете задавать разные значения n (в ячейке B2) для каждой строки.
  • Если значение в ячейке B2 превышает количество пробелов в строке, формула вернёт ошибку #ЗНАЧ!. Чтобы представить результат более удобным для пользователя способом, оберните формулу в функцию ЕСЛИОШИБКА, например: =IFERROR(FIND("#",SUBSTITUTE(A2," ","#",B2)),"Not Found").
  • Попробуйте заменить символ «#» на другой, если он содержится в вашем фактическом тексте.

Этот метод рекомендуется при работе с переменными или большими значениями n, поскольку обеспечивает высокую эффективность даже для более сложных структур данных.


Поиск позиции n-го пробела с помощью макроса VBA

Когда требуется максимальная гибкость или необходимо автоматизировать обработку большого объёма данных, идеальным решением станет макрос VBA. С его помощью можно перебирать каждый символ в строке, подсчитывать пробелы и определять позицию нужного вхождения. Такой подход эффективен даже при работе с разнообразными текстовыми структурами, длинными предложениями или динамически меняющимися значениями n.

1. Нажмите Инструменты разработчика > Visual Basic. Когда откроется окно Microsoft Visual Basic для приложений, нажмите Вставка > Модуль и вставьте следующий код в модуль:

Sub PositionOfNthSpace()
    Dim txt As String
    Dim spaceNum As Integer
    Dim i As Integer
    Dim cnt As Integer
    Dim pos As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    txt = Application.InputBox("Enter text to search:", xTitleId, "", Type:=2)
    spaceNum = Application.InputBox("Find which space position (n):", xTitleId, 1, Type:=1)
    
    pos = 0
    cnt = 0
    
    For i = 1 To Len(txt)
        If Mid(txt, i, 1) = " " Then
            cnt = cnt + 1
            If cnt = spaceNum Then
                pos = i
                Exit For
            End If
        End If
    Next i
    
    If pos = 0 Then
        MsgBox "The string does not contain " & spaceNum & " spaces.", vbExclamation, xTitleId
    Else
        MsgBox "The position of the " & spaceNum & "th space is: " & pos, vbInformation, xTitleId
    End If
End Sub

2. Нажмите кнопку Кнопка «Выполнить»выполнения, чтобы запустить макрос. Появятся два диалоговых окна: первое предложит ввести текстовую строку, а затем — указать позицию пробела, которую нужно найти (например, введите «3» для третьего пробела). Если символ будет найден, макрос отобразит его позицию; в противном случае появится уведомление.

Этот мощный метод на VBA применяется, когда стандартных формул недостаточно или требуется пакетная обработка позиций пробелов в разнообразных текстовых данных.


Удаление начальных/конечных/лишних/всех пробелов из строки

Часто возникает необходимость очистить текстовые данные от нежелательных пробелов — в начале, в конце, лишних или всех сразу. В Excel нет встроенной функции для массового удаления пробелов, но вы можете быстро и точно справиться с этой задачей с помощью Kutools для Excel — многофункциональной надстройки. Утилита «Удалить пробелы» особенно полезна для приведения в порядок импортированных или плохо отформатированных наборов данных перед их анализом или разделением текста по позициям пробелов.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

После бесплатной установкиKutools для Excel выполните следующие действия:

1. Выделите строки, в которых нужно удалить пробелы, затем нажмите Kutools > Текст > Удалить пробелы. См. скриншот:
нажмите функцию «Удалить пробелы» Kutools

2. В диалоговом окне Удалить пробелы установите нужный флажок в разделе Тип пробелов, например «Удалить пробелы в начале», «Удалить пробелы в конце», «Удалить лишние пробелы» или «Удалить все пробелы». Перед подтверждением вы можете просмотреть результат в разделе Предварительный просмотр. См. скриншот:
установите нужный флажок в разделе «Типы пробелов»

3. Нажмите ОК или Применить. Нежелательные пробелы будут немедленно удалены из выбранных строк.
пробелы удалены из выбранных строк

В заключение, независимо от того, работаете ли вы с небольшими списками или крупными наборами данных, вы всегда сможете выбрать оптимальное решение — встроенные формулы, гибкие комбинации функций, макросы VBA или надстройки — исходя из поставленных задач. Если количество пробелов известно и ограничено, отлично подойдёт вложенная функция НАЙТИ; для больших или переменных значений *n* используйте связку ПОДСТАВИТЬ и НАЙТИ или задействуйте VBA для настраиваемой автоматизации. Для максимально надёжных результатов всегда предварительно очищайте строки от лишних пробелов.


Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал 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.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек