Як витягти всі часткові збіги в Excel?
Якщо ви хочете витягти зі стовпця всі збіги, які містять певне ключове слово, і перерахувати їх у стовпці або в клітинці, розділеній роздільником, як показано на знімку екрана нижче, як ви можете вирішити це завдання в Excel?
Витягніть усі часткові збіги по вертикалі за допомогою формули
Витягніть усі часткові збіги в одну клітинку за допомогою функції, визначеної користувачем
Витягніть усі часткові збіги по вертикалі за допомогою формули
Щоб отримати всі збіги по вертикалі в стовпці на основі часткового тексту, вам може допомогти наступна формула масиву:
Step1: Будь ласка, скопіюйте та вставте наведену нижче формулу в порожню комірку, де ви хочете розмістити результат:
примітки: У наведеній вище формулі, A2: A14 клітинки можуть містити ключове слово, збіги якого ви хочете повернути, C2 містить ключове слово, E1 — клітинка над формулою.
Step2: Потім натисніть Ctrl + Shift + Enter клавіші одночасно, щоб отримати перший результат, а потім перетягніть маркер заповнення вниз, щоб отримати всі збіги, доки не з’явиться значення помилки. Нарешті видаліть значення помилок, дивіться знімок екрана:
Витягніть усі часткові збіги в одну клітинку за допомогою функції, визначеної користувачем
Якщо вам потрібно витягти всі збіги в одну комірку та розділити їх певним роздільником, можливо, жодна формула не допоможе вирішити цю проблему. Тут вам потрібно застосувати наведену нижче функцію, визначену користувачем:
Step1: Натисніть Alt + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.
Step2: В Microsoft Visual Basic для додатків вікна, натисніть Insert > Модулі, а потім скопіюйте наведений нижче код у модуль.
Код 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% та зменшує сотні клацань миші для вас щодня!