You are on page 1of 15

ambienteoffice.com.br http://www.ambienteoffice.com.

br/excel/manipulacao_de_texto/

Manipulao de Texto - Excel

Home Busque neste site:

Principal

Assinar Manipulao de Texto

ltima atualizao: 02/12/2011

Dicas Introduo

Excel Cdigo ASCII de um Caractere

Word Verificar se Duas Clulas so Iguais

Outlook Exibio de Valores Personalizada

Office/VBA -Nmeros

Suplementos -Datas

Vdeos Repetir Caractere ou Palavra num Texto

Outros Remover Excesso de Caracteres e Caracteres No-Imprimveis num Texto

Contar Nmero de Caracteres ou Palavras num Texto

-Contar Nmero de Caracteres Especficos num Texto

-Contar Nmero de Palavras num Texto

-Contar Nmero de Palavras Especficas num Texto

Alterar Maisculas e Minsculas

-Primeira Letra Maiscula e Todas Outras Minsculas

Extrair Caracteres ou Palavras de um Texto

-Extrair a Primeira ou ltima Palavra de um Texto

-Extrair a Ensima Palavra de um Texto

-Explicao

-Extrair Sequncia Numrica de Expresso Alfanumrica

Substituir Texto por Outro Texto

Procurar Posio de Texto Dentro de Outro Texto

-Retornar Posio da ltima Ocorrncia de um Caractere num Texto


-Retornar Posio da ltima Ocorrncia de uma Palavra num Texto

Referncias

Introduo

Embora o Excel no seja um editor de texto, ele possui ferramentas incrveis para anlise e
extrao de texto. Uma clula pode comportar at 32.767 caracteres, e normalmente este
limite mais que suficiente.

O objetivo deste artigo fornecer exemplos de operaes com funes que tratam texto
(strings) e so utilizadas frequentemente.

Cdigo ASCII de um Caractere

Todo caracter possui um cdigo ASCII (American Standard Code for Information Interchange).
Esse cdigo, para caracteres comuns, normalmente fixo entre todas Aplicaes e todas
plataformas. Se por algum motivo voc precisar saber o cdigo ASCII de um caractere, use:

=CDIGO("B")

O resultado ser 66.

Se quiser fazer o caminho inverso, isto , descobrir qual o caractere a partir do cdigo ASCII,
use:

=CARACT(66)

O resultado ser, obviamente, B.

Verificar se Duas Clulas so Iguais

Existem dois mtodos: um que ignora se caracteres esto em maisculo ou minsculo e outro
que leva em conta caracteres maisculo e minsculos. Veja o exemplo abaixo:

A funo de comparao (A1=B1) ignora maisculas de minsculas e retorna verdadeiro se o


texto for igual. No entanto, a funo EXATO s retorna VERDADEIRO se os textos foram
exatamente iguais, inclusive letras maisculas de minsculas.

Exibio de Valores Personalizada

Nmeros

Veja a situao abaixo:


A frmula em B3

="Estou te devendo a quantia de " & A1

Seria bem melhor se, ao invs de 123456, mostrasse R$ 1.234,56. Para tal, escreva:

="Estou te devendo a quantia de " & TEXTO(A1;"R$ #.#,00")

(se quiser saber sobre regras para formatao personalizada de nmeros, me mande um e-
mail)

O resultado final:

Nota: para esse caso particular, em que a formatao desejada de moeda, poderia usar
tambm:

="Estou te devendo a quantia de " & MOEDA(A1)

Dessa forma, o Excel usar a formatao padro de moeda para aplicar ao nmero.

Datas

Observe a tabela abaixo:

A frmuma B9 :

="O concurso era dia " & A8

Para o Excel, as datas no passam de um nmero (se quiser saber mais sobre esse assunto,
veja a seo de datas deste artigo). Ento, quando a mesma referenciada numa frmula, o
Excel no aplica a formatao padro, de data. Para que a formatao fique igual clula
B10, use a frmula:

