Come estrarre tutte le corrispondenze parziali in Excel?
Se desideri estrarre tutte le corrispondenze che contengono una parola chiave specifica da una colonna ed elencarle in una colonna o in una cella separata da un delimitatore come mostrato nell'immagine sottostante, come potresti risolvere questa attività in Excel?
Estrai tutte le corrispondenze parziali verticalmente con la formula
Estrai tutte le corrispondenze parziali in una singola cella con la funzione definita dall'utente
Estrai tutte le corrispondenze parziali verticalmente con la formula
Per estrarre verticalmente tutte le corrispondenze in una colonna basata su un testo parziale, la seguente formula di matrice può farti un favore:
Step1: Si prega di copiare e incollare la formula seguente in una cella vuota in cui si desidera inserire il risultato:
Note:: Nella formula sopra, A2: A14 è che le celle possono contenere la parola chiave da cui vuoi restituire le corrispondenze, C2 contiene la parola chiave, E1 è la cella sopra la formula.
Step2: Quindi premere CTRL + MAIUSC + INVIO tasti contemporaneamente per ottenere il primo risultato, quindi trascinare la maniglia di riempimento verso il basso per ottenere tutte le corrispondenze finché non viene visualizzato il valore di errore. Alla fine, elimina i valori di errore, vedi screenshot:
Estrai tutte le corrispondenze parziali in una singola cella con la funzione definita dall'utente
Se devi estrarre tutte le corrispondenze in una singola cella e separate da un delimitatore specifico, forse non esiste una formula in grado di risolverlo. Qui, è necessario applicare la seguente funzione definita dall'utente:
Step1: Stampa Alt + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.
Step2: Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Moduli, quindi copia il codice seguente nel modulo.
Codice VBA: estrai tutte le corrispondenze parziali in una singola cella
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: Dopo aver incollato il codice, torna al foglio di lavoro in cui desideri individuare il risultato, quindi inserisci questa formula: =ExtractPartMatch(C2,$A$2:$A$14), quindi premere entrare tasto per ottenere il risultato come mostrato nell'immagine sottostante:
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!