Un problema sinxelo, a primeira vista, cunha soluciĂłn non obvia: extrae a Ășltima palabra dunha liña de texto. Ben, ou, no caso xeral, o Ășltimo fragmento, separado por un determinado carĂĄcter delimitador (espazo, coma, etc.) Noutras palabras, Ă© necesario implementar unha busca inversa (de final a principio) na cadea dun carĂĄcter dado e despois extrae todos os caracteres ĂĄ dereita del.
Vexamos as varias formas tradicionalmente de escoller: fĂłrmulas, macros e mediante Power Query.
MĂ©todo 1. FĂłrmulas
Para facilitar a comprensiĂłn da esencia e da mecĂĄnica da fĂłrmula, empecemos un pouco de lonxe. En primeiro lugar, imos aumentar o nĂșmero de espazos entre as palabras do noso texto fonte a, por exemplo, 20 pezas. Podes facelo coa funciĂłn substituĂr. SUBSTITUTO (SUBSTITUTO) e a funciĂłn de repetir un carĂĄcter dado N-veces - REPETE (REPT):
Agora cortamos 20 caracteres do final do texto resultante usando a funciĂłn DEREITO (DEREITO):
Fai mĂĄis calor, non? Queda por eliminar espazos adicionais usando a funciĂłn TRIM (TRIM) e resolverase o problema:
Na versiĂłn en inglĂ©s, a nosa fĂłrmula serĂĄ asĂ:
=RECORTAR(DEREITA(SUBSTITUIR(A1;» «;REPT(» «;20));20))
Espero que quede claro que, en principio, non Ă© necesario inserir exactamente 20 espazos; calquera nĂșmero servirĂĄ, sempre que sexa mĂĄis que a lonxitude da palabra mĂĄis longa do texto fonte.
E se o texto de orixe non debe dividirse por un espazo, senĂłn por outro carĂĄcter separador (por exemplo, cunha coma), entĂłn a nosa fĂłrmula terĂĄ que ser lixeiramente corrixida:
MĂ©todo 2. FunciĂłn macro
A tarefa de extraer a Ășltima palabra ou fragmento do texto tamĂ©n se pode resolver mediante macros, Ă© dicir, escribir unha funciĂłn de busca inversa en Visual Basic que farĂĄ o que necesitamos: buscar unha subcadea determinada nunha cadea na direcciĂłn oposta. o fin ao principio.
Preme o atallo do teclado alt+F11 ou botĂłn Visual Basic aba revelador (Desenvolvedor)para abrir o editor de macros. A continuaciĂłn, engade un novo mĂłdulo a travĂ©s do menĂș Inserir â MĂłdulo e copia alĂ o seguinte cĂłdigo:
FunciĂłn LastWord(txt As String, Optional delim As String = " ", Optional n As Integer = 1) As String arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) FunciĂłn Final
Agora podes gardar o libro de traballo (nun formato habilitado para macros!) e usar a funciĂłn creada na seguinte sintaxe:
=ĂltimaPalabra(txt; delim; n)
onde
- txt â cela co texto fonte
- delimitar â carĂĄcter separador (predeterminado â espazo)
- n - que palabra se debe extraer do final (por defecto - a primeira do final)
Con calquera cambio no texto de orixe no futuro, a nosa funciĂłn de macro volverase calcular sobre a marcha, como calquera funciĂłn estĂĄndar de folla de Excel.
MĂ©todo 3. Power Query
Consulta de enerxĂa Ă© un complemento gratuĂto de Microsoft para importar datos a Excel desde case calquera fonte e despois transformar os datos descargados en calquera forma. A potencia e a frescura deste complemento Ă© tan grande que Microsoft integrou todas as sĂșas funciĂłns en Excel 2016 de forma predeterminada. Para Excel 2010-2013 Power Query pĂłdese descargar gratuitamente desde aquĂ.
A nosa tarefa de separar a Ășltima palabra ou fragmento a travĂ©s dun separador determinado mediante Power Query resĂłlvese moi facilmente.
En primeiro lugar, imos converter a nosa tĂĄboa de datos nunha tĂĄboa intelixente usando atallos de teclado. Ctrl+T ou comandos Inicio - Formato como unha tĂĄboa (Inicio â Formato como tĂĄboa):
Despois cargamos a "tĂĄboa intelixente" creada en Power Query usando o comando Da tĂĄboa/rango (Da tĂĄboa/rango) aba Data (se tes Excel 2016) ou na pestana Consulta de enerxĂa (se tes Excel 2010-2013):
Na xanela do editor de consultas que se abre, na pestana TransformaciĂłn (Transformar) escolle un equipo Dividir columna: por delimitador (Columna dividida â Por delimitador) e despois queda establecer o carĂĄcter separador e seleccionar a opciĂłn Delimitador mĂĄis ĂĄ dereitapara cortar non todas as palabras, senĂłn sĂł a Ășltima:
Despois de premer OK a Ășltima palabra separarase nunha nova columna. A primeira columna innecesaria pĂłdese eliminar facendo clic co botĂłn dereito na sĂșa cabeceira e seleccionando Eliminar (Eliminar). TamĂ©n pode cambiar o nome da columna restante na cabeceira da tĂĄboa.
Os resultados pĂłdense cargar de novo na folla usando o comando Inicio â Pechar e cargar â Pechar e cargar en⊠(Inicio â Pechar e cargar â Pechar e cargar enâŠ):
E como resultado obtemos:
AsĂ: barato e alegre, sen fĂłrmulas nin macros, case sen tocar o teclado đ
Se a lista orixinal cambia no futuro, bastarĂĄ con facer clic co botĂłn dereito ou usar un atallo de teclado Ctrl+alt+F5 actualizar a nosa solicitude.
- Dividir texto adhesivo en columnas
- Analizar e analizar texto con expresiĂłns regulares
- ExtracciĂłn das primeiras palabras do texto coa funciĂłn SUBSTITUTO