="O concurso era dia " & TEXTO(A8;"dddd dd/MM/aaaa hh:mm:ss")


Clique aqui se quiser saber como formatar data e hora. O artigo de Word, mas a regra para
a construo de data/horrio a mesma.

Repetir Caractere ou Palavra num Texto

Caso deseje repetir um caractere ou um sequncia de caracteres, use a funo REPT:

A frmula :

=REPT("Felipe ";3)

3 corresponde ao nmero de vezes


que se deseja repetir a expresso.

Remover Excesso de Caracteres e Caracteres No-Imprimveis num Texto

A funo ARRUMAR remove excesso de espaos antes, no meio e depois de uma cadeia de
caracteres. A funo TIRAR remove caracteres no imprimveis, como quebras de texto, por
exemplo. Confira os exemplos abaixo:

Em A3:

=ARRUMAR(A1)

Em A7:

=TIRAR(A5)

Contar Nmero de Caracteres ou


Palavras num Texto

A funo NM.CARACT conta


quantos caracteres uma determinada
sequncia de texto possui. Note que
espaos tambm so contados:

Em A2:

=NM.CARACT(A1)

As subsees a seguir mostram um uso mais elaborado


da frmula. Note que algumas funes so explicadas
somente adiante.

Contar Nmero de Caracteres Especficos num Texto

Observe a figura abaixo:

A frmula abaixo conta a quantidade de e presente no texto Felipe Costa Gualberto e retorna,
corretamente, 3.

=NM.CARACT(A7)-NM.CARACT(SUBSTITUIR(A7;"e";""))
Explicao: subtrai-se o nmero total de caracteres pelo nmero de caracteres de quando se
substitui e por vazio (em outras palavras, quando se eliminam os e). O resultado dessa
expresso a quantidade de e que foram removidos do texto original.

Contar Nmero de Palavras num Texto

A frmula abaixo conta quantas palavras possui um texto:

A frmula :

=NM.CARACT(A19)-NM.CARACT(SUBSTITUIR((A19);" ";""))+1

A explicao simples: conta-se quantos espaos em branco o texto possui, e em seguida


adiciona-se 1 (porque, numa frase, o nmero de palavras o nmero de espaos mais um).

No entanto, preste ateno: a frmula retornar 1 se estiver em branco. Para corrigir esse
problema, use simplesmente um SE:

