FiltroXML Excel

MR
Marcos Rieper

Especialista em Excel

16 de março de 2022 Atualizado 08 de julho de 2026 3 min de leitura
FiltroXML Excel capa

Veja como funciona a função FiltroXML Excel.

No artigo nós mostramos duas formas de a utilizar, para junto com a função serviçoweb retornar dados da web e também com um exemplo de como fazer "split", texto para colunas, dividir dados de uma célula separados por delimitadores em várias células.

FiltroXML e ServiçoWEB Consultar WebService no Excel

No Excel há uma função chamada ServiçoWeb, ela permite que sejam retornados dados de um webservice de uma forma muito simples.

O webservice no nosso exemplo é de um site chamado http://republicavirtual.com.br/web_cep.php?cep=89201280, mas poderia ser também o viacep.com.br/ws/01001000/xml/.

Estes links acima retornam os dados de um endereço a partir do CEP informado.

Este retorno vem em formato XML.

Podemos usar a função serviçoweb do Excel então para retornar, veja um exemplo:

=SERVIÇOWEB("http://republicavirtual.com.br/web_cep.php?cep=89201280")

No exemplo acima a fórmula faz uma consulta direta do cep 89201280 no republicavirtual.

Note que é passado apenas o endereço do site e o CEP.

O retorno que se tem então é:

<?xml version="1.0" encoding="iso-8859-1" ?>
<webservicecep>
<resultado>1</resultado>
<resultado_txt>sucesso - cep completo</resultado_txt>
<uf>SC</uf>
<cidade>Joinville</cidade>
<bairro>Centro</bairro>
<tipo_logradouro>Travessa</tipo_logradouro>
<logradouro>Sergipe</logradouro>
</webservicecep>

No Excel ele parecerá estar em uma linha só.

Como pode notar os dados estão ali separados por tags, como por exemplo <uf> e </uf>.

Isso significa que a informação entre estas duas tags é a UF, a de cidade está em <cidade> e <cidade> e assim por diante.

Para separar estes dados utilizamos então a função chamada FiltroXML.

Ela permite que realizemos a extração dos dados do XML que estão entre as tags.

Veja o exemplo de aplicação da ServiçoWeb e da FiltroXML em conjunto:

=FILTROXML(SERVIÇOWEB("http://republicavirtual.com.br/web_cep.php?cep=89201280");"//uf")

Perceba que ela tem dois parâmetros:

=FILTROXML(xml;xpath)

No primeiro passamos o XML, que é a informação do retorno do webservice e em xpath passamos usando // e a tag que desejamos, por exemplo //uf.

Importante, tem que ser escrito da mesma forma o nome da tag, minúsculo e maiúsculo porque é case sensitive esta função.

Por fim, montamos então a fórmula seguinte:

=FILTROXML(SERVIÇOWEB("http://republicavirtual.com.br/web_cep.php?cep="&$B8);"//"&SUBSTITUIR(MINÚSCULA(C$7);" ";"_"))

Nela usamos também a célula do cabeçalho aonde tem o nome do campo que desejamos retornar e usamos o substituir para trocar os espaços por _ conforme o retorno que temos do xml.

filtroxml

Ao aplicar a fórmula em todas as colunas temos então:

filtroxml excel

FiltroXML para Dividir Texto Separado por Vírgulas

No outro exemplo temos então a separação dos dados por ponto e vírgula em uma célula e queremos que estes dados sejam separados em outras células.

Veja que na coluna Lista temos dados de texto separados por ponto e vírgula, aonde temos nomes.

Queremos que estes nomes venham para as colunas 1, 2, 3, 4, 5 da tabela.

Para isso podemos fazer uso da função FiltroXML, veja o exemplo.

O FiltroXML só funciona com tags, como vimos antes, por exemplo <a> e </a> e <b> e </b>.

Por isso o nosso objetivo inicial é converter o texto abaixo:

marcos;henrique;thiago;josé

em:

<a><b>marcos</b><b>henrique</b><b>thiago</b><b>josé</b></a>

Porque com os dados neste formato conseguiremos extrair as informações.

Então para isso usamos a função abaixo inicialmente:

"<a><b>&SUBSTITUIR($B8;";";"</b><b>")&"</b></a>"

Com isso temos então a conversão dos dados para o formato que desejamos.

E após isso usamos a função FiltroXML para separar os dados como fizemos antes, separando por //b.

E também usamos o ÍNDICE parar retornar a posição desejada:

=SEERRO(ÍNDICE(FILTROXML("<a><b>"&SUBSTITUIR($B8;";";"</b><b>")&"</b></a>";"//b");C$7);"")

A função índice permite então que retornemos o primeiro tag, segundo, terceiro, quarto, etc.

Pegamos então a célula C7, C8, C9... que tem estes números e aplicamos na função acima.

E como resultado temos então:
filtroxml excel

Download

Clique no botão abaixo para realizar o  download da planilha de filtroxml Excel, com exemplo de dados:

Download — baixe aqui: FiltroXML Excel

Preencha seus dados para receber o link de download no seu e-mail.

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado