Cum se extrag toate potrivirile parțiale în Excel?
Dacă doriți să extrageți toate potrivirile care conțin un anumit cuvânt cheie dintr-o coloană și să le enumerați într-o coloană sau într-o celulă separată de un delimitator, așa cum se arată mai jos, cum ați putea rezolva această sarcină în Excel?
Extrage toate potrivirile parțiale pe verticală cu formula
Extrageți toate potrivirile parțiale într-o singură celulă cu funcția definită de utilizator
Extrage toate potrivirile parțiale pe verticală cu formula
Pentru a extrage toate potrivirile pe verticală într-o coloană pe baza unui text parțial, următoarea formulă de matrice vă poate ajuta:
Step1: Copiați și lipiți formula de mai jos într-o celulă goală în care doriți să puneți rezultatul:
notițe: În formula de mai sus, A2: A14 este că celulele pot conține cuvântul cheie de la care doriți să returnați potriviri, C2 conține cuvântul cheie, E1 este celula de deasupra formulei.
Step2: Apoi apăsați Ctrl + Shift + Enter tastele simultan pentru a obține primul rezultat, apoi trageți mânerul de umplere în jos pentru a obține toate potrivirile până când apare valoarea de eroare. În cele din urmă, ștergeți valorile de eroare, vedeți captura de ecran:
Extrageți toate potrivirile parțiale într-o singură celulă cu funcția definită de utilizator
Dacă trebuie să extrageți toate potrivirile într-o singură celulă și separate printr-un anumit delimitator, poate că nu există nicio formulă care să o rezolve. Aici, trebuie să aplicați funcția definită de utilizator de mai jos:
Step1: Presa Alt + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.
Step2: În Microsoft Visual Basic pentru aplicații fereastră, faceți clic pe Insera > Module, apoi copiați următorul cod în modul.
Cod VBA: extrageți toate potrivirile parțiale într-o singură celulă
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: După ce lipiți codul, vă rugăm să reveniți la foaia de lucru unde doriți să localizați rezultatul, apoi introduceți această formulă: =ExtractPartMatch(C2,$A$2:$A$14), apoi apăsați Intrați tasta pentru a obține rezultatul, după cum se arată în imaginea de mai jos:
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!