Как извлечь все частичные совпадения в Excel?
Если вы хотите извлечь все совпадения, которые содержат определенное ключевое слово из столбца, и перечислить их в столбце или в ячейке, разделенной разделителем, как показано на снимке экрана ниже, как вы могли бы решить эту задачу в Excel?
Извлечь все частичные совпадения по вертикали с помощью формулы
Извлеките все частичные совпадения в одну ячейку с помощью пользовательской функции
Извлечь все частичные совпадения по вертикали с помощью формулы
Чтобы извлечь все совпадения по вертикали в столбце на основе частичного текста, вам может помочь следующая формула массива:
Step1: Пожалуйста, скопируйте и вставьте приведенную ниже формулу в пустую ячейку, где вы хотите поместить результат:
Внимание: В приведенной выше формуле A2: A14 ячейки могут содержать ключевое слово, из которого вы хотите получить совпадения, C2 содержит ключевое слово, E1 - ячейка над формулой.
Step2: Затем нажмите Shift + Ctrl + Enter одновременно, чтобы получить первый результат, а затем перетащите маркер заполнения вниз, чтобы получить все совпадения, пока не появится значение ошибки. Наконец, удалите значения ошибок, см. снимок экрана:
Извлеките все частичные совпадения в одну ячейку с помощью пользовательской функции
Если вам нужно извлечь все совпадения в одну ячейку и разделить их определенным разделителем, возможно, никакая формула не сможет решить эту проблему. Здесь вам нужно применить следующую определяемую пользователем функцию:
Step1: Нажмите Alt + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
Step2: В Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули, затем скопируйте следующий код в файл Module.
Код VBA: извлечь все частичные совпадения в одну ячейку
Function ExtractPartMatch(rngInput As Range, rngSource As Range, Optional sDelimiter As String)
'Updateby ExtendOffice
Dim rng As Range
If sDelimiter = "" Then sDelimiter = ", "
For Each rng In rngSource
If InStr(1, rng.Value, rngInput.Value, vbTextCompare) > 0 Then ExtractPartMatch = ExtractPartMatch & sDelimiter & rng.Value
Next
If Len(ExtractPartMatch) > 0 Then ExtractPartMatch = Mid(ExtractPartMatch, 2, Len(ExtractPartMatch))
End Function
Step3: после вставки кода вернитесь на рабочий лист, где вы хотите найти результат, затем введите эту формулу: =ExtractPartMatch(C2,$A$2:$A$14), а затем нажмите Enter ключ, чтобы получить результат, как показано ниже:
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!