=SE(NM.CARACT(A24)=0;0;NM.CARACT(A24)-NM.CARACT(SUBSTITUIR(A24;"
";""))+1)

Contar Nmero de Palavras Especficas num Texto

A diferena deste caso para o anterior que deseja-se contar quantas palavras Costa, e no
caracteres, possui dentro do texto Felipe Costa Gualberto Costa. Observe a figura abaixo:

A frmula utilizada :

=(NM.CARACT(A13)-NM.CARACT(SUBSTITUIR(A13;A14;"")))/NM.CARACT(A14)

Essa frmula semelhante da subseo Contar Nmero de Caracteres Especficos num


Texto, a diferena que cada vez que se substitui Costa por vazio, 5 caracteres so contados
a menos. Como na verdade esses 5 caracteres correspondem apenas uma ocorrncia de
Costa (que possui 5 caracteres), deve-se dividir o resultado final pelo nmero de letras de
Costa, que 5.

Alterar Maisculas e Minsculas


Existem trs funes nativas do Excel para alterar letras maisculas e minsculas de uma
sequncia de texto:

MINSCULA - converte todos os caracteres de uma sequncia de texto para o minsculo.

MAISCULA - converte todos os caracteres de uma sequncia de texto para o maisculo.

PRI.MAISCULA - converte o primeiro caractere de cada palavra de uma sequncia de texto


para o maisculo e as outras letras em minsculo.

Veja o exempolo a seguir:

Primeira Letra Maiscula


e Todas Outras
Minsculas

Usando funes que


sero explicadas na
seo a seguir, veja a
frmula abaixo:

Em A8:

=MAISCULA(ESQUERDA(A7))&DIREITA(MINSCULA(A7);NM.CARACT(A7)-1)

Note que no resultado todos os caracteres so minsculos, exceto o primeiro.

A frmula possui duas partes: na primeira, em azul, pega-se o primeiro caractere e formata-se
em maisculo. Em seguida, todos os outros caracteres exceto o mais direita (ou o primeiro
esquerda) devero ser minsculos.

Existem trs funes nativas do Excel para extrair sequncias de texto dentro de uma outra:

ESQUERDA - extrai caracteres esquerda de um texto

DIREITA - extrai caracteres direita de um texto

EXT.TEXTO - extrai caracteres a partir de uma determinada posio de um texto.

Veja um exemplo a seguir:

As frmulas so:

=ESQUERDA(A1;6)

=DIREITA(A1;9)

=EXT.TEXTO(A1;8;5)

As funes ESQUERDA e
DIREITA necessitam de dois
parmetros de entrada: texto a
ser extrado e nmero de caracteres a serem extrados (se o segundo argumento for omitido,
apenas um caractere ser extrado). J a funo EXT.TEXTO possui trs parmetros: texto a
ser extrado, posio do caractere inicial a ser extrado e nmero de caracteres a serem
extrados.
Veja a figura abaixo:

A frmula para extrair a primeira palavra do texto :

=ESQUERDA(A33;PROCURAR(" ";A33)-1)

A frmula, atravs de PROCURAR, identifica qual a posio do primeiro espao. Extrai-se


ento do incio do texto at uma posio antes do primeiro espao, que explica o -1.

A frmula para extrair a ltima palavra do texto :

=DIREITA(A33;NM.CARACT(A33)-PROCURAR("^^";SUBSTITUIR(A33;"
";"^^";NM.CARACT(A33)- NM.CARACT(SUBSTITUIR(A33;" ";"")))))

A expresso abaixo j nos conhecida:

PROCURAR("^^";SUBSTITUIR(A33;" ";"^^";NM.CARACT(A33)-
NM.CARACT(SUBSTITUIR(A33;" ";""))))

Ela resultar em 19.

Note que a sequncia ^^ apenas um caractere temporrio arbitrrio, usando para fazer
clculos em cadeia.

Ela corresponde expresso que retorna a posio da ltima ocorncia, neste caso, de
espao. Se precisa de uma explicao mais detalhada para esta parte, veja a subseo
Retornar Posio da ltima Ocorrncia de um Caractere num Texto. Simplificando-se a
frmula, temos:

=DIREITA(A33;NM.CARACT(A33)-19)

A diferena entre o nmero total de caracteres at o primeiro espao corresponde ltima


palavra do texto.

Nota: Ambas frmulas falharo se o texto de origem possuir apenas uma palavra. Para
consertar essa situao, use as formas:

Extrair primeira palavra de texto:

=SEERRO(ESQUERDA(A39;PROCURAR(" ";A39)-1);A39)

Extrair ltima palavra de texto:

=SEERRO(DIREITA(A39; NM.CARACT(A39)-PROCURAR("*";SUBSTITUIR(A39;"
";"*";NM.CARACT(A39)- NM.CARACT(SUBSTITUIR(A39;" ";""))))); A39)

A figura abaixo ilustra a explicao acima:


Veja que quando o texto possui apenas uma palavra, as formas anteriormente explicadas de
extrair a primeira ou ltima palavra retornam o erro #VALOR!.

A explicao da frmula simples: SEERRO(expressao;A39), ou seja, se a expresso retornar


um erro, retorna-se o prprio texto (j que ele retorna erro quando h apenas uma palavra)

A frmula abaixo foi proposta por Frank Kabel com algumas modificaes feitas por mim:

Se voc usa o Excel 2003, experimente trocar na expresso abaixo o 2^31-1 por 1024:

=SE(OU(NM.CARACT(A47)=0;ERROS(PROCURAR("^^";SUBSTITUIR(" "&A47;"
";"^^";A48))));""; EXT.TEXTO(A47;PROCURAR("^^";SUBSTITUIR(" "&A47;"
";"^^";A48));SE(ERROS(PROCURAR("^^";SUBSTITUIR(A47;" ";"^^";A48)));2^31-
1;PROCURAR("^^";SUBSTITUIR(A47;" ";"^^";A48))-PROCURAR("^^";SUBSTITUIR("
"&A47;" ";"^^";A48)))))

Para o caso acima, a frmula extrai a terceira (clula A48) palavra da sequncia de texto em
A47. Voc pode usar essa frmula tambm para extrair outro delimitador sem ser o espao,
como a vrgula, por exemplo. Basta substitu-la na frmula.

Explicao

Antes de ler esta explicao, recomenda-se que voc domine a tcnica de avaliar uma frmula
(clique).

Considere que A47 Felipe Costa Gualberto Matos e A48 3. Logo, a frmula ter que
retornar Gualberto.

=SE(OU(NM.CARACT(A47)=0;ERROS(PROCURAR("^^";SUBSTITUIR(" "&A47;"
";"^^";A48))));""; EXT.TEXTO(A47;PROCURAR("^^";SUBSTITUIR(" "&A47;"
";"^^";A48));SE(ERROS(PROCURAR("^^";SUBSTITUIR(A47;" ";"^^";A48)));2^31-
1;PROCURAR("^^";SUBSTITUIR(A47;" ";"^^";A48))-PROCURAR("^^";SUBSTITUIR("
"&A47;" ";"^^";A48)))))

Se a expresso em azul for verdadeira, retorna-se um texto em branco ("").

Logo, a frmula como um todo retornar um texto em branco se NM.CARACT(A47)=0 ou se


ERROS(PROCURAR("^^";SUBSTITUIR(" "&A47;" ";"^^";A48))).

NM.CARACT(A47)=0 o mesmo que a expresso estar em branco, isto , no contiver


caracteres.

Em relao expresso ERROS(PROCURAR("^^";SUBSTITUIR(" "&A47;" ";"^^";A48)))

Em primeiro lugar, repare que na frmula como um todo que h substituies dee " " (um
espao em branco) em "^^". Logo depois, num nvel de aninhamento anterior, converte-se
novamente "^^" em " ";. Isso ocorre porque a frmula transforma temporariamente os espaos
em branco para fazer os clculos necessrios.

Em segundo lugar, veja que as expresses de busca de um termo na expresso so sempre


da forma " "&A47. Esse espao a mais necessrio porque a primeira palavra de uma frase
, na verdade, o espao nmero 1. Como no existe esse espao, temos que adicionar
forosamente na frmula. Em outras palavras, a expresso tem apenas dois espaos, mas
precisamos que tenham trs, porque a palavra possui trs termos. Esse espao extra
adicionado antes de Felipe.

Logo, SUBSTITUIR(" "&A47;" ";"^^";A48) significa que na expresso " Felipe Costa
Gualberto Matos" (com um espao antes de Felipe!) ser buscado o terceiro espao (porque
A48 igual a 3) e o mesmo ser substitudo por ^^. A expresso se retornar ento " Felipe
Costa^^Gualberto Matos". Em seguida, ser usada a funo PROCURAR nessa expresso,
buscando o termo ^^. Ora, o termo ^^ s existir se a frmula de SUBSTITUIR tiver sido bem
sucedida. Se no tiver sido bem sucedida, retornar um erro.

Logo, da expresso

=SE(OU(NM.CARACT(A47)=0;ERROS(PROCURAR("^^";SUBSTITUIR(" "&A47;"
";"^^";A48))));""; EXT.TEXTO(A47;PROCURAR("^^";SUBSTITUIR(" "&A47;"
";"^^";A48));SE(ERROS(PROCURAR("^^";SUBSTITUIR(A47;" ";"^^";A48)));2^31-
1;PROCURAR("^^";SUBSTITUIR(A47;" ";"^^";A48))-PROCURAR("^^";SUBSTITUIR("
"&A47;" ";"^^";A48)))))

A parte em azul serve apenas para verificar duas coisas:

1 - A sequncia de texto tem mais de um caractere?

2 - O nmero do termo pesquisado (A48) menor ou igual ao nmero de espaos totais


presentes na sequncia de texto?

Se as duas condies foram satisfeitas, ento a frmula retornar a parte em rosa, que ,
reescrita com novas cores:

EXT.TEXTO(A47;PROCURAR("^^";SUBSTITUIR(" "&A47;"
";"^^";A48));SE(ERROS(PROCURAR("^^";SUBSTITUIR(A47;" ";"^^";A48)));2^31-
1;PROCURAR("^^";SUBSTITUIR(A47;" ";"^^";A48))-PROCURAR("^^";SUBSTITUIR("
"&A47;" ";"^^";A48))))

Ser extrado do termo azul (Felipe Costa Gualberto Matos) uma sequncia de texto que inicia
do caractere que retornado pelo nmero verde e possui um nmero de caracteres igual ao
valor retornado pela parte rosa.

A parte em verde j foi mostrada anteriormente: Sabemos que ela no vai dar erro aqui porque
o teste condicional do aninhamento anterior passou com sucesso. Ela retornar qual a
posio onde se inicia o terceiro espao (na verdade, a terceira ocorrncia de ^^ na expresso
Felipe Costa^^Gualberto Matos, que 14. A parte em negrito (comeando no G) corresponde
ao 14o caractere a seguir.

Agora, precisamos que a parte rosa da frmula nos retorne 9, que o comprimento do termo
Gualberto. Veja como ela faz isso, ao reescrevermos ela com outras cores:

SE(ERROS(PROCURAR("^^";SUBSTITUIR(A47;" ";"^^";A48)));2^31-
1;PROCURAR("^^";SUBSTITUIR(A47;" ";"^^";A48))-PROCURAR("^^";SUBSTITUIR("
"&A47;" ";"^^";A48)))

Essa expresso significa:

Se a parte em azul em for verdadeira, o nmero de caracteres extrados ser 2^31-1; caso
contrrio, ser a parte rosa.

A parte em azul idntica primeira expresso que combina PROCURAR com SUBSTITUIR,
exceto que ao invs de se fazer a substituio no termo " "&A47, faz-se simplesmente em
A47. Isso significa que retiramos o espao extra dado frmula. Logo, se agora o nmero de
espaos um a menos que o nmero de termos, se procurarmos o ltimo termo, a expresso
em azul retornar um erro.

Em outras palavras, se a expresso azul retornar um erro, significa que o termo buscado o
ltimo e, sendo o ltimo, a funo PROCURAR retorna um erro e o nmero de caracteres
repassados EXT.TEXTO ser 2^31-1. Esse nmero equivale 2147483647, que
simplesmente o nmero mximo de caracteres suportados pela funo.

Se o termo buscado ento no for o ltimo, ento ser retornado o nmero calculado pela
parte rosa. Ora esse nmero simplesmente a diferena das funes de PROCURAR do A47
concatenado sem o espao e do A47 concatenado com o espao. Note que essa expresso
daria erro se o termo buscado fosse o ltimo, da a necessidade de existir o teste condicional
anterior.

Em outras palavras, pega-se a posio que inicia o termo n+1 e subtrai-se da posio que
inicia o termo n. A diferena desses dois nmeros o tamanho da sequncia de texto a ser
extrada. No nosso caso, ser feita a conta 23 - 14 , que igual a 9, o nmero de caracteres
que Gualberto possui.

O artigo a seguir demonstra como se extrai nmeros de uma sequncia composta de texto e
nmeros. Ver artigo: Extrair Sequncia Numrica de Expresso Alfanumrica.

Substituir Texto por Outro Texto

O Excel possui duas funes nativos para substituio de texto:

SUBSTITUIR - Troca um texto por outro. Utilize essa funo quando souber qual sequncia de
caracteres ser trocada.

MUDAR - Troca um texto por outro. Utilize essa funo quando souber qual a posio da
sequncia de caracteres a ser trocada.

Veja os exemplos a seguir:


=SUBSTITUIR(A1;"Costa";"Barriga")

=SUBSTITUIR(A1;"Costa";"Barriga";2)

A funo SUBSTITUIR possui trs ou quatro parmetros. Na linha 2, foram usados trs
parmetros: o texto a ser substitudo, a sequncia de texto a ser substituda e o texto que ir
substituir. Note que todas ocorrncias de Costa foram substitudas por Barriga. Na linha 3, um
quarto parmetro utilizado (nmero 2), que significa que apenas a segunda ocorrncia
encontrada de Costa ser substituda por Barriga.

Para funo MUDAR:

=MUDAR(A1;8;5;"Matos")

=MUDAR(A1;14;0;"Matos ")

A funo MUDAR apresenta trs parmetros: o texto a ser substitudo, a posio inicial de
onde comear a substituio, o nmero de caracteres que sero substitudos e a sequncia
de caracteres que entrar no lugar.

No costumo usar muito MUDAR, e sim SUBSTITUIR. Normalmente, quando uso MUDAR,
da forma como mostrado na linha 5, quando quero adicionar uma palavra no meio de uma
sequncia de caracteres.

Retornar Posio de Texto Dentro de Outro Texto

O Excel possui duas funes nativas para busca de posio de um texto dentro de outro:

PROCURAR - Retorna o incio da posio de uma sequncia em um texto. Distingue


maisculas de minsculas e no suporta uso de caracteres curingas.

PESQUISAR - O mesmo que PROCURAR, exceto que PESQUISAR no distingue maisculas


de minsculas e suporta caracteres curingas.

Veja o exemplo abaixo, utilizando as duas funes:


=PROCURAR("Gualberto";$A$1)

=PROCURAR("gualberto";$A$1)

=PROCURAR("Gu?lb*os";$A$1)

=PROCURAR("Costa";$A$1)

=PROCURAR("Costa";$A$1;9)

PROCURAR pode possuir dois ou trs parmetros. Se forem usados dois parmetros, o
primeiro corresponde expresso buscada e o segundo ao texto em que se busca a
sequncia. Caso uma sequncia no seja encontrada, o erro #VALOR! retornado.

Na linha 2, observe que Gualberto comea na posio 14 do texto. Isso justifica o valor
retornado pela frmula.

Observe (comparando linhas 2 com 3) que a funo no reconhece gualberto, apenas


Gualberto, pois distingue maisculas de minsculas. Em outras palavras, a correspondncia
deve ser exata.

Na linha 4, foram utilizados caracteres curingas. Um erro foi retornado porque PROCURAR
interpreta sequncias com caracteres curingas literalmente (se quiser saber sobre caracteres
curingas, me envie um e-mail).

Caso seja usado um terceiro parmetro (que se oculto, o valor padro 1), a sequncia ser
buscada a partir de uma posio especificada. Como na linha 5 foi oculta, a primeira
ocorrncia encontrada de Costa foi no caractere 8 do texto. No entanto, conforme linha 6, se a
busca comear a partir do caractere 9, tem-se outra ocorrncia de Costa apenas na posio
24.

Para PESQUISAR:

=PESQUISAR("Gualberto";$A$1)

=PESQUISAR("gualberto";$A$1)

=PESQUISAR("Gu?lb*os";$A$1)

=PESQUISAR("Costa";$A$1)

=PESQUISAR("Costa";$A$1;9)

PESQUISAR (ver linhas 8 e 9) retorna 14 para os casos Gualberto e gualberto porque,


diferentemente da funo PROCURAR, no faz distino entre maisculas e minsculas.

Observe tambm que na linha 10 o valor 14, corretamente retornado, diferente de quando se
tenta usar caracteres curingas com PROCURAR (que retorna um erro).

Em relao ao comportamento das linhas 11 e 12, semelhante ao da funo PROCURAR


presente nas linhas 5 e 6 da Planilha.

Retornar Posio da ltima Ocorrncia de um Caractere num Texto

Observe a figura abaixo:

Deseja-se saber qual a ltima ocorrncia de o no texto em A16.

A frmula utilizada :

=PROCURAR("^^";SUBSTITUIR(A16;A17;"^^";NM.CARACT(A16)-
NM.CARACT(SUBSTITUIR(A16;A17;""))))

A explicao da frmula :

Primeira conta-se quantas ocorrncias do caractere o, que dada pela expresso:

NM.CARACT(A16)-NM.CARACT(SUBSTITUIR(A16;A17;""))

O resultado 5. Veja a expresso a seguir:

SUBSTITUIR(A16;A17;"^^";NM.CARACT(A16)-NM.CARACT(SUBSTITUIR(A16;A17;"")))

Reescrevendo a expresso, alterando o valor da expresso conhecido para 5, temos:

SUBSTITUIR(A16;A17;"^^";5)

Dessa forma, deseja-se ento extrair a quinta ocorrncia da expresso por um caractere
diferente do original, algo que provavelmente no vai aparecer de nenhuma forma em sua
expresso, como ^^. O resultado dessa expresso ser:

"Felipe Costa Gualberto Costa Gualberto C^^sta"

Finalmente a frmula:

=PROCURAR("^^";"Felipe Costa Gualberto Costa Gualberto C^^sta")

Dessa vez, procura-se o incio de ^^ na expresso em verde, encontrando-se corretamente 41.

Essa funo til para extrair o nome de um arquivo a partir de um caminho, como pode-se
ver no exemplo abaixo:
A frmula :

=EXT.TEXTO(A28; PROCURAR("^^";SUBSTITUIR(A28;"\";"^^";NM.CARACT(A28)-
NM.CARACT(SUBSTITUIR(A28;"\"; ""))))+1; NM.CARACT(A28))

No exemplo anterior, retornado a posio do caractere o. Nesse exemplo, procura-se buscar


a ltima barra de diviso de caminho (\), que dado pela expresso:

PROCURAR("^^";SUBSTITUIR(A28;"\";"^^";NM.CARACT(A28)-
NM.CARACT(SUBSTITUIR(A28;"\"; ""))))+1

Neste caso, o valor 16+1=17. Note que o +1 usado porque deseja-se, futuramente, extrair
o caractere imediatamente aps a barra. Simplificando a frmula, temos:

=EXT.TEXTO(A28;17;NM.CARACT(A28))

Essa frmula extrai todos os caracteres do 17 caractere at o final do texto e o resultado


retornado pasta1.xlsx.

Retornar Posio de ltima Ocorrncia de uma Palavra num Texto

Observe a figura abaixo:

A frmula utilizada para extrair a ltima ocorrncia de Costa no texto :

=PROCURAR("^^";SUBSTITUIR(A22;A23;"^^"; (NM.CARACT(A22)-
NM.CARACT(SUBSTITUIR(A22;A23;"")))/NM.CARACT(A23)))

A explicao semelhante da subseo anterior. Primeiro contam-se quantas ocorrncias de


Costa existem no texto:

(NM.CARACT(A22)-NM.CARACT(SUBSTITUIR(A22;A23;"")))/NM.CARACT(A23)

O resultado da expresso 3. Simplificando-se a frmula, tem-se a expresso:

=PROCURAR("^^";SUBSTITUIR(A22;A23;"^^";3))
A terceira (e ltima) ocorrncia de Costa ser substituda por ^^, e por fim PROCURAR
identifica a posio do incio da sequncia.

Referncias

Frank Kabel - http://www.dailydoseofexcel.com/archives/2004/12/15/string-manipulation-with-


worksheet-formulas-part-2/

John Walkenbach - Microsoft Excel 2010 Bible

Para fazer o download da Pasta de Trabalho com todos os exemplos, clique aqui.

---

Site de Felipe Costa Gualberto.

Belo Horizonte, Brasil, 2009-2013.

You might also like