Dica – Excel e Expressões regulares

Por João Lopes para o PPLWARE

Na sequência da rubrica  Domingo é dia de dicas do Microsoft Word, decidi escrever uma pequena dica de como usar o Microsoft Excel juntamente com expressões regulares.

O PDF é um formato muito popular hoje em dia, sendo comum existir alguma aplicação que leia este formato em qualquer computador pessoal ou de uso público. Existem inúmeras ferramentas que convertem os nossos documentos para este formato, mas quando o que queremos é o contrário, as coisas nem sempre correm como gostaríamos.

excel_00

Suponhamos que, tal como me ocorreu, gostaria de copiar uma pauta escolar recebida em PDF e calcular a média das notas. Quando tentei fazer isso, o formato da tabela perdeu-se completamente!

Para tabelas pequenas, é viável fazer tudo manualmente, mas no caso de pautas com dezenas ou centenas de linhas, torna-se extremamente penoso faze-lo. O problema acentua-se nos casos em que cada registo da tabela tem um número diferente de palavras, como mostra este exemplo. É aqui que entram as Expressões Regulares.

Queremos apagar tudo o que está antes do campo Turma, inclusive. Para começar, copiamos tudo para o Excel e abrimos a janela de pesquisa com CTRL + L (atalho da versão portuguesa).

excel_01

Para este exemplo, vou inserir «*T?» no campo “Localizar” e vou deixar o campo “Substituir” em branco, para eliminar todas as ocorrências. Esta expressão tem um significado especial. O asterisco tem o significado de “qualquer sequência de caracteres”, a letra T é lida literalmente e o ponto de interrogação é lido como “um carácter qualquer”. Na prática, esta expressão corresponde a dizer “todos os caracteres até uma letra T, mais o caracter seguinte”.

Depois só temos de substituir todas as vírgulas por pontos, se necessário, e temos finalmente uma coluna só com a informação pretendida!

excel_02

O uso de expressões regulares está disponível em diversas aplicações além do Excel. A título de exemplo, posso indicar os programas da família Libre Office, ou o Notepad++. Para quem quiser averiguar um pouco mais sobre expressões regulares, sugiro a consulta da tabela seguinte.

Homepage: List of Regular Expressions

  
     Pin It  

Arquivado na categoria: Truques & Dicas


15 Comentários

  1. Excelente dica :) Não conhecia.

    Mas penso que o colar especial nalguns casos também funciona.

  2. Expressões regulares são potentes!!!!

  3. Por acaso, tive necessidade de utilizar expressões regulares na função VLOOKUP mas não consegui.

    Desenvolvi umas macros em VBA (Excel), Perl (gnumeric) e OfficeBasic (LibreOffice) para ter esse comportamento.

    Se alguém souber como se faz VLOOKUPs com regexp, apite! Tudo o que seja para simplificar é bem vindo!

  4. Boa dica e ilustrativa do uso das expressões regulares.
    Neste exemplo é mais fácil selecionar no PDF apenas a coluna pretendida (clicando e arrastando o rato), fazer cópia e depois colar na folha Excel.

  5. Ainda na aula passada o professor da Teoria de Computação falou-nos nisto e usou o exemplo do word e excel. Parece-me que as ER são algo potente.

  6. Eu uso um programa chamado Able2Extract Pro que funciona que é uma maravilha.

  7. Isso é que era uma rubrica de excel em paralelo com a do Word, mas eu sei que pedir é facil.
    Bom trabalho, parabens

  8. Boa!!! Considero-me um utilizador avançado de Excel e não conhecia as expressões regulares…
    Agora um desafio: como é que replicas a mesma pauta em excel, ou seja, como é que voltas a ter os diferentes campos em colunas?

    • Assim de repente… estou a ver uma forma.
      Usas esta forma para te veres livre da coluna do Número e do Nome, e depois usas a ferramenta de conversão de texto para colunas do Excel, usando o espaço como separador. Depois colas uma nova tabela igual a esta, e livras-te de tudo o que vem a seguir ao T maiúsculos, inclusive, ficando apenas com o Nome e o Número. Mais uma vez, usa o Excel para separar em colunas. Vais é ficar com muitas colunas para o nome, que podes unir, não sei como, agora :D

      • Agora sei eu :) usas a função concatenate para juntar as várias células necessárias.
        Ex:
        =concatenate(b2;” “;c2;” “;d2)

        A minha maior dificuladade seria a de partir em colunas dado que o nome do aluno tem um conjunto variável de palavras.

  9. isso que foi aplicado no exemplo não se trata de mais nada do que “caracteres coringas” que existem desde as versões de 1980 para MS-DOS que já processam.

    Tal procedimento do Excel “não comporta” expressões regulares, que pela definição de “Expressões regulares” se extende muito mais adiante do que foi apresentado aqui.

Deixe o seu comentário

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste site reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.