Извлечение n-го слова из текстовой строки в Excel
Если у вас есть список текстовых строк или предложений, и вы хотите извлечь конкретное n-е слово из списка, как показано на скриншоте ниже. В этой статье я представлю несколько методов для решения этой задачи в Excel.
- Извлечение и получение n-го слова из текстовой строки с помощью формулы
- Извлечение и получение n-го слова из текстовой строки с помощью пользовательской функции
- Извлечение и получение n-го слова из текстовой строки с помощью мощной функции
Извлечение и получение n-го слова из текстовой строки с помощью формулы
Чтобы справиться с этой задачей, вы можете использовать формулу, которая объединяет функции TRIM, MID, SUBSTITUTE, REPT и LEN. Общий синтаксис следующий:
- строка: Текстовая строка или значение ячейки, из которой вы хотите извлечь слово.
- N: Номер слова, которое вы хотите извлечь.
1. Пожалуйста, введите или скопируйте следующую формулу в пустую ячейку:
Примечание: В приведенной выше формуле A2 — это ячейка, содержащая текстовую строку, которую вы хотите использовать, B2 — это номер слова, которое вы хотите извлечь, также может быть введено как число.
2. Затем перетащите маркер заполнения вниз по ячейкам, чтобы применить эту формулу, и все указанные n-е слова будут извлечены, как показано на следующем скриншоте:
Объяснение формулы:
- 1. SUBSTITUTE(A2," ",REPT(" ",LEN(A2))):
- REPT(" ",LEN(A2): Эта функция REPT используется для повторения символа пробела определенное количество раз, равное длине текста в ячейке A2, что даст большое количество пробелов;
- SUBSTITUTE(A2," ",REPT(" ",LEN(A2))): Функция SUBSTITUTE заменит каждый символ пробела в ячейке A2 большим количеством пробелов, возвращаемых функцией REPT, что создаст текстовую строку с множеством пробелов между каждым словом.
- Эта часть переформатируется как аргумент текста в функции MID.
- 2. (B2-1)*LEN(A2)+1: Эта формула вернет начальную позицию n-го слова из текстовой строки в ячейке A2. Это аргумент start_num функции MID.
- 3. MID(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))), (B2-1)*LEN(A2)+1, LEN(A2)): Эта функция MID извлекает n-е слово из текстовой строки в ячейке A2 на основе аргументов, возвращаемых вышеуказанными формулами.
- 4. TRIM(): Эта функция TRIM удаляет все лишние пробелы между словами.
Советы: Если между словами есть несколько пробелов, приведенная выше формула не будет работать правильно, в этом случае вам следует вложить другую функцию TRIM внутрь функции SUBSTITUTE, пожалуйста, примените следующую формулу:
Извлечение и получение n-го слова из текстовой строки с помощью пользовательской функции
Если приведенная выше формула кажется вам немного сложной для понимания, здесь я представлю пользовательскую функцию, с помощью кода ниже вы также сможете извлечь n-е слово из текстовой строки. Пожалуйста, выполните следующие действия:
1. Нажмите клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Щелкните Вставка > Модуль, скопируйте и вставьте следующий код в окно Модуля.
Function FindWord(Source As String, Position As Integer)
'Update by Extendoffice
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
FindWord = ""
Else
FindWord = arr(Position - 1)
End If
End Function
3. Затем сохраните и закройте модуль кода, введите эту формулу: =findword(A2,B2) в пустую ячейку, где вы хотите вывести результат:
Примечание: В этой формуле A2 — это ячейка, содержащая текстовую строку, которую вы хотите использовать, B2 — это номер слова, которое вы хотите извлечь, также может быть введено как число.
4. И затем перетащите формулу в другие ячейки, чтобы получить результат, как вам нужно, см. скриншот:
Извлечение и получение n-го слова из текстовой строки с помощью мощной функции
Если у вас есть Kutools для Excel, он поддерживает множество часто используемых формул для большинства пользователей Excel. С помощью его функции Извлечение N-го слова из ячейки вы можете извлечь указанное вами n-е слово максимально быстро. Щелкните, чтобы загрузить Kutools для Excel для бесплатного пробного использования!
Связанные функции:
- REPT:
- Функция REPT используется для повторения символов определенное количество раз.
- SUBSTITUTE:
- Функция SUBSTITUTE заменяет текст или символы внутри текстовой строки другим текстом или символами.
- TRIM:
- Функция TRIM удаляет все лишние пробелы из текстовой строки и оставляет только одинарные пробелы между словами.
- MID:
- Функция MID возвращает определенные символы из середины текстовой строки.
- LEN:
- Функция LEN возвращает количество символов в текстовой строке.
Больше статей:
- Получение или извлечение первого слова из текстовой строки в Excel
- Для извлечения всех первых слов из списка текстовых строк, разделенных пробелами, функции LEFT и FIND в Excel могут помочь.
- Получение или извлечение последнего слова из текстовой строки в Excel
- Для извлечения последнего слова из текстовой строки, разделенной символами пробела, обычно можно создать формулу на основе функций TRIM, SUBSTITUTE, RIGHT и REPT в Excel.
- Извлечение последней строки текста из многострочной ячейки
- Для извлечения последней строки текста из текстовой строки, разделенной разрывами строк, обычно нет прямого способа решить эту задачу. В этой статье я представлю формулу для решения этой задачи в Excel.
Лучшие инструменты для повышения производительности Office
Kutools для Excel - Помогает вам выделиться из толпы
Kutools для Excel имеет более 300 функций, гарантируя, что нужный вам инструмент находится всего в одном клике...
Office Tab - Включите работу с вкладками в Microsoft Office (включая Excel)
- Один щелчок мыши, чтобы переключаться между десятками открытых документов!
- Сократите сотни кликов мышью ежедневно, попрощайтесь с болью в руке.
- Увеличивает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.