Как да извлека всички частични съвпадения в Excel?
Ако искате да извлечете всички съвпадения, които съдържат конкретна ключова дума от колона, и да ги изброите в колона или в клетка, разделени с разделител, както е показано на екранната снимка по-долу, как можете да решите тази задача в Excel?
Извлечете всички частични съвпадения вертикално с формула
Извлечете всички частични съвпадения в една клетка с дефинирана от потребителя функция
Извлечете всички частични съвпадения вертикално с формула
За да извлечете всички съвпадения вертикално в колона въз основа на частичен текст, следната формула за масив може да ви направи услуга:
Step1: Моля, копирайте и поставете формулата по-долу в празна клетка, където искате да поставите резултата:
Забележка: В горната формула, A2: A14 клетките може да съдържат ключовата дума, от която искате да върнете съвпадения, C2 съдържа ключовата дума, E1 е клетката над формулата.
Step2: След това натиснете Ctrl + Shift + Enter клавиши едновременно, за да получите първия резултат, и след това плъзнете манипулатора за попълване надолу, за да получите всички съвпадения, докато се появи стойността за грешка. Най-накрая изтрийте стойностите за грешка, вижте екранната снимка:
Извлечете всички частични съвпадения в една клетка с дефинирана от потребителя функция
Ако трябва да извлечете всички съвпадения в една клетка и разделени от конкретен разделител, може би няма формула, която да го реши. Тук трябва да приложите дефинираната от потребителя функция по-долу:
Step1: Натиснете Alt + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
Step2: В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Модули, след което копирайте следния код в модула.
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)и след това натиснете Въведете ключ, за да получите резултата, както е показано на екранната снимка по-долу:
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!