Uma família de softwares de planilhas da Microsoft com ferramentas para analisar, criar gráficos e comunicar dados.
Perfeito.
Fico no aguardo, este tema muito me interessa.
Forte abraço,
Não há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Bom dia!
Esta vai ser a primeira de uma série de dicas que pretendo postar na comunidade Microsoft.
Espero que elas ajudem os usuários da comunidade.
Vamos lá:
Suponha que você tenha várias linhas na coluna A em uma planilha com nomes de pessoas mais alguns números e outros caracteres, como mostrado nos dois exemplos a seguir:
76951 21/9/1953 JOSÉ ANTONIO PIRES 02,00 00,53 37,50 40,03 47
76951 21/9/1953 josé antONIO PIRES 02,00 00,53 37,50 40,03 48
E você precise extrair somente os nomes de pessoas para as células na coluna B.
Uma possível solução para o respectivo problema seria a seguinte:
1-Crie uma tabela ajustada e resumida de códigos numéricos do conjunto de caracteres de computador (veja a figura abaixo) em uma área vazia da sua planilha. (por exemplo D1:E13). Vale lembrar, que a referida tabela pode ser ajustada as suas necessidades (incluir ou excluir caracteres válidos para os nomes).
2-Crie um intervalo nomeado TabCodigo somente para os dados da respectiva tabela (região D3:E13).
3-Supondo que os dados de origemestão a partir da célula****A2 na planilha (veja a figura anterior), crie a seguinte fórmula matricial na célula B2:
=EXT.TEXTO(ESQUERDA(A2;MÁXIMO(SE(ÉNÚM(1/PROC(CÓDIGO(EXT.TEXTO(MAIÚSCULA(A2)&REPT(" ";100);LIN($1:$100);1));TabCodigo));LIN($1:$100))));
MÍNIMO(SE(ÉNÚM(1/PROC(CÓDIGO(EXT.TEXTO(MAIÚSCULA(A2)&REPT(" ";100);LIN($1:$100);1));TabCodigo));LIN($1:$100)));100)
Observação importante: para entrar com a respectiva fórmula você deve pressionar Ctrl+Shif+Enter e não somente Enter. Caso você utilize somente o Enter para entrar com a fórmula, obterá o erro #VALOR!
4-Copie a fórmula para as demais células da coluna B e veja o resultado.
Até a próxima,
Markmzz
Uma família de softwares de planilhas da Microsoft com ferramentas para analisar, criar gráficos e comunicar dados.
Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.
Perfeito.
Fico no aguardo, este tema muito me interessa.
Forte abraço,
Boa tarde Paulo,
Se o padrão citado por você for o mesmo em todas as células do intervalo, seria uma solução mais simples e sem a necessidade da Fórmula Matricial.
O meu objetivo com a Fórmula Matricial do respectivo exemplo é mostrar uma série de recursos do Excel que são pouco conhecidos e utilizados.
Assim que tiver mais tempo, devo postar uma explicação detalhada (passo-a-passo) da Fórmula Matricial utilizada por mim.
Markmzz
Boa tarde Markmzz,
Caso a estrutura semelhante entre os itens sejam os mesmos, detectei as seguintes regras entre as 2 linhas de exemplo:
76951 21/9/1953 JOSÉ ANTONIO PIRES 02,00 00,53 37,50 40,03 47
76951 21/9/1953 josé antONIO PIRES 02,00 00,53 37,50 40,03 48
2 espaços antes do nome (entre o código inicial e início do nome);
Teremos vírgula apenas após o nome, exatamente 4 caracteres depois do nome;
Caso estes itens citados forem regras em todas as linhas poderíamos usar a seguinte solução de funções aninhadas.
=EXT.TEXTO(A2;LOCALIZAR(" ";SUBSTITUIR(A2;" ";"|";1))+1;LOCALIZAR(",";A2)-LOCALIZAR(" ";SUBSTITUIR(A2;" ";"|";1))-3)
Não precisaríamos então usar funções matrizes,
O que achou ?
Aguardo comentários,
Abraços,
Bom dia!
Criei uma nova versão (com uma pequena alteração na tabela de códigos e na fórmula).
Nova fórmula:
=EXT.TEXTO(ESQUERDA(A2;MÁXIMO(SE(ÉNÚM(PROC(CÓDIGO(EXT.TEXTO(MAIÚSCULA(A2)&REPT(" ";100);LIN($1:$100);1));TabCodigo));LIN($1:$100))));
MÍNIMO(SE(ÉNÚM(PROC(CÓDIGO(EXT.TEXTO(MAIÚSCULA(A2)&REPT(" ";100);LIN($1:$100);1));TabCodigo));LIN($1:$100)));100)
Markmzz