Un problema senzill, a primera vista, amb una soluciĂł no ĂČbvia: extreu l'Ășltima paraula d'una lĂnia de text. BĂ©, o, en el cas general, l'Ășltim fragment, separat per un carĂ cter delimitador determinat (espai, coma, etc.) Ăs a dir, cal implementar una cerca inversa (de final a principi) a la cadena d'un carĂ cter donat i desprĂ©s extreu tots els carĂ cters que hi ha a la dreta.
Vegem les diverses maneres tradicionals de triar: fórmules, macros i mitjançant Power Query.
MĂštode 1. FĂłrmules
Per facilitar la comprensiĂł de l'essĂšncia i la mecĂ nica de la fĂłrmula, comencem una mica de lluny. En primer lloc, augmentem el nombre d'espais entre paraules del nostre text font fins a, per exemple, 20 peces. Podeu fer-ho amb la funciĂł de substituciĂł. SUPLENT (SUBSTITUT) i la funciĂł de repetir un carĂ cter donat N-vegades - REPETRE (REPT):
Ara tallem 20 carà cters del final del text resultant mitjançant la funció DRET (DRET):
Fa més calor, oi? Queda per eliminar espais addicionals mitjançant la funció TRIM (TRIM) i el problema es resoldrà :
A la versiĂł en anglĂšs, la nostra fĂłrmula serĂ aixĂ:
=TALLA(DRETA(SUBSTITUĂT(A1;» «;REPT(» «;20));20))
Espero que quedi clar que, en principi, no és necessari inserir exactament 20 espais; qualsevol nombre servirà , sempre que sigui més que la longitud de la paraula més llarga del text font.
I si el text font no s'ha de dividir per un espai, sinĂł per un altre carĂ cter separador (per exemple, amb una coma), la nostra fĂłrmula s'haurĂ de corregir lleugerament:
MĂštode 2. FunciĂł macro
La tasca d'extreure l'Ășltima paraula o fragment del text tambĂ© es pot resoldre mitjançant macros, Ă©s a dir, escriure una funciĂł de cerca inversa en Visual Basic que farĂ el que necessitem: buscar una subcadena determinada en una cadena en sentit contrari, des de el final al principi.
Premeu la drecera del teclat Alt+F11 o botĂł Visual Basic llengĂŒeta revelador (Desenvolupador)per obrir l'editor de macros. A continuaciĂł, afegiu un mĂČdul nou mitjançant el menĂș Inserir â MĂČdul i copieu-hi el codi segĂŒent:
FunciĂł LastWord(txt As String, Optional delim As String = " ", Opcional n As Integer = 1) As String arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) FunciĂł final
Ara podeu desar el llibre de treball (en un format habilitat per a macros!) i utilitzar la funciĂł creada amb la sintaxi segĂŒent:
=LastWord(txt; delim; n)
where
- txt â cel·la amb text font
- delim â carĂ cter separador (per defecte â espai)
- n - quina paraula s'ha d'extreure del final (per defecte, la primera del final)
Amb qualsevol canvi en el text d'origen en el futur, la nostra funciĂł de macro es tornarĂ a calcular sobre la marxa, com qualsevol funciĂł estĂ ndard de full d'Excel.
MĂštode 3. Power Query
Power Consulta Ă©s un complement gratuĂŻt de Microsoft per importar dades a Excel des de gairebĂ© qualsevol font i desprĂ©s transformar les dades descarregades a qualsevol forma. La potĂšncia i la frescor d'aquest complement sĂłn tan grans que Microsoft ha incorporat totes les seves funcions a Excel 2016 de manera predeterminada. Per a Excel 2010-2013 Power Query es pot descarregar gratuĂŻtament des d'aquĂ.
La nostra tasca de separar l'Ășltima paraula o fragment mitjançant un separador determinat mitjançant Power Query es resol molt fĂ cilment.
Primer, convertim la nostra taula de dades en una taula intel·ligent mitjançant tecles de drecera. Ctrl+T o ordres Inici â Format com a taula (Inici â Format com a taula):
A continuaciĂł, carreguem la "taula intel·ligent" creada a Power Query mitjançant l'ordre De taula/gama (Des de la taula/range) llengĂŒeta dades (si teniu Excel 2016) o a la pestanya Power Consulta (si teniu Excel 2010-2013):
A la finestra de l'editor de consultes que s'obre, a la pestanya TransformaciĂł (Transformar) triar un equip Dividir la columna: per delimitador (Dividir la columna â Per delimitador) i desprĂ©s queda establir el carĂ cter separador i seleccionar l'opciĂł Delimitador mĂ©s a la dretaper tallar no totes les paraules, sinĂł nomĂ©s l'Ășltima:
DesprĂ©s de fer clic OK l'Ășltima paraula es separarĂ en una nova columna. La primera columna innecessĂ ria es pot eliminar fent clic amb el botĂł dret a la seva capçalera i seleccionant-la Remove (Suprimeix). TambĂ© podeu canviar el nom de la columna restant a la capçalera de la taula.
Els resultats es poden tornar a carregar al full mitjançant l'ordre Inici â Tancar i carregar â Tancar i carregar a... (Inici â Tancar i carregar â Tancar i carregar a...):
I com a resultat obtenim:
AixĂ: barat i alegre, sense fĂłrmules ni macros, gairebĂ© sense tocar el teclat đ
Si la llista original canvia en el futur, n'hi haurĂ prou amb fer clic amb el botĂł dret o utilitzar una drecera del teclat Ctrl+Alt+F5 actualitzar la nostra peticiĂł.
- Dividir el text enganxĂłs en columnes
- AnĂ lisi i anĂ lisi de text amb expressions regulars
- ExtracciĂł de les primeres paraules del text amb la funciĂł SUBSTITUTE