Você está na página 1de 127

Srie Como Fazer: Excel 2007

Tabelas Dinmicas
por Robert Friedrick Martim

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Nota sobre direitos autorais


Este eBook de autoria de Robert F Martim, sendo comercializado atravs do site
www.juliobattisti.com.br www.mercadolivre.com.br.

ou

atravs

do

site

de

leiles

Mercado

Livre:

Ao adquirir este eBook voc tem o direito de l-lo na tela do seu computador e de imprimir quantas cpias desejar, desde que sejam para uso pessoal. vetada a distribuio deste eBook, mediante cpia ou quaisquer outros meios de reproduo, para outras pessoas. Se voc recebeu este eBook atravs de e-mail ou via FTP de algum site da Internet, ou atravs de CD de Revista, saiba que voc est com uma cpia pirata, no autorizada. Se for este o seu caso entre, em contato com o autor atravs do e-mail rm@msofficegurus.com ou comunique diretamente ao nosso site atravs do e-mail webmaster@juliobattisti.com.br. Ao regularizar a sua cpia, voc estar remunerando, mediante uma pequena quantia, o trabalho do autor e incentivando que novos trabalhos sejam disponibilizados. Visite periodicamente o site www.juliobattisti.com.br para ficar por dentro das novidades!

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

ii

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Pr-requisitos
Para completar este curso, voc precisa conhecer o ambiente de trabalho Excel 2003 e possuir uma cpia do Excel 2007. Uma verso Trial pode ser baixada do site da Microsoft. Neste mdulo discutirei como utilizar os novos recursos da Tabela Dinmica no Excel 2007.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

iii

Desenvolvimento inteligente

Objetivos deste eBook


Este mdulo visa introduo dos novos recursos da Tabela Dinmica do Excel 2007. O trabalho foi desenvolvido a partir da demanda dos usurios do site www.juliobattisti.com.br. O material procura analisar questes pertinentes ao dia-a-dia de seu trabalho. A linguagem utilizada descontrada e com o mnimo de jargo possvel. O objetivo ter um ebook com contedo relevante e de fcil compreenso. Quaisquer dvidas referentes a este mdulo podem ser colocadas diretamente no frum Excel no endereo www.juliobattisti.com.br/forum/ Comentrios e sugestes para melhora do material podem ser enviados diretamente para o autor no endereo rm@msofficegurus.com

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

iv

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

NDICE ANALTICO
Introduo ....................................................................................................................................1 Bem-vindo a srie Como Fazer...........................................................................................1 Antes de continuar ................................................................................................................1 1. Algumas novidades do Excel 2007 ....................................................................................2 1.1. Lista das novidades e seus benefcios..........................................................................4 1.1.1. Faixa de Opes .............................................................................................. 4 1.1.2. Mais linhas e colunas ....................................................................................... 4 1.1.3. Ordenao simultnea de campos ................................................................... 4 1.1.4. Nova formatao condicional ........................................................................... 5 1.1.5. Novas funes.................................................................................................. 5 1.1.6. Visualizao Dinmica ..................................................................................... 5 1.1.7. Layout da Pgina ............................................................................................. 5 1.1.8. Estilos de formatao ....................................................................................... 5 2. Compreendendo Tabelas Dinmicas .................................................................................7 2.1. TDs, Tabelas e matriciais: como obter resultados iguais ............................................ 12 2.2. Atualizacao de dados ................................................................................................. 16 3. Tabelas dinmicas no Excel 2007: o que h de novo? ................................................... 17 3.1. Acessando a ferramenta de tabela dinmica .............................................................. 17 3.2. Ferramentas de Tabela Dinmica: Tabset de Extensibilidade .................................... 18 3.3. Adicionando suas prprias ferramentas ao Tabset de Extensibilidade ....................... 18 3.4. Lista de campos da tabela dinmica ........................................................................... 20 3.5. Acessando as opes da tabela dinmica .................................................................. 21 4. Compreendendo os elementos de uma Tabela Dinmica .............................................. 24 4.1. Elementos de uma Tabela Dinmica .......................................................................... 24 4.2. Onde devo ir para inserir uma tabela dinmica? ......................................................... 27 4.3. Onde foi parar o Assistente de Tabela Dinmica no Excel 2007? ............................... 28 4.4. Opes da tabela dinmica ........................................................................................ 31 4.4.1. 4.4.2. 4.4.3. 4.4.4. 4.4.5.
Autor: Publicado: Contato:

Layout e Formato ........................................................................................... 31 Totais e filtros ................................................................................................. 34 Exibio ......................................................................................................... 35 Impresso ...................................................................................................... 37 Dados ............................................................................................................. 37
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

4.5. O que uma tabela unidimensional de campo nico? ................................................ 38 4.6. O que uma tabela bidimensional de campo nico? .................................................. 38 4.7. O que uma tabela unidimensional e bidimensional de mltiplos campos? ............... 38 4.8. Adicionando campos tabela dinmica: mtodo clssico e novo ............................... 39 4.9. Removendo campos da tabela dinmica .................................................................... 41 5. Compreendendo as fontes de dados para Tabelas Dinmicas ...................................... 42 5.1. Banco de dados ou lista do Microsoft Office Excel ..................................................... 42 5.2. Fonte de dados externos ............................................................................................ 44 No caso anterior, ns utilizamos a fonte externa para alimentar a TD diretamente. ............ 46 5.3. Vrios intervalos de consolidao............................................................................... 46 5.4. Outro relatrio de tabela dinmica ou de grfico dinamico.......................................... 51 6. Formatao ........................................................................................................................ 53 6.1. Estilos de Tabela Dinmica ........................................................................................ 53 6.2. Formatando campo..................................................................................................... 55 6.3. Layout do relatrio de tabela dinmica ....................................................................... 55 6.4. Preservando formatao ............................................................................................ 57 6.5. Modificando nome de campos .................................................................................... 58 7. Trabalhando com campos ................................................................................................ 59 7.1. Trabalhando com campos de linha e de coluna .......................................................... 59 7.2. Trabalhando com sumrios e subtotalizaes: subtotais simples e mltiplos ............. 62 7.2.1. Modificando o tipo de subtotal apresentado (mostrar como % do total, etc) ... 64 7.3. Utilizando data base para comparar valores (gastos de um trimestre base comparados com outro) .................................................................................................................. 68 7.4. Trabalhando com ndices (comparao relativa) ........................................................ 72 7.5. Trabalhando com campos e itens calculados ............................................................. 74 7.5.1. 7.5.2. 7.5.3. 7.5.4. 7.5.5. O que um campo ou item calculado? .......................................................... 74 Criando um campo e/ou item calculado .......................................................... 77 Editando/Excluindo campos/itens calculados ................................................. 81 Determinando ordem de clculo ..................................................................... 82 Determinando ordem de apresentao .......................................................... 83

7.6. Determinando os Top 10 (os 10 Primeiros) ............................................................ 85 8. 9. Salvando a TD como um documento HTM interativo ..................................................... 87 Tabulando dados de Pesquisas com TDs ....................................................................... 88 9.1. Tabulando e analisando dados de uma pesquisa de opinio: cenrio 1 tabulao global .......................................................................................................................... 88
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

vi

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

9.2. Tabulando e analisando dados de uma pesquisa de opinio: cenrio 2 tabulao por cidade ......................................................................................................................... 93 10. Tabelas dinmicas e VBA ................................................................................................. 98 10.1. Gravando uma macro ................................................................................................. 98 10.2. Adicionando uma nova tabela dinmica.................................................................... 100 10.2.1. Adicionando uma nova tabela dinmica em uma nova pasta de trabalho ..... 101 10.3. Adicionando uma nova tabela dinmica utilizando os objetos PivotTable e PivotCache 103 10.4. Adicionando campos a TD usando VBA: orientao de campos............................... 104 10.4.1. 10.4.2. Removendo campos de uma TD .................................................................. 107 Adicionando campos via matriz (Array) ........................................................ 107

10.5. Copiando valores de uma TD e colando como valores fixos e desconectados ......... 108 10.6. Clculo manual ou automtico? ................................................................................ 110 11. Problemas em potencial ................................................................................................. 111 11.1. Campos nulos (vazios) e em brancos: qual a diferena e como determin-la? ......... 111 11.2. Descontinuidade nos dados...................................................................................... 114 11.3. A funo INFODADOSTABELADINMICA .............................................................. 116 12. Sobre o autor ................................................................................................................... 118

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

SRIES: COMO FAZER Excel 2007

Tabelas Dinmicas
por Robert Friedrick Martim

Introduo
Bem-vindo a srie Como Fazer. Nas sries que sero escritas olharemos aspectos distintos do Excel 2007 de acordo com a demanda do site Jlio Battisti (http://www.juliobattisti.com.br). A inteno principal fornecer ao internauta uma ferramenta que concentre a ateno na soluo de um problema especfico. Neste mdulo veremos como utilizar as novas ferramentas de Tabela Dinmica no Excel 2007 e como aplic-las aos mais variados problemas encontrados no nosso dia-a-dia.

Antes de continuar Sugestes sero sempre bem-vindas e esperamos que o leitor participe pro ativamente no desenvolvimento do material aqui apresentado. Finalmente, todo um esforo foi feito para assegurar que o material aqui apresentado est livre de qualquer erro, mas no improvvel evento de encontrar algo errado, por favor, no deixe de me comunicar, pois terei prazer em revisar o material imediatamente.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

1.

Algumas novidades do Excel 2007

Iniciaremos fazendo um reconhecimento da nossa rea de trabalho. O novo Office mudou bastante a sua cara e para aqueles que se acostumaram com os antigos menus o novo visual pode ser um choque tremendo. No obstante, uma vez que voc aprenda a nova interface, voc comear a ver os benefcios que ela nos traz. O primeiro benefcio que a maioria dos comandos agora fica agrupada no RibbonX (Faixa de Opes) e no enterrados em algum local obscuro do Excel. Alm disso, o RibbonX sensvel ao contexto e ir adicionar novas guias dependendo do que voc esteja fazendo. Como o RibbonX ocupa bastante espao, quanto maior for a resoluo de seu monitor melhor ser o benefcio da Faixa de Opes:

Figura -1 Faixa de Opes em baixa resoluo agrupa ainda mais os itens de um grupo 1

A figura acima mostra a Faixa de Opes com uma resoluo menor. Note que o grupo que usaremos (grupo Estilo) compresso e, portanto, no possvel saber o que h nele at que o mesmo seja expandido. Em uma resoluo maior ns temos uma rea bem mais visvel da Faixa de Opes e o grupo que usaremos exposto:

Figura -2 Faixa de Opes em maior resoluo expande grupos 1

Assim sendo, quanto maior for sua resoluo maior ser o benefcio da Faixa de Opes.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

A ferramenta de formatao condicional pode ser rapidamente acessada na guia Incio no grupo Estilo conforme mostra a figura abaixo:

Figura -3 Acessando a ferramenta de formatao condicional 1

Note a pequena seta para baixo no boto de formatao condicional. Este pequeno boto nos permite expandir as opes disponveis no boto. Este boto, na verdade, funciona como os antigos menus popups os quais expem novos clicveis os abrem novos clicveis ou executam algum tipo de comando:

Figura -4 Expandindo a opo de formatao condicional 1

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Antes de continuar, porm, abro um curto subtpico para discutir algumas novas questes do Excel 2007. Estas novas questes iro lhe ajudar a compreender melhor a nova verso.

1.1. Lista das novidades e seus benefcios Vamos das uma rpida olhada nas novidades do Excel 2007 e seus benefcios (ou no benefcios) para os usurios novos e antigos. Para facilitar a identificao, quebro a lista para que a mesma possa ser encontrada a partir do ndice analtico.

1.1.1.

Faixa de Opes

Faixa de Opes (ou RibbonX) uma das primeiras novidades que qualquer usurio notar. A grande vantagem da Faixa de Opes que ele agrupa tarefas comuns e expe os controles que o usurio precisa para resolver um problema qualquer. A Faixa de Opes sensvel ao contexto e a ela so adicionadas novas guias e controles dependendo do trabalho que voc esteja fazendo. A grande desvantagem da Faixa de Opes o espao que ela ocupa. Portanto, quanto maior a resoluo de seu monitor mais voc se beneficiar dela.

1.1.2.

Mais linhas e colunas

O novo Excel possui 1.048.576 linhas por 16.384 colunas, dando um total de mais de 17 bilhes de clulas para o leitor brincar vontade. Para os que achavam 65.536 linhas por 256 colunas pouco, o choro pode terminar agora. O leitor pode rapidamente checar o nmero de linhas e colunas utilizando o cdigo abaixo:
Sub linhasColunas() Cells(1, 1) = ActiveSheet.Rows.Count Cells(1, 2) = ActiveSheet.Columns.Count End Sub

1.1.3.

Ordenao simultnea de campos

Uma reclamao antiga do Excel era a possibilidade de apenas ordenarmos trs campos, no mximo. bem verdade que podemos ordenar mais de trs campos utilizando um mtodo nada ortodoxo e lento, contudo, o novo Excel nos permite ordenar at 64 campos simultaneamente.
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Provavelmente, voc se perder na ordenao l pelo quinto campo e ter que confiar no resultado final, no obstante, a nova possibilidade extremamente bem-vinda.

1.1.4.

Nova formatao condicional

A nova formatao condicional, o assunto deste curso, est show de bola. Para aqueles que amam formatao condicional e as usam para identificar tudo que tipo de coisa no Excel, a nova interface da FC est nota 1000. No princpio pode parecer um pouco complexa, mas uma vez que voc domine os novos conceitos desta ferramenta voc ver como ela bastante ilimitada.

1.1.5.

Novas funes

O Excel 2007 agora possui novas funes que resolvem muitos dos problemas que antes tiravam o sono de muitos usurios como o caso de soma condicional.

1.1.6.

Visualizao Dinmica

Permite visualizar o resultado de uma formatao antes que ela seja aplicada. Recurso muito til na hora de darmos o toque final ao nosso trabalho.

1.1.7.

Layout da Pgina

Para os usurios de Word que amam o layout de impresso, agora, ficou muito mais fcil formatar a sua planilha com o Layout da Pgina.

1.1.8.

Estilos de formatao

Com os novos estilos de formatao ficou bastante simples dar aquele toque profissional ao seu trabalho no Excel. Basta selecionar um dos vrios estilos da galeria e aplic-lo. Sem contar que com a Visualizao Dinmica voc ver o resultado antes de aplicar o estilo. Estas so apenas algumas das mais variadas novidades do novo Excel. Infelizmente, o espao aqui curto para discutir cada uma delas, mas acredito que os pontos acima dem ao leitor uma viso geral do que esperar da nova verso.
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Feita as introdues vamos ao que interessa: formatao condicional e validao de dados.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

2.

Compreendendo Tabelas Dinmicas

A principal razo para usarmos Tabelas Dinmicas que elas nos permitem analisar grandes quantidades de dados de forma significativa. Tabelas Dinmicas nos permitem trabalham com uma massa de dados que seria indecifrvel ou insignificativa em sua ausncia. Ns podemos, por exemplo, organizar, subtotalizar, agrupar, etc, de forma simples e rpida atravs de Tabelas Dinmicas. Esta organizao, subtotalizao, agrupamento, etc, no se restringe a dados contidos em uma planilha Excel. Uma tabela dinmica pode utilizar dados de banco de dados externo ou consultas pr-definidas. A importncia desta caracterstica se torna evidente quando o total de registros excede o limite de uma planilha Excel. Com o Excel 2007, o total de registros aumentou, mas mesmo assim devemos lembrar que o Excel no um banco de dados e no deve ser utilizado para esta finalidade. O nome Tabela Dinmica no faz jus ao nome original em ingls: Pivot Table (ou Tabela Pivotante). A razo para este nome em ingls to singela quanto o nome: quando temos um objeto complexo em nossas mos, como um Cubo Mgico (Cubo de Rubik) ns o giramos de vrias formas analisando-o por diversos ngulos. Com uma tabela dinmica, ns fazemos o mesmo; porm, com uma massa de dados ao invs de um cubo. Suponha, por exemplo, que voc responsvel pelo almoxarifado e deseja criar um banco de dados para controlar estoque. Voc deveria utilizar o Access e posteriormente analisar os dados no Excel, contudo, como o Excel o mais popular entre os aplicativos do Office, ele acaba virando um PPO (Pau Para toda Obra). Se este o seu caso ou voc no tem acesso ao Access, ento importante que voc conhea bem as ferramentas que o Excel possui para que voc possa tomar controle dos pontos fortes e fracos do Excel. Principalmente em dominar os pontos fortes para tirar o melhor proveito do aplicativo e conhecer os pontos fracos para que eles no causem danos ao seu trabalho. Certamente que gravar os dados no resolve outros problemas ou responde outras perguntas importantes sobre o seu estoque. Se voc conhece os dados, voc ser capaz de construir anlises mais complexas e detalhadas sobre o mesmo. Voc poder fazer um controle maior sobre o que sai e entra, efetivamente reduzindo custo e mantendo uma boa rotatividade de produtos perecveis. Voc poder criar uma anlise comparativa por setor, produto consumido,
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

quem solicitou a baixa, com que freqncia algum solicita uma baixa, cruzar dados entre setores, solicitantes, produtos e poca de baixas e compras, e uma pletora de outras perguntas complexas que podem ser facilmente respondidas atravs de uma tabela dinmica. E se voc acha que o exemplo acima complexo para um simples almoxarifado, imagine uma distribuidora com diversos escritrios espalhados pelo pas? Como conciliar e analisar a distribuio, as vendas por regio e por vendedor? Como saber o percentual de vendas de cada regio em relao ao total da empresa como um todo? Ou como saber dentro disso tudo quem foi o melhor vendedor e qual foi o produto mais vendido? Como cruzar todos estes dados por todas as regies do pas e analisar cada detalhe? Aqui, se voc alguma vez criou uma consulta circular no Excel (uma consulta que retorna dados dentro da prpria pasta que funciona como a fonte de dados), voc chegar concluso que ela ser incapaz de responder tantas perguntas simultaneamente. Voc precisaria de diversas consultas que analisassem cada situao e depois ficar como louco cruzando tais consultas para chegar ao nvel de detalhe que estou falando. Sem contar a redundncia dos dados, pois voc estaria simplesmente filtrando dados dentro da planilha que j contm os dados! J imaginou o caos? Se seu chefe pedisse uma mdia ponderada no cenrio da distribuidora acima, voc provavelmente iria ficar careca tentando resolver o problema num mar de nmeros. Com tabelas dinmicas talvez voc at arranque uma meia dzia de fios de cabelos, mas certamente no ficar careca por causa disso. E como funciona uma tabela dinmica1?

Na maioria dos casos abreviarei Tabela Dinmica para TD.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

A figura abaixo mostra uma tabela simples com alguns dados:

Figura -1 Dados de entrada para uma tabela dinmica 2

Os dados acima podem ser sumarizados em uma tabela dinmica da seguinte forma:

Figura -2 Soma da Venda Total para cada produto 2

Com a pequena tabela dinmica acima podemos facilmente ver os totais para as vendas de cada produto sem a necessidade de criarmos frmulas mirabolantes para somar por produto. Contudo, no temos os detalhes de cada venda. Aqui, podemos fazer algo similar ao que geralmente feito em um relatrio.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

10

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Se o nome do produto o cabealho e sob tal cabealho vem listado cada total de cada venda efetuada temos o seguinte cenrio:

Figura -3 Dados no agrupados em uma TD 2

Aqui, temos no cabealho cada produto com a lista das vendas e o total geral de vendas por produtos. O resultado basicamente o mesmo que o anterior, pois estamos interessados no total. Contudo, aqui, ainda temos os detalhes das vendas. Para situaes mais complexas, voc precisar criar filtro ou consulta que rena os dados crticos para anlise e utilizar a tabela resultante para criar a sua tabela dinmica no Excel. A traduo do ingls para o portugus talvez no faa jus ao original em ingls PivotTable. Embora a traduo para Tabela Pivotante possa ser feia acredito que ela faa mais jus ao real significado do que uma Tabela Dinmica realmente seja. Pivotante refere-se a algo que gira sobre um ponto fixo e exatamente isso que os dados fazem dentro de uma tabela dinmica. Os dados giram sobre o eixo da tabela e voc pode gir-los vontade sobre tal eixo.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

11

Desenvolvimento inteligente

Esta aparente simplicidade nos fornece resultados extremamente complexos. Alm disso, se os dados em um formato no resultam no sumrio que voc deseja voc pode simplesmente arrastar o campo para outro local dentro da tabela para rearranjar os dados. Em nossa tabela de dados tambm possumos datas. Datas em tabelas dinmicas tm papel crtico, pois com as datas podemos agrupar dados para anlise por perodos. Por exemplo, poderamos comparar as vendas ms a ms. Ou ano a ano. O tipo de agrupamento pode variar com a necessidade. Isso pode ser facilmente feito simplesmente arrastando o campo para a tabela:

Figura -4 Agrupamento por ms 2

Com o agrupamento por ms podemos rapidamente identificar que o produto A tem uma constncia maior nas vendas. Que em abril o nico produto vendido foi o produto A e novamente em julho. Estes tipos de respostas no podem ser obtidos diretamente do conjunto de dados, pois o resultado unidirecional2. E se voc no gosta da forma como os resultados so apresentados, pela caracterstica pivotante da tabela dinmica, voc pode simplesmente mover um dos campos para outra rea qualquer ou remov-lo da tabela:

Embora seja possvel criar uma frmula matricial ou tabela para representar tal cenrio.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

12

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -5 Agrupamento de todos os produtos 2

Em questo de segundos, voc cria outra apresentao dos dados sem esforo algum. Agora, junte a fora de filtros com consultas bem organizadas com tabelas dinmicas, e voc tem uma ferramenta de anlise de dados extremamente poderosa. Ao longo deste curso, voc notar que no existe uma forma correta de se criar uma tabela dinmica. Tabelas dinmicas so usadas para criar sumrios que nos ajudam a interpretar os dados. Como a tabela final feita depender da necessidade individual, do tipo de anlise sendo feita, e principalmente de sua compreenso dos dados. Na verdade, eu diria que o mais importante de tudo conhecer os dados. Sem conhec-los o seu trabalho ser muito mais complexo. Esta apenas uma introduo ao que possvel fazer com tabelas dinmicas. A seguir apresento os componentes de uma tabela dinmica e o que cada um faz antes de entrarmos na real criao das mesmas.

2.1. TDs, Tabelas e matriciais: como obter resultados iguais Mencionei antes que possvel simular um cenrio de uma tabela dinmica utilizando uma frmula matricial3 ou uma tabela. Apenas para matar a curiosidade, vejamos como isso feito. O conceito relativamente simples, embora o procedimento possa ser extramente complexo dependendo do tipo de dados e quantidade de dados que voc esteja lidando. Lembre-se que estou apenas dando um exemplo. No utilize este mtodo para efetuar clculos complexos, pois alm de trabalhoso consome muito mais de processamento do que uma TD.

Caso o leitor no tenha conhecimento sobre matriciais, veja o curso no link: http://www.juliobattisti.com.br/cursos/excelmatric/default.asp

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

13

Desenvolvimento inteligente

A primeira coisa que precisamos fazer definir nosso problema:

Figura -6 Configurando o clculo em tabela 2

Na clula C25 ns inserimos a frmula do clculo que desejamos efetuar (neste caso a soma por produto). Aqui, utilizo um formato geral similar a TD para facilitar a visualizao. Disponha os nomes dos produtos em uma coluna nica (vrias linhas por uma coluna) e defina o critrio (neste caso defini como sendo A na clula B23). Utilize o critrio na frmula para a soma baseado no critrio nico. Agora, siga os passos abaixo para criar a tabela: Selecione a rea B25:C29; V a guia Dados grupo Ferramentas de Dados Teste de Hipteses Tabela de Dados; Na nova janela que abrir, defina a clula de entrada da coluna como sendo B23; Clique OK.

Figura -7 Argumentos da tabela de dados 2

A figura acima mostra a caixa de entrada para a tabela. Aps clicarmos em OK, a tabela ser preenchida com as somas por produto:
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

14

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -8 Resultado do clculo de uma Tabela 2

A tabela utiliza dois argumentos: linha e coluna. Neste caso, temos apenas coluna como argumento da tabela. Os resultados so propagados para as demais clulas e obtemos o que procuramos. Podemos tambm adicionar um somatrio sob a tabela para criar o total geral:

Figura -9 Adicionando total geral tabela 2

Como podemos ver, obtemos exatamente o mesmo resultado que obteramos em uma tabela dinmica. Outra forma de efetuar os mesmos clculos seria utilizando uma funo de banco de dados, uma frmula matricial ou SOMASE. Por exemplo, abaixo utilizo a funo SOMASE:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

15

Desenvolvimento inteligente

Figura -10 Utilizando SOMASE 2

Como as reas so nomeadas, basta seleciona o nome do produto e as reas de dados e arrastar a frmula para baixo. Para a frmula matricial complica um pouco, pois o leitor precisa compreender de multiplicao de matrizes. O efetuar tal clculo faramos: Comparar nome do produto com o critrio (A, B, C e D) transposto; O resultado acima geraria uma matriz n x 4 (n linhas por 4 colunas, pois temos 4 produtos distintos); Transpomos tal resultado e o multiplicamos por 1 para obtermos uma matriz de zeros e uns com uma dimenso 4xn (4 linhas e n colunas); Multiplicaramos esta matriz de zeros e uns pela matriz contendo os valores totais para obtermos o que desejamos:

Figura -11 Utilizando matrizes em frmula matricial 2

Obtemos mais uma vez o mesmo resultado, mas com um nvel de complexidade muito maior. Sem contar que o cenrio aqui simples. Imagine um cenrio mais complexo com colunas, mltiplas linhas, cabealhos, etc?

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

16

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Seria o completo caos tentar resolver tais questes. Sem contar com a imprevisibilidade. E se o seu chefe resolve mudar tudo de posio? Portanto, embora seja possvel no nem um pouco recomendvel fazer algo to complexo utilizando mtodos manuais. O que vejo s vezes a argumentao de que uma TD no retorna no formato desejado. Se no retornar, no tem problema. Analise com a TD, depois copie e cole no formato desejado e mesmo assim ainda ser mais rpido, prtico e consumir menos recursos. No se apegue a detalhes que pouco ajudam na soluo do problema. Ataque o problema de frente e resolva-o. Depois, preocupe-se com questes de formatao e apresentao dos resultados.

2.2. Atualizacao de dados As informaes contidas em uma tabela dinmica no so atualizadas automaticamente, isto , caso ocorra uma mudana na fonte de dados esta mudana no ser refletida em sua TD. Este fato independe da localizao dos dados, ou seja, os dados podem estar na pasta de trabalho ou um servidor SQL remoto d no mesmo. Alm disso, pressionar F9 (recalcular) no recalcula ou atualiza a sua TD. Para atualizar os dados: 1. Clique direito sobre a TD e selecione Atualizar, ou; 2. Clique no boto Atualizar sob a guia Opes. Note que a TD precisa estar ativa para que esta guia esteja visvel, ou; 3. Determine um intervalo para atualizao nos casos de dados externos. Mais adiante no curso veremos como acessar esta opo.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

17

Desenvolvimento inteligente

3.

Tabelas dinmicas no Excel 2007: o que h de novo?

Neste tpico, discutirei as novidades da Tabela Dinmica no Excel 2007. A principal caracterstica que o leitor deve manter em mente diz respeito compatibilidade. Outra questo diz respeito ao acesso da ferramenta.

3.1. Acessando a ferramenta de tabela dinmica No Excel 2003 o acesso era feito pelo menu Dados. No Excel 2007 o acesso feito pela guia Inserir conforme mostra a figura abaixo:

Figura -1 Acessando a ferramenta de Tabela Dinmica 3

Como o acesso feito por uma guia diferente da guia de formatao, voc pode adicionar a ferramenta Barra de Ferramentas de Acesso Rpido (BAR). Para tanto, clique com o boto direito do mouse sobre o boto Tabela Dinmica. A opo de adio BAR ser exibida:

Figura -2 Adicionando o boto Tabela Dinmica BAR 3

Uma vez que o boto tenha sido adicionado BAR, o mesmo poder ser acessado rapidamente sem a necessidade de troca de guias:
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

18

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -3 Boto Tabela Dinmica adicionado BAR 3

NOTA: A forma como voc clica no boto determina qual elemento inserido. Note que o boto Tabela Dinmica , na verdade, um boto simples e um boto do tipo Split. No caso da figura acima o botao adicionado ao BAR o spliButton (boto split)

3.2. Ferramentas de Tabela Dinmica: Tabset de Extensibilidade No Excel 2003, ns tnhamos uma barra de ferramentas que era sensvel ao contexto do objeto. No Excel 2007, ns temos algo similar denominado tabset de extensibilidade:

Figura -4 Tabset de extensibilidade 3

A figura mostra apenas parte de toda a faixa de opes para o tabset Ferramentas de Tabela Dinmica. O leitor deve estudar atentamente a posio de cada elemento dentro da guia.

3.3. Adicionando suas prprias ferramentas ao Tabset de Extensibilidade Neste tpico cobrirei rapidamente a customizao do TabSet de extensibilidade da Tabela Dinmica. Caso o leitor tenha interesse de aprender mais sobre a customizao da Faixa de

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

19

Desenvolvimento inteligente

Opes,

veja

curso

sobre

assunto

no

link:

http://www.juliobattisti.com.br/cursos/ex2007ribbon/default.asp. A figura abaixo mostra a customizao aplicada:

Figura -5 Customizando o Tabset de Extensibilidade da Tabela Dinmica 3

Como no existe um Object Model (OM) em VBA para lidar com a criao de tais elementos da Faixa de Opes, ns utilizamos XML para tanto. O leitor precisar baixar o programa CustomUI Editor (gratuito na Internet) para poder acessar o arquivo Excel 2007 e adionar o seguinte cdigo XML para customizar a Guia conforme exemplo acima:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <contextualTabs> <tabSet idMso="TabSetPivotTableTools"> <tab id="rxtab" label="Minhas Ferramentas de TD"> </tab> </tabSet> </contextualTabs> </ribbon> </customUI>

NOTA: importante lembrar que manter um arquivo Excel aberto no Excel 2007 ou aberto no CustomUI Editor far com que um dos dois perca as ltimas alteraes.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

20

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

3.4. Lista de campos da tabela dinmica No Excel 2007 a lista de campos da tabela dinmica est mais inteligente e fcil de usar. Alm do formato padro de visualizao, podemos escolher entre quatro outros modelos diferentes de visualizao conforme mostrado na figura abaixo:

Figura -6 Boto Lista de campos da tabela dinmica 3

Os elementos so descritos abaixo:


Nome do elemento Escolha campo Filtro de Relatrio Descrio da funo do elemento Exibe todos os campos disponveis para uso na tabela dinmica. rea onde usamos o campo da seo de pgina da tabela dinmica para filtragem da tabela. Rtulos de Coluna Rtulo de Linha Valores Autor: Publicado: Contato: rea onde usamos o campo que pivotar os dados por coluna. rea onde usamos o campo que pivotar os dados por linha. rea onde usamos o campo de origem dos dados
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

21

Desenvolvimento inteligente

Adiar atualizao do Layout

Adia a atualizao do layout at que todos os campos tenham sido inseridos e o boto Atualizar tenha sido clicado. Note que desmarcar esta opo desfaz o layout criado com a opo marcada.

3.5. Acessando as opes da tabela dinmica A caixa de dilogo de opes da tabela dinmica mudou bastante, contendo agora um formato que agrupa funes similares.

Figura -7 Acessando as opes da tabela dinmica 3

Abaixo descrevo rapidamente os mtodos de acesso caixa de dilogo.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

22

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Mtodo 1 1. Clique em qualquer local de sua tabela dinmica 2. Quando a guia de extensibilidade for ativada, seleciona a guia Opes 3. No primeiro grupo (canto esquerdo) chamado Opes clique sobre o boto de mesmo nome Mtodo 2 1. Siga os mesmo passos do mtodo 1, mas clique sobre a pequena seta do boto Opes (no clique sobre a palavra). Um menu ser expandido conforme Figura 3-8

Figura -8 Acessando as opes da tabela dinmica 3

Mtodo 3 1. Clique com o boto direito sobre a tabela dinmica; 2. Selecione a opo Opes da tabela dinmica

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

23

Desenvolvimento inteligente

Figura -9 Acessando as opes da tabela dinmica 3

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

24

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

4.

Compreendendo os elementos de uma Tabela Dinmica

Este curto tpico para introduzi-lo aos elementos que compem uma tabela dinmica. Voc precisar estudar estes elementos para compreender melhor como eles funcionam. As explicaes so basicamente o que voc pode encontrar no prprio Ajuda do Excel e a melhor forma de realmente aprend-los testar diferentes combinaes com os dados que voc possui. A dica que posso dar que voc deve iniciar com um pequeno banco de dados ou planilha com algumas informaes e alguns campos ao invs de um banco de dados ou planilha enorme e com diversos campos. Isso facilitar a sua compreenso e visualizao do que ocorre quando voc cruza os dados. Com um banco de dados ou planilha muito grande e muitos campos, certamente causar confuso para o mais inexperiente, pois a tendncia entrar em pnico quando no se consegue fazer o sumrio desejado. Isso muitos vezes tem a ver com o prprio formato dos dados (como eles esto gravados no banco de dados ou planilha e o tipo de relacionamento existente entre os dados) e requer uma abordagem diferente para se chegar ao resultado esperado.

4.1. Elementos de uma Tabela Dinmica A figura a seguir mostra os componentes da tabela dinmica apresentada anteriormente:

Figura -1 Componentes da tabela dinmica 4

Para evitar um emaranhado de setas na figura eu omiti os itens os quais posso me referir sem a necessidade de setas dentro da figura.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

25

Desenvolvimento inteligente

Abaixo voc encontra o significado de cada um destes elementos (nem todos os elementos encontram-se na Figura 4-1): Campos Campos referem-se s categorias de dados de uma tabela dinmica. No exemplo acima, nomeProduto e Meses so os campos da tabela dinmica. Meses o campo de linha (rtulo de linha) ao passo que nomeProduto o campo de pgina (Filtro Relatrio). Campos podem ser os mesmos contidos na tabela fonte ou podem ser campos criados pelo usurio a partir dos campos j existentes. Item Item refere-se a cada elemento dentro de um campo qualquer. Por exemplo, no caso acima, as letras de A a D poderiam ser os itens do campo de coluna ao passo que os meses de janeiro a julho poderiam ser os itens do campo de linha. Itens podem ser expandidos e colapsados quando existem detalhes disponveis para os mesmos (discutirei isso mais adiante no curso). Observe que o ponto de interseo entre um item de linha e um item de coluna o sumrio de dados para o cruzamento entre os campos de linha e coluna para este item. Campo de linha (Rtulos de Linha) Um campo de linha refere-se ao campo na rea de linha da tabela dinmica. fcil confundir um campo de linha com um item de linha. Campos de linha referem-se aos campos utilizados como cabealhos para os itens de linha (os campos que possuem a seta de campo suspenso). Campo de coluna (Rtulos de Coluna) Um campo de coluna refere-se ao campo que mostra os itens na vertical. Novamente, fcil chamar um item de coluna de campo, por causa da maneira como uma planilha apresentada no Excel. Como sempre vemos os campos de uma planilha no topo, a tendncia olhar uma tabela dinmica e chamar um item de coluna de campo de coluna. Campos de coluna possuem uma seta de campo suspenso. Campo de filtro (Filtro Relatrio) Campo de filtro refere-se ao campo na parte superior da tabela dinmica. Este campo utilizado para filtrar os dados apresentados nos campos de linha e coluna. Campo de detalhes (Valores) Refere-se ao campo que recebe os dados a serem sumarizados. O campo no precisa
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

26

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

necessariamente receber um valor numrico. Este campo ir agrupar os dados de diversas formas. Voc pode somar, contar, retirar mdia e desvios padres, etc deste campo. Ou ainda criar os seus prprios campos.

Seta suspensa Seta suspensa a pequena seta ao lado de um campo de linha, coluna e/ou filtro

utilizado para expandir os itens contidos sob tal campo. A seta suspensa utilizada para filtrar os itens que devem ser sumarizados no campo selecionado4:

Figure -1 Expandindo itens utilizando a seta suspensa 4

Ao expandir RL (Rtulos de Linha, o qual contm a agrupamento dos meses), voc pode selecionar os meses que devem aparecer em sua tabela dinmica.

Caso o layout do relatrio esteja no Formato Compacto (Design Layout Layout do Relatrio Mostrar em Formato Compacto) voce precisa clicar com o botao direito do mouse sobre a seta suspensa para visualizar os campos filtrveis.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

27

Desenvolvimento inteligente

4.2. Onde devo ir para inserir uma tabela dinmica? Para inserir uma tabela dinmica bastante simples (e j vimos isso anteriormente, mas entraremos em outros detalhes agora). Mesmo sem selecionar os dados o Excel ainda capaz de determinar a rea contendo os dados desde que a mesma esteja em um formato apropriado, isto , contenha cabealhos (nomes de campos), no possua registros nulos e seja contnua. Caso o seu conjunto de dados possua registros nulos, selecione a rea que contm os dados e siga as instrues abaixo para iniciar o Assistente de Tabela Dinmica: V at a guia Inserir grupo Tabelas boto split Tabela Dinmica Tipo: Tabela Dinmica: Cria uma tabela dinmica; Grfico Dinmico: Cria um grfico dinmico.

Uma nova janela ser aberta. Nesta janela, selecione uma das opes para a fonte de dados: Fonte de dados: Tabela/Intervalo: Especifica uma rea de uma planilha contida em uma pasta de trabalho Excel como sendo a fonte de dados; Fontes de dados externos: Especifica uma fonte externa de dados;

Figura -2 Primeiro passo para criar a Tabela Dinmica 4

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

28

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Determine se a tabela dinmica deve ser inserida em uma nova planilha ou na planilha ativa. Caso escolha a planilha ativa assegure-se que no h informaes no caminho da tabela. Embora um aviso seja emitido possvel substituir dados por erro. Geralmente, tenho preferncia por uma planilha nova.

4.3. Onde foi parar o Assistente de Tabela Dinmica no Excel 2007? Para todos aqueles que j usaram TDs no Excel 97-2003 a figura do Assistente certamente bem-vinda por vrias razes. Por exemplo,voc pode determinar a consolidao de vrias reas de dados, pode criar uma TD ou GD, etc. Porm, no Excel 2007 quando ns inciamos o processo no h mais tal Assistente. No obstante, ele continua presente no Excel, embora escondido dos olhos de todos. Para acessar o assistente, siga os passos: 1. Clique em alguma parte da tabela de dados; 2. Digite em seqncia as teclas Alt d a. Note que esta no a mesma seqncia de acelerao no Excel 97-2003.

Figura -3 Primeiro passo para criar a Tabela Dinmica usando o Assistente 4

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

29

Desenvolvimento inteligente

Nesta primeira etapa, selecione uma das opes para a fonte de dados e para tipo (Tabela ou Grfico Dinmico) antes de continuar: Fonte de dados: Banco de dados ou lista do Microsoft Office Excel: Especifica uma rea de uma planilha contida em uma pasta de trabalho Excel como sendo a fonte de dados; Fontes de dados externos: Especifica uma fonte de dados externa; Vrios intervalos de consolidao: Especifica reas mltiplas de consolidao; Outro relatrio de tabela dinmica ou de grfico dinmico: Determina se a fonte provm de uma Tabela ou Grfico Dinmico j existente no documento em questo. Este mtodo evita redundncia de consultas e minimiza o uso de memria. Somente ser possvel utilizar tal opo se existir uma Tabela ou Grfico Dinmico disponvel no documento (se efetivamente existir um PivotCache). Tipo de relatrio: Tabela Dinmica: Cria uma tabela dinmica; Relatrio de Grfico Dinmico: Cria um grfico dinmico.

3. Clique em Avanar para continuar ou Concluir para terminar. Sugiro Avanar para se beneficiar do Assistente, principalmente se o leitor for iniciante. Assumindo que o leitor clicou em Avanar, o prximo passo requer a seleo da rea que contm os dados na planilha. Caso a clula selecionada esteja dentro do intervalo de dados e o intervalo esteja no formato correto o Excel capaz de determinar sozinho o intervalo de dados:

Figura -4 Segundo passo do Assistente de TD 4

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

30

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Clique em avanar para determinar o local de sada da TD. Caso j exista alguma tabela dinmica na pasta de trabalho o Excel avisar que ela j existe e se voc deseja utiliz-la para construir uma nova tabela. Caso o leitor clique em No, o Excel para avana para o ltimo passo:

Figura -5 ltimo passo do Assistente de TD 4

Determine se a tabela dinmica deve ser inserida em uma nova planilha ou na planilha ativa. Caso escolha a planilha ativa assegure-se que no h informaes no caminho da tabela. Embora um aviso seja emitido possvel substituirmos dados por engano. Geralmente, tenho preferncia por uma planilha nova. Este o ltimo passo do Assistente. O Assistente de layout deve ser acessado a partir das opes da TD. Este assunto coberto adiante.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

31

Desenvolvimento inteligente

4.4. Opes da tabela dinmica Vamos investir agora um tempo na anlise das opes de uma tabela dinmica.

Figura -6 Acessando as opes da tabela dinmica 4

Como podemos ver acima, as opes so separadas em cinco grupos: 1) Formato e Layout; 2) Totais e Filtros; 3) Exibicao; 4) Impresso e 5) Dados. Deste modo, quebrarei cada um destes grupos em tpicos para que possamos analis-los separadamente e maximizar a compreenso de cada item dentro de cada grupo. Iniciarei pelas opes de formatao.

4.4.1. Layout e Formato A nossa primeira parada diz respeito s opes de layout e formatao. Todas as opes so tratadas separadamente:
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

32

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Mesclar rtulos Mesclar rtulos nada mais do que um mesclado de clulas. Observe o a figura abaixo:

Figura -7 Mesclando clulas 4

Note que as clulas selecionadas so mescladas quando esta opo ativada. A vantagem de ter as clulas mescladas que ao selecionar o espao j selecionamos o valor ao invs de uma clula. Na formatao padro, ns devemos especificamente selecionar a clula que contm o valor ao invs da rea que contm o valor. Abaixo e acima Modifica a disposio dos campos dentro da tabela. Observe as duas figuras a seguir

Figura -8 Disposio Abaixo e Acima 4

A figura acima mostra a disposio Abaixo e Acima ao passo que a figura abaixo mostra a disposio para o layout Acima e Abaixo:
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

33

Desenvolvimento inteligente

Figura -9 Disposio Acima e Abaixo 4

Para valores de erro, mostrar Utilize esta opo para mostrar um erro por voc determinado ao invs dos erros internos como #NM!, #VALOR!, etc; Para clulas vazias, mostrar Quando no h informao para uma linha/coluna o Excel deixar em branco o ponto onde um valor seria esperado. A figura na prxima pgina mostra isso ocorrendo:

Figura -10 Clulas vazias 4

Utilize esta opo para determinar um valor para as clulas em branco. Apenas lembre-se de manter consistncia, isto , se voc est somando utilizando o valor zero. Note tambm que ao inserir o valor 0 a TD pode ser interpretada como sendo o valor zero ao invs de no h dados.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

34

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -11 Clulas vazias preenchidas com zeros 4

4.4.2. Totais e filtros Sob esta tabulao, o leitor poder inserir totais por linhas e colunas, alm de poder permitir mltiplos filtros por campo e permitir a utilizao de listas personalizadas na classificao dos dados. O leitor deve apenas lembrar que totais por linha totalizam os dados dispostos na horizontal ao passo que os totais de coluna totalizam os dados dispostos na vertical.

Figura -12 Total geral para colunas e linhas 4

Outra forma de ativar/desativar totais acessar a guia Design (da guia de extensibilidade) e sob o grupo Layout boto split Totais Gerais selecione a o total desejado.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

35

Desenvolvimento inteligente

4.4.3. Exibio Na parte de exibio, ns podemos executar vrios comandos que nos permitem modificar o mtodo de exibio da tabela dinmica. Mostrar botes de expandir/recolher Esta opo permite a alternncia entre a visualizao e no visualizao do boto de expandir/recolher.

Figura -13 Botes de expandir/recolher 4

A expanso para itens pode ocorrer atravs deste boto ou pelo duplo-clique (caso o boto no esteja visvel). Outra opo acessar a TD e quando a guia de extensibilidade for ativada, v at a guia Opes grupo Campo Ativo Expandir Campo Inteiro:

Figura -14 Expandir/recolher Campo Inteiro 4

Legendas de campos e lista suspensa de filtros


Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

36

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Esta opo permite a alternncia entre a visualizao e no visualizao do boto de expandir/recolher.

Figura -15 Exibindo legendas de campos e lista suspensa de filtros 4

A exibio destes elementos til para impresso final de um relatrio de tabela dinmica. Layout clssico Exibe a TD no layout clssico, isto , no layout pr-Excel 2007. Neste caso, note que em caso de campos passveis de extenso, o item oculto ser exibido em outra coluna dentro da rea de rtulo de linha. A vantagem da utilizao deste layout que podemos arrastar os campos para dentro/fora de uma tabela dinmica. Utilize a tabela abaixo como guia dos smbolos de arraste do mouse: Ao arrastarmos um campo, caso a rea em azul seja o topo da pequena representao da TD, isso indica que o campo ser inserido na rea do campo de filtro; Ao arrastarmos um campo, caso a rea em azul seja o canto esquerdo da pequena representao da TD, isso indica que o campo ser inserido na rea do campo de linha; Ao arrastarmos um campo, caso a rea em azul seja a parte superior da pequena representao da TD, isso indica que o campo ser inserido na rea do campo de coluna;

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

37

Desenvolvimento inteligente

Ao arrastarmos um campo, caso a rea em azul seja a rea central da pequena representao da TD, isso indica que o campo ser inserido na rea de dados; Ao arrastarmos um campo, caso a figura representando a TD muda para um pequeno X o campo ser removido. Contraste tambm o layout inicial da TD clssica com o layout da TD no Excel 2007:

Figura -16 Exibindo o layout clssico ou layout Excel 2007 4

4.4.4. Impresso Sob esta guia voc pode definir certas opes de impresso tais como impresso dos botes de expanso e recolhimento de itens.

4.4.5. Dados Utilize esta guia para definir opes de dados tais como se os dados devem ou no ser atualizados na abertura, se os dados devem ser salvos com o arquivo, etc. A deciso de salvar ou no salvar os dados com o layout de tabela determina como o Excel manipula os dados, tamanho do arquivo, desempenho da tabela e desempenho de processamento. Para salvar os dados com o layout da tabela, deixe este boto selecionado. Feito isso, o Excel salvar os dados juntamente com a pasta de trabalho. Aqui, existe uma demora no salvamento e o arquivo inchar. Quanto mais informaes de TDs estejam em cache e sejam salvas, maior ser o arquivo.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

38

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

A vantagem que com os dados salvos no layout as informaes da TD so carregadas mais rapidamente e liberam memria, pois a mesma somente utilizada quando algo muda na TD, como relocao de campos dentro da TD. Por outro lado, se no utilizamos esta opo o Excel deixa de salvar a informao junto com a pasta de trabalho. Deste modo, o tamanho da pasta reduzido se comparado com o salvamento junto com o layout. O problema que os dados precisam ser atualizados. Ao atualizar, o Excel cria uma nova cpia dos dados em cache. Este processo mais lento que o anterior.

4.5. O que uma tabela unidimensional de campo nico? Uma tabela unidimensional de campo nico a tabela dinmica mais simples que voc encontrar. Neste tipo de tabela o usurio insere um campo de linha ou de coluna e o campo de dados. Feito isso, o usurio poder determinar como os dados so agrupados (soma, contagem, etc).

4.6. O que uma tabela bidimensional de campo nico? Uma tabela bidimensional de campo nico a tabela dinmica que contm ao menos um campo de linha e um campo de coluna com os dados de ambos os campos sendo cruzados na rea de dados. Este um dos motivos para se chamar tais tabelas de X-Tab (em ingls X-Tab lido como cross tabulation ou tabulao cruzada, em portugus). O grande poder de tabelas dinmicas que podemos rapidamente cruzar os mais variados tipos de informaes rapidamente.

4.7. O que uma tabela unidimensional e bidimensional de mltiplos campos? Como o nome sugere, se a tabela for unidimensional com mltiplos campos estamos observando uma tabela que contm mais de um campo da tabela fonte no campo de linha ou no campo de coluna da tabela dinmica. Por outro lado, uma tabela bidimensional com mltiplos campos aquela que possui mltiplos campos da tabela fonte tanto no campo de linha quanto no campo de coluna da tabela dinmica.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

39

Desenvolvimento inteligente

Boa parte das tabelas dinmicas feita em cima de tabelas bidimensionais, pois geralmente queremos cruzar diversos dados simultaneamente de diversos campos de nossa fonte de dados. Este tipo de tabela envolve um nvel de complexidade extremamente elevado e em muitos casos, voc no conseguir o resultado procurado na primeira tentativa (a menos que voc conhea muito bem os dados, sua estrutura e tenha muita experincia com tabelas dinmicas). Desta forma, se voc se encontrar em dificuldades em criar uma tabela dinmica complexa, no entre em pnico, pois em muitos casos o trabalho realmente frustrante de incio.

4.8. Adicionando campos tabela dinmica: mtodo clssico e novo Para adicionar um campo tabela dinmica bastante simples no Excel 2007. No mtodo normal para o Excel 2007, tudo que voc precisa fazer selecionar o campo e o Excel far a sugesto de onde ele deve ir. Em seguida, voc pode utilizar o mouse para arrastar os campos dentro da janela Lista de Campos para reorganiz-los ou reorden-los.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

40

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

No Excel 97-2003, o leitor deve lembrar-se da Figura 4-17 exibida abaixo:

Figura -17 Janela da lista de campos 4

Na figura acima, para adicionar um campo rea de filtro (campo de filtro ou de pgina) tudo que precisaramos fazer selecionar o campo, selecionar a opo na lista conforme mostra a figura e clicar em Adicionar a. Mas isso mudou no Excel 2007. Ao invs disso, clique com o boto direito5 sobre o campo desejado para obter as mesmas opes:

Clicando com o boto esquerdo voc obtm opes de filtro.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

41

Desenvolvimento inteligente

Figura -18 Adicionando campo TD por clique-direito 4

4.9. Removendo campos da tabela dinmica Para remover um campo da tabela bastante simples. Simplesmente clique sobre o campo e segure o boto do mouse. Em seguida, arraste o campo para uma rea fora da tabela dinmica (utilizando o mtodo clssico conforme j ensinado). No modo normal, simplesmente desmarque o campo na lista de campos.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

42

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

5.

Compreendendo as fontes de dados para Tabelas Dinmicas

Ao criar uma tabela dinmica, ns temos vrias opes de fonte de dados. Compreender tais fontes de dados fundamental no momento da criao de sua TD. Utilizar o Excel como fonte de dados pode no ser a melhor opo quando possumos uma grande quantidade de registros. Por outro lado se os dados precisam viajar com a planilha, provavelmente o Excel a melhor opo de fonte de dados. Investiremos um tempo agora para conhecer as vrias fontes de dados.

5.1. Banco de dados ou lista do Microsoft Office Excel Antes de tudo, lembre-se que no Excel 2007 no h mais lista. Ao invs disso, ns temos tabelas. Esta nova ferramenta substitui as antigas listas e possui muito mais vantagens do que as antigas listas. Para maiores informaes sobre Tabelas no Excel 2007, veja o curso: http://www.juliobattisti.com.br/cursos/ex2007tabelas/default.asp Utilizar o Excel como fonte de dados , sem dvida, a forma mais comum e conhecida na criao de TDs. Neste caso, os dados podem estar localizados: 1. na mesma pasta de trabalho; 2. em uma outra pasta de trabalho Independentemente da localizao acima, os dados devem estar padronizados para o formato de banco de dados, isto , com colunas representando campos e as linhas representando registros. Se a clula ativa est dentro da rea de dados e esta rea no possui descontinuidade de dados, o Excel ser capaz de determinar a rea total de dados que ser utilizada como fonte. Por outro lado, se voc deseja determinar a rea de forma explicita voc pode fazer o seguinte antes de iniciar o processo de criao da TD: 1. Selecione a rea de dados manualmente; 2. Digite o nome da tabela no campo Tabela/Intervalo. Nome da tabela , na verdade, um Nome (rea nomeada);

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

43

Desenvolvimento inteligente

3. Crie um nome (que pode ser esttico ou dinmico) e digite o nome no campo Tabela/Intervalo. A Figura 5-1 mostra o exemplo utilizando o nome de uma tabela:

Figura -1 Adicionando campo TD por clique-direito 5

Caso o nome inserido seja invlido, o Excel exibir uma mensagem de erro solicitando a sua correo para que voc possa continuar. At usamos dados da mesma pasta de trabalho; porm, podemos tambm utilizar dados de uma pasta secundria. Primeira pergunta : por que eu faria isso? O principal motivo para isso reduzir o custo de manuteno dos dados na mesma pasta, pois alm do tamanho da pasta de trabalho h tambm a questo de velocidade de processamento. No caso dos dados estarem em uma pasta diferente, o processo de criao da TD ligeiramente diferente do processo j visto. Para criar esta TD, siga estes passos: 1. Inicie o processo de criao da TD conforme j mostrado; 2. O padro Tabela/Intervalo j estar selecionado. Clique no boto de referncia para abrir a caixa de seleo de intervalo de dados; 3. Navegue at a pasta de trabalho que contm os dados (use Alt+Tab para alternar entre os documentos abertos ou outro mtodo de sua preferncia);
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

44

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

4. Selecione os dados. Note que a fonte de dados ser exibida Por no formato: exemplo:

[NomeDaPasta.xlsx]NomeDaPlanilha!Intervalo.

[TD_XL07_Tpico3.3.xlsx]Plan1!MinhaTabela. Neste caso, MinhaTabela o nome do intervalo que contm os dados no formato de uma tabela. Alternativamente, voc pode inserir o caminho completo da localizao de sua pasta de trabalho contendo os dados, por exemplo: '\Users\Robert

Martim\Desktop\TD_XL07_Tpico3.3.xlsx'!MinhaTabela NOTA: s vezes, ns queremos criar uma TD em cima de dados filtrados. Caso os dados estejam filtrados o Excel ignorar o filtro e todos os dados sero utilizados. Caso voc queira somente os dados, copie os dados filtrados para outra localidade e utilize-os como fonte para a TD.

5.2. Fonte de dados externos No caso de fontes externas de dados, ns podemos: 1. Importar os dados para o Excel e utiliz-los diretamente no Excel, atualizando a consulta e a TD sempre que necessrio; 2. Conectar a TD fonte externa de dados. Para conectar a TD fonte externa de dados, siga os passos abaixo: 1. Abrar a caixa de dilogo de criao de TD; 2. Selecione a opo Fonte de dados externos; 3. Clique em Escolher Conexo para exibir a caixa de Conexes Existentes.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

45

Desenvolvimento inteligente

Figura -2 Conexes existentes de dados 5

Neste ponto, selecione a conexo desejada e clique em Abrir. Alternativamente, clique em Procurar Mais para localizar outras fontes de dados no listadas. Caso no exista a conexo, voc pode utilizar a guia Dados grupo Obter dados externos. Escolha uma das opes, crie e salve a sua conexo para uso posterior. NOTA: Em alguns casos voc pode querer salvar a senha de conexo. Porm, este salvamento no recomendado. A razo que o Excel no somente expe toda a string de conexo, mas tambm o nome de usurio e senha. A Figura 5-3 exibe a string de conexo (cadeia de conexo) para um servidor SQL. O nome do usurio (sa) e a senha so exibidos:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

46

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -3 Cadeia de conexo 5

No caso anterior, ns utilizamos a fonte externa para alimentar a TD diretamente. 5.3. Vrios intervalos de consolidao

Para usar esta opo necessrio acessar o antigo Assistente de Tabela Dinmica. O acesso direto pelo Excel 2007 no nos permite criar uma TD com este tipo de consolidao. Antes de tudo, importante lembrar que os dados devem ser compatveis com o formato requerido pela tabela dinmica. Caso contrrio, ns no obteremos o resultado desejado. Uma vez no formato correto, a criao da TD mais simples do que pode parecer. Estude a figura abaixo:

Figura -4 Intervalos para consolidao 5

Para criar a TD utilizando os dois intervalos de consolidao, siga os passos abaixo: Pressione Alt d a (ou Alt d p no Excel 2007 em ingls); Selecione a opo Vrios Intervalos de Consolidao; Clique em Avancar para passar para o prximo passo;
Robert F. Martim

Autor: Publicado: Contato:

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

47

Desenvolvimento inteligente

Na segunda etapa do Assistente, voc ter as seguintes opes (selecione a opo padro e clique em Avanar): o Crie um nico campo de pgina O Campo de Pgina o nome dado no Excel 2003 ao Filtro de Relatrio no Excel 2007. Caso tenha dvida sobre a localizao, veja a Figura 4-1. o Criarei os campos de pgina Utilize esta opo para determinar quantos campos de pgina devem ter. Voc pode determinar entre zero (0) e quatro (4) campos.

Figura -5 Definindo campo de pgina 5

No prximo passo, voc dever selecionar os intervalos de dados. Note que CentroOeste e Nordeste encontram-se no topo de cada um dos intervalos de consolidao. Voce no deve selecionar esta rea, mas somente a rea contendo os cabealhos de campo e dados. Veja Figura 5-6 para exemplo de como selecionar o intervalo.

Clique em Avanar (Figura 5-6). Escolha a nova localidade e clique em Concluir

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

48

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -6 Selecionando intervalos de consolidao 5

Finalmente, defina onde voc deseja que a nova TD seja criada (sugiro em uma nova planilha).

A sua nova tabela dinmica ter o seguinte formato:

Figura -7 Tabela dinmica final 5

Note que no possumos os nomes dos campos, mas apenas a consolidao dos mesmos. No caso do Filtro de Relatrio, ao expandi-lo, voc ver apenas Item 1 e Item 2 os quais se referem aos itens Centro-Oeste e Nordeste respectivamente (campo Regio).

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

49

Desenvolvimento inteligente

O nosso prximo passo mudar os nomes dos campos padres para o que realmente queremos. Iniciaremos pelos Filtros de Relatrio. Siga os passos abaixo: Clique no boto de filtro (onde se l (Tudo)) e escolha Item 1 Na barra de frmula, troque o valor Item 1 para Centro-Oeste e pressione Enter

Figura -8 Trocando o nome do item do Filtro de Relatrio 5

Ao pressionar Enter, o Excel avisar que no existe o item digitado e sugerir que o item seja renomeado:

Figura -9 Campo inexistente, renomear? 5

Clique OK para continuar e renomear o item. Repita os passos e renomeie o Item 2 para Nodeste bem como Pgina 1 para Regio. Ao final da renomeao, voc ter o resultado como segue:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

50

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -10 Resultado aps renomear o campo (Pgina1) e Items 1 e 2 5

Em seguida, ns renomearemos os campos. Na lista de campos, clique no campo que deseja renomear e selecione a opo Configuraes do Campo:

Figura -11 Renomeando campo via Lista de campos da tabela dinmica 5

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

51

Desenvolvimento inteligente

No caso acima, o campo selecionado Linhas o qual deve ser modificado para Cidade. Ao terminar de renomear todos os campos (exceto o de colunas que no ter efeito algum para este exemplo), voc ter o seguinte cenrio:

Figura -12 Renomeando campo via Lista de campos da tabela dinmica 5

5.4. Outro relatrio de tabela dinmica ou de grfico dinamico Como ltima opo da lista de fonte de dados ns temos como utilizar outra TD ou Grfico Dinmico (GD). No Excel 2007, voc pode criar uma TD/GD utilizando os seguintes mtodos: Selecionar o mesmo intervalo (intervalo exato) de uma TD j existente; Acionar o Assistente (Alt d a) e selecionar a TD da lista

Figura -13 Baseando uma nova TD em uma j existente 5 Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

52

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

O motivo para usar outra TD/GD como fonte de dados? Uma TD/GD baseada em outra usa menos memria. Simples assim.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

53

Desenvolvimento inteligente

6.

Formatao

Neste tpico discutirei a questo de formatao de uma tabela dinmica. A formatao um ponto importante, pois atravs dela que ns realamos pontos dentro da tabela, etc. Formatao uma parte complexa, pois cada indivduo tem gosto diferente. Portanto, este tpico no estar focado em como-fazer-a-tabela-mais-bonita-do-planeta, mas estar focado nas ferramentas que o leitor precisa para criar a formatao que desejar. Aqui, no discutirei questes bsicas como onde modificar cor de letra. O que faremos aprender a formatar uma TD. assumido que o leitor sabe onde formatar texto, linhas, fundos, etc.

6.1. Estilos de Tabela Dinmica O Excel 2007 vem com um nmero de estilos prontos para aplicao em uma tabela dinmica. Alm disso, voc pode criar a sua prpria formatao e/ou estilo. Por questo de praticidade e rapidez, eu prefiro os estilos prontos aos meus prprios. No obstante, h empresas que, por motivos de identidade corporativa, utilizam estilos prprios. Um estilo visa controlar vrios aspectos visuais, entre eles (no somente de uma TD/GD mas de qualquer outro objeto no Excel): Fonte: define o tipo de fonte a ser utilizado em toda a TD/GD ou em elementos especficos do objeto que receber o estilo. Voce pode definir tamanho, cor, estilo (negrito, itlico, sublinhado, etc), estilo de fonte, etc Bordas: define o estilo de bordas para linhas horizontais e verticais utilizadas para envolver a rea onde ser aplicada ou elemento que receber a aplicao Fundo: determina cores de fundo bem como padres para o fundo do elemento em questo Para aplicar um estilo: Selecione a TD que receber o estilo Selecione um estilo da lista de estilos conforme mostra figura a seguir
Robert F. Martim

Autor: Publicado: Contato:

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

54

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -1 Estilos de tabela dinmica 6

Alternativamente, voc pode abrir a caixa de definio de estilos (Estilos de tabela dinmica Novo estilo de tabela dinmica) onde voc poder definir o estilo para os mais variados elementos da tabela dinmica:

Figura -2 Estilo personalizado para TD 6

Nesta janela, voc possui os seguintes elementos: Nome: Digite aqui o nome para o seu estilo personalizado Visualizao: Exibe como o seu estilo ficar
Robert F. Martim

Autor: Publicado: Contato:

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

55

Desenvolvimento inteligente

Limpar: Limpa toda a formatao da TD selecionada Definir como estilo rpido de tabela dinmica para este documento: define como estilo padro para todas as novas TDs para a pasta de trabalho.

Para modificar o estilo criado basta retornar galeria de estilos e clicar com o boto direito sobre o estilo personalizado. Para os estilos internos ns podemos defini-lo cmo padro, copiar etc:

Figura -3 Atualizando, modificando e duplicando estilos 6

6.2. Formatando campo Para formatar um campo bastante simple. Voc pode acessar a configurao do campo: Direto na tabela: Clique com o boto direito sobre o campo e escolha a opo Configuraes de campo. Na lista de campo (rea de campos na TD e no de campos disponveis): clique com o boto esquerdo sobre o campo e escolha a opo Configuraes de campo. Sob a guia Opes, grupo Campo Ativo: Clique sobre o campo desejado, selecione a guia Opes grupo Campo Ativo e clique em Configuraes de campo. As opes de configurao do campo selecionado dependero do tipo de dado no campo selecionado.

6.3. Layout do relatrio de tabela dinmica O Excel oferece trs tipos de layouts distintos para a sua tabela dinmica. Estes podem ser acessados sob a guia Design (presente na guia de extensibilidade Ferramentas de Tabela Dinmica).

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

56

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Os seguintes layouts estao disponveis: Formato compacto: Este layout requer o mnimo de espao para a sua TD. Figura 6-4 mostra o modelo de formato compacto. Este formato oculta boto de Lista Suspensa para o segundo e subseqente campos de linha. Formato de Estrutura de Tpicos: Neste layout, os dados so formatados no modelo de estrutura de tpicos, isto , os campos so indentados de acordo com a ordem hierrquica. Figura 6-5 mostra o formato em Estrutura de Tpicos Formato de tabela: Exibe a TD em um formato de tabela. Figura 6-6 mostra a TD no formato de tabela.

Figura -4 Formato compacto 6

Figura -5 Estrutura de Tpicos 6 Autor: Publicado: Contato:


Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

57

Desenvolvimento inteligente

Figura -6 Formato de Tabela 6

6.4. Preservando formatao Ao aplicar uma formatao diretamente nos elementos de uma tabela dinmica, ao atualizarmos a TD, a formatao revertida para a formatao padro aplicada. Para manter o formato aplicado abra a caixa de opes da tabela dinmica e marque a opo Preservar a formatao da clula ao atualizar. importante notar que elementos que pertencem ao mesmo campo podem ser formatados simultaneamente desde que eles tenham sido selecionados. Para selecionar tais elementos vai depender do cursor do mouse:

Figura -7 Selecionando elementos da tabela dinmica para formatao 6

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

58

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Com o cursor apontando para baixo, conforme figura acima, os elementos do campo da linha (Regio) sero selecionados como mostra a rea sombreada. O mtodo mais seguro, obviamente, selecionar o campo diretamente na lista de campos e formatar por l.

6.5. Modificando nome de campos Para modificar o nome de um campo bastante simples: um duplo-clique sobre o nome do campo6,7 e a janela de edio do nome do campo aberta:

Figura -8 Modificando rtulo do campo da TD 6

No campo Nome Personalizado, defina o nome que voc deseja dar ao campo em questo.

Caso a rea de dados possua mais de um campo o duplo-clique no funcionar. Para modificar o nome do campo clique com o boto direito sobre o campo e escolha a opo Configuraes de campo. Utilize este mtodo para modificar campos tambm. 7 Caso a TD esteja em um formato de relatrio, o duplo-clique sobre a rea de dados causar a criao de uma planilha nova em forma de uma tabela-relatrio.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

59

Desenvolvimento inteligente

7.

Trabalhando com campos

At o momento vimos o bsico e o importante para que possamos trabalhar com tabelas dinmicas. Sem este conhecimento bsico, passar para o prximo estgio pode ser mais penoso (como o caso da formatao). Neste grande tpico veremos como trabalhar com campos em uma tabela dinmica. Primeiramente, investiremos um tempo na construo de tabelas com mltiplos campos em linha e/ou coluna. Em seguida movemos para subtotalizaes, agrupamentos e campos calculados.

7.1. Trabalhando com campos de linha e de coluna Trabalhar com campos de linha bastante simples. Iniciaremos com a adio de um campo de linha mais o campo de dados da planilha deste tpico:

Figura -1 Tabela normal 7

Ns temos aqui uma tabela simples unidirecional, isto , uma TD contendo um campo de linha mais o campo de dados. Caso haja uma necessidade de maior detalhamento, ns podemos adicionar mais um campo rea reservada para as linhas conforme mostra a figura a seguir. Note que a disposio dos dados em forma de relatrio e, portanto, podemos expandir ou colapsar um determinado item dentro do campo:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

60

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -2 rea de linha com mltiplos campos 7

Conforme j dito a expanso total acima pode ser colapsada/expandida conforme a necessidade, bastando apenas clicar nos botes de mais (+) e menos (-):

Figura -3 Expandindo a regio sul e colapsando as demais 7

Agora que possumos estes dois campos o que mais podemos fazer? Clique com o boto direito sobre o campo Regio e selecione a opo Configuraes do campo. A caixa de dilogo do campo da TD ser aberta:
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

61

Desenvolvimento inteligente

Figura -4 Opes de configurao de um campo da TD 7

Na guia Subtotais e Filtros ns podemos definir o tipo de subtotais que desejamos trabalhar. Por exemplo, dependendo do tipo de dados, o subtotal automtico ser Soma ou ContNm. Por outro lado, voc pode selecionar Personalizados e escolher a funo para agregar os seus dados. Clicando na guia Layout e Impresso. Voce ter as seguintes opes:

Figura -5 Layout do campo da TD 7

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

62

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

O que cada uma das opes representa: Mostra rtulos de item no formato de estrutura de tpicos Exibe os rtulos de item (no confunda Item com Campo, cidade se transforma em item quando estruturada dentro do campo regio) em estrutura de tpicos. Campo fica uma linha acima do item dentro da estrutura da TD: o Exibir rtulos do prximo campo na mesma coluna O prximo campo aqui se refere ao campo que fornecer os itens na estrutura de tpicos. Uma coluna removida para cada item na estrutura da TD. O formato precisa ser aplicado para CADA campo que possui um campo de itens. o Exibir subtotais no incio de cada grupo Subtotais sero exibidos cada vez que um grupo modificado. Mostrar rtulo de item no formato de tabela Exibe o rtulo no formato da tabela. O campo fica na mesma linha que o item dentro da estrutura da TD. Inserir linha em branco aps cada item Novamente, faz exatamente o que est escrito: insere uma linha em branco aps cada item de um grupo; Inserir quebra de pgina aps cada item Esta opo de impresso permite colocar quebras de pgina nos itens do campo selecionado. Vejamos agora os itens de subtotalizao que aparecem na caixa de edio do campo da TD.

7.2. Trabalhando com sumrios e subtotalizaes: subtotais simples e mltiplos Ao criar uma tabela dinmica o Excel adicionar totais por linhas ou colunas (ou ambas se desejar). O tipo de total poder variar dependendo do tipo de dado na rea de dados. Por exemplo, se todos os dados forem textos, ento os mesmos so contados automaticamente ao passo que valores numricos so somados. importante salientar que um valor diferente na rea de dados determinar o total adicionado (contagem ou soma). Por exemplo, se existirem 999 valores numricos e um de texto, a contagem tem precedncia sobre a soma:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

63

Desenvolvimento inteligente

Figura -6 Configurao do campo da TD 7

Embora estes dois sumrios sejam padres, ainda possvel determinar outros tipos de sumrios. A figura acima mostra algumas das opes de subtotalizao. Voc pode selecionar mais de uma funo para personalizao e o campo de dados ser duplicado para exibir a nova subtotalizao. Observe a figura abaixo:

Figura -7 Totalizao e subtotais personalizados 7

Nesta figura ns possumos a soma total por regio e a mdia por regio. Porm, note que a mdia no entre as cidades, mas entre todas as observaes para o Centro-Oeste, isto , a
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

64

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

mdia entre toda a soma para a regio (R$4.135.308) divida pelo total de observaes (648) para a regio. Finalmente, para remover um subtotal, basta abrir a caixa de configurao do campo da TD e excluir os tipos de subtotais desejados.

7.2.1. Modificando o tipo de subtotal apresentado (mostrar como % do total, etc) Os subtotais que adicionamos anteriormente so valores absolutos, porm suponha que voc queira saber os valores relativos, isto , o que voc deseja saber a proporo de cada valor em relao ao total. Continuando com os dados e exemplo do tpico anterior, vejamos o nosso cenrio inicial normal (normal a opo inicial de apresentao do sumrio):

Figura -8 Tabela normal 7

A soma total o nosso 100% e cada uma das somas para as regies brasileiras representa um percentual do total. Poderamos efetuar o clculo no lado externo da TD, porm este no seria o cenrio ideal:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

65

Desenvolvimento inteligente

Figura -9 Clculo percentual no lado externo da TD 7

Se os valores em linha forem modificados teremos erro no clculo. Por outro lado, se houver mudanas na coluna (adio de um campo de linha ou coluna), a TD ser movida para a direita sobrescrevendo os valores (o usurio ser alertado antes) calculados. Como estes clculos no fazem parte da TD eles so sensveis a modificaes externas. A soluo adicionar o clculo diretamente na TD. Para modificar este campo, abra a configurao de campos para o campo Soma do Total. Quando a janela abrir clique em Opes para expandir as opes do campo:

Autor: Publicado: Contato:

Figura -10 Opes de visualizao de dados 7 Criado em: www.juliobattisti.com.br ltima edio: rm@msofficegurus.com
Robert F. Martim

09/04/2009 2/7/2009

66

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

No total so 9 formas diferentes de apresentar os dados (incluindo a forma normal). No exemplo acima, estamos interessados no percentual do total (% do total). Selecione e aplique esta opo:

Figura -11 Visualizao normal 7

O exemplo acima pode ser expandido para levar em conta cenrios mais complexos. Vejamos como complicar um pouco a nossa anlise. O nosso conjunto de dados possui um campo de categorias o qual pode ser utilizado em nossa anlise. Suponha que desejamos saber o somatrio para cada regio dentro de cada categoria. Tambm desejamos saber o percentual que cada regio representa para cada categoria. O nosso cenrio inicial mostrado abaixo:

Figura -12 Definio do problema com mltiplas reas de dados 7

Para criar esta tabela inicial siga os passos: Inicie com um TD em branco;

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

67

Desenvolvimento inteligente

Adicione o campo Regio rea de linha e o campo Categoria rea de coluna. A TD ter agora a seguinte visualizao:

Figura -13 Configurao da rea de linhas e colunas (exibio clssica) 7

O prximo passo adicionar os dados. Aqui, acrescente o campo Total duas vezes na rea de dados. Assim, obteremos a figura inicial deste tpico. Caso o Excel adicione o campo Total como rtulo de Valores da coluna, mova o campo de rtulo para a rea de linha. A figura da direita abaixo mostra como a configurao dos campos deve ficar (a figura da esquera a sugesto padro do Excel):

Figura -14 Movendo rtulo de coluna para linha 7

Modifique o rtulo para os campos da rea de dados para Soma por categoria e para % Regional por categoria. A nossa TD agora ter o seguinte layout:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

68

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -15 Configurao do rtulo de campos 7

Selecione o campo (efetivamente ser um item na rea de linha) % Regional por categoria e acesse a caixa de configurao de campo. Clique em Opes e modifique a visualizao para % da coluna:

Figura -16 Configurao da rea de dados para valores absolutos e percentuais 7

Os totais acima so para colunas, mas o leitor pode modificar para mostrar os totais por linha, por exemplo.

7.3. Utilizando data base para comparar valores (gastos de um trimestre base comparados com outro) Este exemplo pode ser expandido para outros cenrios tais como comparaes entre anos, entre meses, etc. O que desejamos criar neste novo cenrio descrito abaixo: Calcular a soma total para uma regio qualquer;
Robert F. Martim

Autor: Publicado: Contato:

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

69

Desenvolvimento inteligente

Agrupar os dados desta regio por trimestre; Comparar o desempenho dos trimestres seguintes ao trimestre base (neste caso ser o primeiro trimestre, mas o trimestre base pode ser qualquer um).

Para iniciar, vamos criar a parte bsica de nossa TD. Siga os passos abaixo: Adicione uma nova TD utilizando os dados deste tpico; Adicione os campos Regio e Data da Venda rea de linhas; Adicione o campo de Total rea de dados.

A nossa TD agora ter o seguinte visual (a imagem abaixo mostra apenas parte dos dados):

Figura -17 Configurao inicial da TD 7

Agora que j possumos a parte bsica, precisamos agrupar os dados por trimestre e mostrar os dados apenas para a regio que desejamos analisar. Alm disso, precisaremos repetir o total para efetuar a nossa comparao. Para este novo estgio, siga os passos abaixo: Clique-direito sobre o campo Trimestre e clique sobre Agrupar; Na nova janela que abrir, selecione a opo Trimestre conforme mostra a figura:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

70

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -18Agrupando por trimestre 7

Clique OK para continuar.

A nossa TD deve ter o seguinte formato ao terminar este estgio:

Figura -19 Dados agrupados 7

O prximo passo requer a adio do campo Total rea de dados (desde modo teremos os dados repetidos) e o novo visual da TD ser:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

71

Desenvolvimento inteligente

Figura -20 Repetio do total na rea de dados 7

Modifique os rtulos dos totais para Soma do total e % comparativo (base Trim1). Para efetuar a ltima mudana em nossa TD para mostrar o percentual comparativo entre os trimestres tendo como base o primeiro trimestre, siga os passos abaixo: Clique-direito sobre o campo % comparativo (base Trim1) e selecione Configuraes de campo; Na janela que abrir, clique no na guia Mostra valores como; Selecione a opo % diferena de; No campo base, selecione o campo Trimestre; No item base, selecione o item Trim1; Clique OK para terminar.

A nossa TD finalmente ter o seguinte visual:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

72

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -21 Comparao percentual entre trimestres e trimestre base 7

Como o trimestre base o primeiro, este item estar vazio conforme mostra a figura acima. O clculo efetivamente feito pelo Excel a diviso do segundo (e terceiro) trimestre pelo primeiro trimestre. Do resultado subtramos 1. Por exemplo, a diferena para o segundo trimestre calculada como segue:

1.640.357, 70 1 3, 72% 1.581.582, 70


O mesmo clculo acima feito para o terceiro trimestre e obtemos -42,25% de diferena em relao primeiro trimestre. Em outras palavras, as vendas so 42,258% menores do que as apresentadas no primeiro trimestre.

7.4. Trabalhando com ndices (comparao relativa) J vimos como efetuar uma comparao absoluta e como efetuar uma comparao percentual. O nosso prximo objetivo efetuar uma comparao relativa. Uma comparao por ndice similar comparao percentual, porm o Excel nos fornece a opo de ndice para este tipo de comparao e exatamente isso que faremos. A grande questo deste tipo de comparao a interpretao dos resultados. Como estamos lidando com o cruzamento de dados, isso implicaria que um ndice muito elevado em uma linha indicaria que ele extremamente importante para o item da coluna.

Note que a TD exibe -42.25. Aqui o ponto usado para separar o decimal. Isso ocorre, pois o meu sistema est configurado para o ingls britnico onde o decimal separado com o ponto ao invs de vrgula. Autor: Robert F. Martim Criado em: 09/04/2009 Publicado: www.juliobattisti.com.br ltima edio: 2/7/2009 Contato: rm@msofficegurus.com

Srie Como Fazer Excel 2007: Tabelas Dinmicas

73

Desenvolvimento inteligente

A figura a seguir mostra o resultado final deste tipo de comparao. Vejamos primeiro o que o resultado significa antes de criamos a TD utilizando ndices:

Figura -22 Comparao por ndice 7

Todos os itens de nossa tabela possuem um ndice bastante similar (indicando uma importncia balanceada). Na linha TELEFONIA ns vemos que o ndice para o Sul de 0,97 ao passo que para o Centro-Oeste este mesmo ndice de 1,21. Este resultado implica que telefonia tem uma importncia menor nas vendas para o Sul ao passo que a sua importncia maior para o CentroOeste. O clculo efetuado pelo Excel para gerar o ndice o seguinte;

ndice

Valor _ Intersero * Total _ Geral Total _ Coluna *Total _ Linha

Agora que o leitor j compreende como o clculo feito e como interpretar o resultado, vejamos como modificar uma TD: Clique-direito sobre o campo de dados; Selecione a opo Configuraes do campo de Valor; Na janela que abrir clique em Mostrar Valores Como; Selecione a opo ndice dentre as opes para mostrar os dados.

Feito isso, nossa TD de ndices est pronta.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

74

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

7.5. Trabalhando com campos e itens calculados At o momento aprendemos diversas formas de trabalhar com campos em uma tabela dinmica manipulando os resultados finais. No obstante, os clculos efetuados at o momento so resultados de funes internas do Excel. Contudo, alm destas mais variadas opes, ns podemos criar nossos campos calculados os quais so utilizados pela TD. Vejamos, primeiramente, o que um campo e item calculado antes de partirmos para a criao dos mesmos.

7.5.1. O que um campo ou item calculado? Antes de tudo, o que um campo ou item calculado? Um campo calculado no a mesma coisa que um item calculado, portanto precisamos defini-los separadamente: Campo calculado Um campo calculado nada mais do que um novo campo. Porm, este novo campo criado atravs de um clculo entre dois ou mais campos existentes em nossa tabela dinmica. Pegue, por exemplo, os campos Total e Qtd Vendida. Sabemos que ao inserir este dois campos na rea de dados obtermos um somatrio dos totais e obteremos um somatrio das quantidades. Supondo que tais somatrios sejam por cada regio brasileira, se ns dividirmos o Total pela Qtd Vendida ns obtemos um retorno mdio por unidade vendida por regio. A figura a seguir mostra a configurao inicial de nossa tabela dinmica:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

75

Desenvolvimento inteligente

Figura -23 Configurao inicial do problema 7

Sendo assim, para o Centro-Oeste ns teramos uma mdia igual a:

4.135.308 R$1.354,51 3.053


Esta a nossa mdia por unidade vendida. Obviamente que tal clculo poderia ser feito em um novo campo em nossa base de dados, contudo isso desnecessrio. Utilizando um campo calculado ns podemos rapidamente fazer isso. Mais adiante, discuto separadamente como isso feito. Item calculado Item calculado refere-se ao clculo entre itens de uma tabela dinmica. Imagine o cenrio aonde ns possumos dois campos em uma linha (digamos o campo Regio e o campo Categoria). O primeiro campo agrupa o segundo, contudo ns desejamos agrupar algumas categorias para consolidao. Sendo assim ns poderamos agrupar as categorias Informtica, Telefonia e TVs Plasma e LCD em uma grande categoria denominada eletrnicos. Esta nova categoria nada mais do que o nosso item calculado.

Portanto a nossa tabela dinmica possui a seguinte configurao inicial:


Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

76

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -24 Configurao padro 7

Esta configurao inicial o que obteramos normalmente ao adicionarmos os campos nossa TD. Porm, o objetivo, conforme delineado anteriormente, obter a seguinte TD onde os ltimos trs itens do campo Categoria so calculados como um nico item:

Figura -25 Resultado do item calculado 7

Como podemos ver, agora possumos os trs itens anteriores em um nico onde o valor representa a soma de cada um dos itens determinados. Agora que o leitor j sabe o que um campo e um item calculados significam, vejamos como criar tais campos e itens e aplic-los nossa TD.
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

77

Desenvolvimento inteligente

7.5.2. Criando um campo e/ou item calculado Voltemos ao exemplo da introduo aos campos calculados. O nosso cenrio inicial dado pela figura a seguir. O que desejamos saber mdia unitria. Ns j possumos o total das vendas e o total da quantidade vendida.

Figura -26 Configurao inicial 7

Para inserir o campo calculado da mdia por unidade vendida, siga os passos abaixo: Ative a tabela dinmica; Clique na guia Opes e sob o grupo Ferramentas selecione Frmulas Campo Calculado; A figura abaixo mostra os passos acima visualmente:

Figura -27 Abrindo a caixa de dilogo do campo calculado 7

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

78

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Ao clicar na opo Campo calculado, a caixa de dilogo do campo calculado ser aberta. Aqui, precisamos determinar a nossa frmula. A figura abaixo mostra o novo campo j configurado:

Figura -28 Configurando o campo calculado 7

Com o campo criado, podemos retornar a nossa TD e adicion-lo a ela:

Figura -29 Resultado final de nosso campo calculado 7

Obtemos, assim, o nosso primeiro campo calculado. O nosso prximo problema adicionar o item calculado. Para que isso seja possvel, os itens do campo no podem estar agrupados. Caso os mesmos estejam agrupados (ou os dados venham de uma TD onde os itens estejam agrupados), necessrio desagrupar os dados antes de continuar. Para inserir o item calculado agregando os itens discutidos no tpico, siga os passos abaixo: Ative a tabela dinmica;
Robert F. Martim

Autor: Publicado: Contato:

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

79

Desenvolvimento inteligente

Clique na guia Opes e sob o grupo Ferramentas selecione Frmulas Item Calculado;

O Excel capaz de reconhecer o campo onde podemos efetuar o clculo e j abre a janela sugerindo qual campo utilizar:

Figura -30 Configurando o item calculado 7

Tudo que precisamos fazer adicionar o nome do campo e a frmula (neste caso uma simples soma) conforme mostra a figura anterior. Clique OK para terminar. A nossa TD agora ter o seguinte visual:

Figura -31 Configurao final da TD aps insero do item calculado 7

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

80

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

O qual no exatamente o que desejamos tendo em vista que agrupamos trs itens em um s. Sendo assim a soma total e para cada regio ter os trs itens adicionados tambm, como se os mesmos fizessem parte de uma nova categoria. O que precisamos fazer remover estes itens. Para tanto, clique na seta do menu suspenso9 da categoria e remova os itens consolidados:

Figura -32 Filtrando os itens 7

Ao clicar OK, os campos sero filtrados ficando somente a consolidao e os campos no consolidados. Neste ponto, o reclculo da TD feito e os valores corretos so mostrados:

Caso o menu suspenso da Categoria no esteja visvel, clique com o boto direito sobre o menu suspeso para ativar a categoria ou mude a visualizao para modo Tabular (Design Layout do Relatrio Mostrar em Formato de Tabela).

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

81

Desenvolvimento inteligente

Figura -33 Configurao final da TD aps ocultarmos os campos consolidados 7

Chegamos ao final da criao de campos e itens calculados. Vejamos agora como remov-los da lista de campos.

7.5.3. Editando/Excluindo campos/itens calculados Para remover um campo ou item calculado bastante simples. Acesse a caixa de dilogo de criao de itens/campo calculado. Na caixa de combinao Nome selecione o nome do campo/item e clique em Excluir:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

82

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -34 Excluindo item calculado 7

O leitor deve estar atento ao fato de que caso o campo esteja sendo usado o mesmo ser removido da TD. Isso ocorre porque o mesmo no est mais disponvel na lista de campo. Caso um novo campo calculado com o mesmo nome e caracterstica seja criado, o mesmo ser novamente mostrado na TD.

7.5.4. Determinando ordem de clculo Se a ordem de clculo fator importante em um campo ou item calculado (caso um campo ou item calculado dependa do resultado de outro), ento precisamos determinar a ordem de resoluo do clculo. Para determinar a ordem de clculo v at Opes Frmulas Ordem de resoluo. Na janela que abrir, selecione o campo/item e utilize o boto Mover para cima ou Mover para baixo para determinar a ordem:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

83

Desenvolvimento inteligente

Figura -35 Determinando ordem de resoluo 7

7.5.5. Determinando ordem de apresentao Outra questo de ordenao diz respeito apresentao. O Excel automaticamente sugerir uma ordem de apresentao dos itens em uma tabela dinmica. No obstante, um item pode ser mais importante que outro e o que realmente queremos que o item importante fique em destaque no topo da lista. A figura abaixo mostra a ordem padro (neste caso, alfabtica) dos itens do campo Categoria:

Figura -36 Ordem original 7

Supondo que o item calculado Outros deva vir no topo da lista de itens, ns podemos facilmente rearrumar a ordem os itens:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

84

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -37 Ordem revisada 7

Para rearrumar a ordem dos itens siga os passos abaixo: Selecione um item do campo onde ocorrer a rearrumao; Clique na Opes Classificar Ordem; Selecione a opo Manual. Mova o item para o local desejado.

A figura a seguir mostra os passos visualmente:

Figura -38 Determinando ordem de apresentao 7

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

85

Desenvolvimento inteligente

7.6. Determinando os Top 10 (os 10 Primeiros) Alm das facilidades que vimos at o momento, podemos utilizar a ferramenta de Top 10 ou os 10 Primeiros para determinar o grupo que possui os 10 maiores valores em nossa lista. Embora o nome oficial seja 10 Primeiros, isso no quer dizer que s possamos filtrar os 10 maiores valores. Na verdade, no somente podemos determinar quantos valores, mas tambm a ordem, isto , poderamos determinar os 10 menores valores em nossa TD. Para filtrar a lista para os 10 maiores ou menores valores, siga os passos abaixo: Clique sobre a ala de filtragem Filtros de Valores 10 Primeiros;

Figura -39 Determinando os 10 Primeiros 7

Na janela que abrir, determine o primeiro maior; Clique OK para terminar:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

86

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -40 O primeiro maior valor por regio da TD 7

10

10

Note que o filtro aplicado de acordo com o campo selecionado. Neste caso, o campo (item) usado o de loja. Autor: Robert F. Martim Criado em: 09/04/2009 Publicado: www.juliobattisti.com.br ltima edio: 2/7/2009 Contato: rm@msofficegurus.com

Srie Como Fazer Excel 2007: Tabelas Dinmicas

87

Desenvolvimento inteligente

8.

Salvando a TD como um documento HTM interativo

Este tpico apenas um comentrio sobre o que ocorreu com a interatividade de TD no Excel 2007. Infelizmente, a Microsoft removeu tal opo por motivos de segurana. Caso o leitor queira utilizar algo similar preciso utilizar o Excel Services.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

88

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

9.

Tabulando dados de Pesquisas com TDs

Este tpico funciona como estudo de casos. No estudo de casos, pegamos problemas reais e o estudamos. O resultado destes estudos no so verdades absolutas neste contexto, mas uma demonstrao de como proceder quando nos deparamos com tais situaes. Neste primeiro estudo tabularemos e analisaremos os resultados de uma pesquisa de opinio. J no segundo estudo de casos veremos uma questo recorrendo no frum de discusso: controle de estoque.

9.1. Tabulando e analisando dados de uma pesquisa de opinio: cenrio 1 tabulao global Os dados que utilizaremos neste estudo de caso so oriundos de um banco de dados Access. O objetivo no ensinar Access, portanto a criao de consultas no Access no ser tratada. Ao exportar os dados do Access para o Excel teremos algo como mostra a figura abaixo:

Figura -1 Situao dos dados importados do Access 9

Note que as respostas so colhidas como VERDADEIRO ou FALSO para todas as respostas possveis (de R1 a R6). Como texto contado, o primeiro passo requer a transformao destes valores para valores numricos. Utilizando a ferramenta de substituio, substitua os valores VERDADEIROS por 1 e os VALORES FALSOS por 0:

Figura -2 Converso para 1s e 0s 9 Autor: Publicado: Contato:


Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

89

Desenvolvimento inteligente

O nosso objetivo agora contar quantas vezes ocorrem as respostas para as opes R1 a R6. Uma soluo seria aplicar um filtro automtico e, utilizando a funo SOBTOTAL, somar cada uma das colunas:

Figura -3 Contando com a funo SUBTOTAL 9

No h nada de errado com esta abordagem a no ser o fato de ser lento e passvel de erro. Em momentos como este a soluo mais rpida e segura utilizar uma tabela dinmica. No caso da tabulao dos dados, o que desejamos : Contar as respostas dadas a cada opo; Saber o percentual que cada contagem representa para uma pergunta (No caso acima, o total geral por pergunta de 48 respostas ao passo que o nmero de respostas para opo R1 16. Portanto, 16 representa 34,78% do total) Sendo assim, o novo objetivo chegar a um resultado igual ao da figura abaixo:

Figura -4 Resultado final da tabulao da pesquisa 9

Os campos direita do campo R6 so campos calculados. No h necessidade de calcul-los diretamente na TD, porm para manter a integridade dos clculos recomendvel que seja feito. Para o final do curso mostro o motivo para escolher o campo calculado ao invs de calculo separado.
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

90

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Vejamos como chegar ao resultado j mostrado. Cada passo descrito abaixo seriatim: 1. Inicie criando a sua TD (Clique na clula A1 da planilha de dados e em seguida v at Inserir Tabela dinmica); 2. Adicione o campo Pergunta rea de linha; 3. Adicione os campos R1 a R6 rea de dados. A primeira parte est pronta e sua TD deve ser algo similar figura abaixo (o nome do campo de dados pode ser diferente tendo em vista que eu os renomeei):

Figura -5 Primeira parte da tabulao da pesquisa 9

11

A primeira parte de nossa TD est pronta. O prximo passo adicionar um campo para calcular o total por pergunta e colocar nossa TD em um formato tabular. Seguindo a numerao: 4. Adicione um campo calculado para retornar o total por pergunta. Para tanto, siga os passos: a. Clique em um ponto qualquer da TD; b. Clique em Opes Frmulas Campo calculado; c. Na janela que abrir, determine a frmula como segue (escolha um nome de sua preferncia):

11

O rtulo de valores se encontra na rea de linha. Autor: Robert F. Martim Publicado: www.juliobattisti.com.br Contato: rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

91

Desenvolvimento inteligente

Figura -6 Determinando o campo para calcular o total por linha (por pergunta) 9

5. Adicione este novo campo rea de dados;

Figura -7 Novo campo adicionado rea de dados 9

6. Passe o rtulo de valores da rea de linha para a rea de coluna (por padrao, no Excel 2007, o rtulo j estar na rea de rtulos de coluna. Terminada esta parte, ns teremos a tabulao por cada pergunta e opo de resposta no estilo tabular.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

92

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura -8 Campo Total_Pergunta adicionado 9

Finalmente, ns precisamos adicionar os percentuais. Como havia dito, isso pode ser feito manualmente ou atravs de um campo calculado. Por agora, faremos no estilo campo calculado. Mais para o final, mostro o motivo para se escolher esta opo ao invs de clculo externo: 7. Clique em um ponto qualquer da TD e repita o passo 4 acima para adicionar um novo campo. Adicione um campo chamado PctR1:

Figura -9 Novo campo adicionado rea de dados 9

8. Repita o passo 7 para as opes R2 a R6; 9. Adicione os novos campos (PctR1 a PctR6) rea de dados; 10. Formate esta rea para percentual mostrando duas casas decimais. O leitor agora ter a seguinte tabulao das perguntas e devidas respostas:
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

93

Desenvolvimento inteligente

Figura -10 Resultado final da tabulao 9

12

Terminada esta parte, ns teremos a tabulao por cada pergunta e opo de resposta no estilo tabular. Podemos agora utilizar tais resultados em grficos ou fazer um sumrio das respostas dadas. Vejamos agora um segundo cenrio em cima da mesma pesquisa, mas utilizando um consulta diferente no banco de dados.

9.2. Tabulando e analisando dados de uma pesquisa de opinio: cenrio 2 tabulao por cidade No cenrio anterior fizemos a tabulao global, isto , no nos preocupamos em quebrar mais os dados. Porm, pesquisas so feitas assim: determinadas por sexo, idade, localidade, etc. Todas estas categorias so eventualmente analisadas individualmente para comparao com a anlise global. Todas estas comparaes so relevantes em uma pesquisa. O intuito deste exemplo no comparar com o anterior, mas apenas fazer uma nova anlise a qual introduz o elemento cidade.

Figura -11 Dados para tabulao 9


12

Caso o relatrio esteja exibindo Soma de R1, etc, acesso o modo clssico de AutoFormato pressionando Alt F A. Depois, selecione um dos formatos de relatrio.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

94

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

A figura abaixo mostra o nosso objetivo intermedirio. Aqui temos apenas o hole count (contagem de respostas) para cada cidade em questo. O formato final similar ao anterior em visual, mas diferente na parte estrutural:

Figura -12 Formato intermedirio da TD 9

Aps a adio dos campos, obter o resultado acima relativamente simples. Porm, veremos como o Excel pivota a rea de dados para mostrar as opes como colunas (campos). Siga os passos abaixo para montar a parte inicial: 1. Inicie criando a sua TD (Clique na clula A1 da planilha de dados e em seguida v at Inserir Tabela dinmica); 2. Adicione o campo Cidade rea de linhas; 3. Adicione o campo Pergunta rea de linhas; 4. Adicione os campos de opes R1 a R6 rea de dados. Neste ponto, ns teremos uma TD como segue:

Figura -13 Primeiro passo completo 9 Autor: Publicado: Contato:


Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

95

Desenvolvimento inteligente

Ao terminarmos o primeiro passo ns teremos os dados em linha, o que causa uma expanso exagerada da TD para baixo. Se o leitor deseja formatar a TD manualmente, ns precisamos modificar a disposio dos dados (das opes de resposta). Para tanto, continue como segue: 5. Clique sobre o rtulo Data (dados em ingls) o qual representa o campo de dados e os seis campos das opes e segure o boto do mouse; 6. Usando o modo clssico de exibio, arraste este campo para cima da coluna Total conforme mostra a figura e solte o boto do mouse;

Figura -14 Rearranjando o somatrio 9

Note que a pequena figura do mouse mostra a rea sendo trabalhada (rea de dados em azul). Uma vez que tenha soltado o campo a TD ser redimensionada como segue:

Figura -15 Resultado do rearranjo 9

Esta forma que o Excel utiliza para pivotar os dados quando escolhemos uma opo de formatao automtica. Como o exemplo acima se refere a um formato de relatrio em cascata, poderamos simplesmente escolher uma das autoformataes disponveis para rapidamente pivotar os dados.
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

96

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

A figura abaixo mostra o mesmo resultado acima utilizando o modelo de autoformatao para relatrio 2 (para acessar o modo clssico de AutoFormatao pressione Alt F A):

Figura -16 Pivotando atravs da autoformatao 9

Estamos prontos agora para adicionar campos calculados e fazer as comparaes conforme ensinado antes. Caso o leitor queira, possvel pivotar este resultado para o resultado do tpico anterior. Ao arrastarmos (modo clssico de exibio) o campo Cidade para a rea de filtro:

Figura -17 Pivotando a cidade para a rea de filtro 9

Com os dados na rea de filtro ns teremos os totais para as perguntas na rea de dados e podemos rapidamente filtrar o resultado por cidade, evitando, assim, a criao de uma TD extra (a
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

97

Desenvolvimento inteligente

TD criada no tpico anterior a este). Ns temos em uma nica tabela os dois cenrios faltando apenas adicionarmos os campos calculados do tpico anterior:

Figura -18 O campo Cidade pivotado para a rea de filtro 9

Ao escolhermos uma cidade, ns obtemos rapidamente a anlise para a mesma, facilitando a comparao com o total:

Figura -19 Filtro por cidade 9

O leitor pode agora adicionar os campos calculados e efetuar as comparaes conforme desejar.
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

98

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

10. Tabelas dinmicas e VBA


Este curso estaria incompleto se no investssemos parte de nosso tempo no VBA. Enquanto que a utilizao de uma tabela dinmica no tem segredo algum e o uso de VBA no seja necessrio, existem excees. As excees geralmente ocorrem quando estamos preparando alguma tarefa auto-executvel para um cliente ou para os funcionrios da empresa. Neste caso, tais funcionrios ou no possuem o conhecimento ou no tem o tempo para reproduzir a criao de uma TD e precisam faz-lo com um clique do mouse. neste momento que VBA se torna imprescindvel, pois ele nos possibilita maximizar a criao de TDs quando a tarefa repetitiva. Alm disso, podemos utilizar objetos de uma TD apenas para extrair certos resumos para uso em um relatrio no Word ou PowerPoint e no queremos perder tempo repetindo a mesma tarefa. Independentemente de qual seja o uso, acredito que seja de mxima importncia estarmos por dentro de como utilizar o VBA em cima de TDs. E este tpico exatamente isso.

10.1. Gravando uma macro Uma das melhores formas de identificao de propriedades de um objeto qualquer atravs da gravao de uma macro. No caso de uma TD isso no diferente. Vamos iniciar com uma gravao. Para gravar uma macro bastante simples, v at a guia Desenvolvedor grupo Cdigo Gravar macro:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

99

Desenvolvimento inteligente

Figura 0-1 Janela de definio dos atributos de uma macro 1

Com a janela de gravao de macros aberta, digite o nome de sua macro, determine se h ou no uma tecla de atalho, determine o escopo da macro (onde ele deve ser armazenada) e coloque uma descrio para a mesma. Muitos usurios de Excel no sabem que possvel visualizar em tempo real a gravao da macro. Para tanto, abra o VBE antes de iniciar a gravao pressionando Alt+F11. Coloque a janela do Excel ao lado da janela do VBE conforme mostra a figura:

Figura 0-2 Visualizando em tempo real a gravao de macros 1 Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

100

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Neste ponto, qualquer modificao efetuada na planilha ser imediatamente refletida na janela do VBE. Com relao gravao de macros basicamente isso que o leitor precisa saber. Uma vez que a macro tenha sido gravado, o prximo passo a limpeza de linhas desnecessrias. Note na figura acima que a rolao da janela tambm foi gravada, contudo tal comando irrelevante para o trabalho em uma TD e o mesmo deve ser removido. No entrarei em detalhes sobre limpeza de gravao de macro, pois a limpeza bastante simples e deve seguir a lgica e objetivo da macro. Portanto, qualquer tentativa feita aqui apenas se referiria ao exemplo em questo. A construo da TD feita passo-a-passo para que cada elemento seja compreendido separadamente. Vejamos agora como programar de verdade a nossa TD.

10.2. Adicionando uma nova tabela dinmica Atravs da gravao de uma macro, j deve ser bvio para o leitor como criar uma tabela dinmica via VBA. Neste exemplo simples utilizaremos um nome dinmico para determinar a rea de dados que utilizaremos em nossa TD. Se o leitor pulou esta parte do curso, ela deve ser lida antes de continuar. Primeiramente, ns desejamos que a TD seja criada na prpria pasta de trabalho. Por padro, utilizaremos uma nova planilha:
Sub adicionarTD() Dim wb As Workbook

Set wb = ThisWorkbook With wb .PivotCaches.Add(xlDatabase, wb.Sheets("Dados").Range("Dados")). _ CreatePivotTable TableDestination:="", _ TableName:="Minha TD via VBA", _ Defaultversion:=xlPivotTableVersion10 End With Set wb = Nothing End Sub Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

101

Desenvolvimento inteligente

Neste exemplo, tudo que fazemos adicionar uma nova TD pasta de trabalho atual. Porm, pode haver cenrios onde desejamos criar a TD em uma nova pasta de trabalho. Porm, um erro de execuo comum durante este processo mostrado abaixo:

Figura 0-3 Erro em tempo de execuo para criao de TD em uma pasta nova 1

No sub-tpico abaixo, veremos como corrigir tal erro.

10.2.1. Adicionando uma nova tabela dinmica em uma nova pasta de trabalho Caso quisssemos criar uma TD utilizando VBA, o cdigo mais bvio que utilizaramos mostrado abaixo:
Sub adicionarTD_em_outra_pasta() Dim wb As Workbook Dim wbInput As Workbook Set wb = Application.Workbooks.Add Set wbInput = ThisWorkbook With wb .PivotCaches.Add(xlDatabase, _ CreatePivotTable TableDestination:="", _ TableName:="Minha TD via VBA", _ Defaultversion:=xlPivotTableVersion10 End With Set wb = Nothing Set wbInput = Nothing End Sub wbInput.Sheets("Dados").Range("Dados")).

Estruturalmente, no h nada de errado com o cdigo, porm ao atingir o bloco With ocorre o erro mostrado anteriormente.
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

102

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Mas antes de entrar no motivo e na soluo vejamos o que o cdigo acima faz: Possumos dois objetos Workbook. Um objeto utilizado como a nova pasta que receber a TD e o outro utilizado como a pasta que contm os dados; O objeto wb setado como uma nova pasta; O objeto wbInput setado como o objeto que contm a macro e os dados; No bloco With adicionamos o PivotCache e determinamos a fonte de dados para o
PivotCache (ou Cache se preferir).

Mas o que est ocorrendo no cdigo que gera tal erro? O problema que temos em mo que h uma leve demora entre a adio da nova pasta e o tempo de execuo do PivotCache. Neste pequeno intervalo a pasta no est pronta, mas o PivotCache entra na execuo gerando o erro13. Uma forma de resolver tal questo simplesmente adicionar uma pequena pausa na execuo do cdigo para termos certeza que o objeto j se encontra na memria e pronto para receber o
PivotCache.

O cdigo revisado abaixo mostra como isso feito:


Sub adicionarTD_em_outra_pasta() Dim wb As Workbook Dim wbInput As Workbook Set wb = Application.Workbooks.Add Set wbInput = ThisWorkbook Application.Wait (Now + TimeValue("00:00:01")) With wb .PivotCaches.Add(xlDatabase, _ CreatePivotTable TableDestination:="", _ TableName:="Minha TD via VBA", _ Defaultversion:=xlPivotTableVersion10 End With Set wb = Nothing Set wbInput = Nothing End Sub wbInput.Sheets("Dados").Range("Dados")).

13

Podemos considerer um bug tendo em vista que tal efeito no deveria efetivamente ocorrer. Autor: Robert F. Martim Criado em: 09/04/2009 Publicado: www.juliobattisti.com.br ltima edio: 2/7/2009 Contato: rm@msofficegurus.com

Srie Como Fazer Excel 2007: Tabelas Dinmicas

103

Desenvolvimento inteligente

Ao

adicionarmos

linha

Application.Wait

(Now

TimeValue("00:00:01"))

ns

adicionamos uma pausa de um segundo na execuo do cdigo. Este um segundo o suficiente para evitar o erro de execuo mostrado anteriormente. Alm deste detalhe, este erro tambm pode ocorrer caso j exista um TD com o mesmo nome ativa ou haja um PivotCache na memria.

10.3. Adicionando uma nova tabela dinmica utilizando os objetos PivotTable e PivotCache Nos exemplos anteriores ns adicionamos uma tabela dinmica diretamente a uma planilha ou pasta nova. Enquanto que no h nada de errado com este mtodo, ele nos deixa com um pequeno problema em mos: ele no nos fornece os objetos PivotTable (Tabela Dinmica) e
PivotCache para manipulao.

Este pequeno detalhe pode nos custar caro, principalmente se tudo que desejamos retornar informaes contidas nos objetos ao invs dos objetos em si. O cdigo abaixo executa tal operao. Explicaes acompanham o cdigo: Sub adicionarTD_com_PivotTable_e_PivotCache() ' Declarao dos objetos a serem utilizados Dim wb As Workbook Dim ptTbl As PivotTable Dim ptCache As PivotCache Dim ptRng As Range Instanciamento do objeto de destino (esta pasta de trabalho) e da rea que contm os dados (nome dinmico "Dados") Set wb = ThisWorkbook Set ptRng = Range("Dados") Instanciamento dos objetos PivotCache e PivotTable Note que a criao ocorre neste momento. Set ptCache = wb.PivotCaches.Add(xlDatabase, ptRng) Set ptTbl = ptCache.CreatePivotTable(TableDestination:="", _ TableName:="TD1", Defaultversion:=xlPivotTableVersion10) ' ' ' ' possvel instanciar a Tabela Dinmica como segue, porm o visual ser diferente, isto , as reas indicativas ficaro ocultas. Set ptTbl = ptCache.CreatePivotTable("", "TD1")

' '

' '

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

104

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

'

Limpa os objetos da memria Set wb = Nothing Set ptRng = Nothing Set ptCache = Nothing Set ptTbl = Nothing End Sub Ao executar o cdigo acima a rea ser preparada como segue:

Figura 0-4 rea da TD inserida via VBA 1

Caso o leitor decida pelo segundo mtodo de instanciamento mostrado no cdigo o resultado da TD ser como segue:

Figura 0-5 TD sem determinao de destino e verso 1

Embora o espao visual seja diferente a funcionalidade a mesma que a do anterior. Agora que j temos a TD definida, vejamos como adicionar campos s diferentes reas de nossa TD.

10.4. Adicionando campos a TD usando VBA: orientao de campos Este tpico assume que j possumos um TD em uma determinada planilha e tudo que desejamos fazer adicionar os campos em suas determinadas reas. Este cdigo pode ser juntado ao anterior para criar todo o processo em um nico. Quando adicionamos os campos, utilizaremos uma das seguintes orientaes para os campos:
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

105

Desenvolvimento inteligente

xlColumField Adiciona o campo rea de coluna; xlDataField Adiciona o campo rea de dados; xlHidden Utilizado para excluir um campo da TD; xlPageField Adiciona o campo rea de filtro (rea de pgina); xlRowField Adiciona o campo rea de linha.

A propriedade Orientation determina a orientao do campo dentro de uma TD recebendo como valor uma das opes acima. Uma outra propriedade que nos interessa Position. A propriedade Position determina a posio de um campo em uma determinada rea. Por exemplo:

Figura 0-6 Posio de campos dentro de uma determinada rea 1

Na figura acima possumos dois campos na rea de linha (Cidade e Categoria). O campo Cidade encontra-se na primeira posio ao passo que o campo Categoria encontra-se na segunda posio. Alm do posicionamento na rea de filtro, linha e coluna, ns precisamos nos atentar a rea de dados. Assim como nas outras reas onde podemos adicionar mais de um campo, ns podemos adicionar um mesmo campo vrias vezes na rea de dados. A diferena que utilizamos o objeto relativo ao campo (PivotField). O campo pode ser o mesmo, porm o rtulo do campo deve ser diferente. Na figura anterior, o rtulo Soma de Total. O cdigo abaixo mostra como executar tal procedimento. Explicaes acompanham o cdigo:
Sub adicionarCampo() ' Declarao dos objetos Dim ptTbl As PivotTable Dim ptFld As PivotField
Robert F. Martim

Autor: Publicado: Contato:

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

106

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

' ' ' ' ' '

Instanciando qual tabela dinmica utilizar. Assume que j existe um TD na planilha de nome "TD" cujo nome "TD1" Set ptTbl = ThisWorkbook.Sheets("TD").PivotTables("TD1") Com a TD instanciada With ptTbl "Setar" o nome do campo a ser utilizado. Set ptFld = .PivotFields("Regio") Com o campo "setado"... With ptFld ... orientar o campo para a rea de filtro (rea de pgina) .Orientation = xlPageField ... determinar a posio do campo (somente necessrio se mais de um campo na rea de filtro. inserido aqui para referncia) .Position = 1 ... Determinar qual campo ser usado como filtro. Neste caso, filtraremos os dados para o "Sudeste" .CurrentPage = "Sudeste" End With Remove o objeto da memria para reutilizarmos o objeto Set ptFld = Nothing O mesmo que o campo anterior. Set ptFld = .PivotFields("Cidade") With ptFld .Orientation = xlRowField .Position = 1 End With Set ptFld = Nothing

' houver ' ' ' '

' '

' '

O mesmo que o campo anterior, porm o campo "Categoria" ficar na segunda posio na rea de linha Set ptFld = .PivotFields("Categoria") With ptFld .Orientation = xlRowField .Position = 2 End With Set ptFld = Nothing

' ' ' ' Autor: Publicado: Contato:

"Seta" o campo que utilizaremos na rea de dados Set ptFld = .PivotFields("Total") Adicionar o campo, como um objeto, rea de dados. Define o tipo de sumrio como sendo soma utilizando a funo xlSum .AddDataField ptFld, "Soma do Total", xlSum
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

107

Desenvolvimento inteligente

Set ptFld = Nothing End With Set ptTbl = Nothing End Sub

O nosso prximo passo remover o campo de uma TD.

10.4.1. Removendo campos de uma TD Para remover um campo bastante simples. Na verdade, to simples que o leitor poderia gravar uma macro removendo um campo para descobrir como isso feito. J foram apresentadas as diversas orientaes de campos dentro de uma TD. Uma das orientaes xlHidden. Seguindo a linha de raciocnio do exemplo anterior, ns podemos resumir a excluso como segue:
Sub excluirCampo() Dim ptTbl Dim ptFld As PivotTable As PivotField

Set ptTbl = ThisWorkbook.Sheets("TD").PivotTables("TD1") Set ptFld = ptTbl.PivotFields("Categoria") ptFld.Orientation = xlHidden Set ptTbl = Nothing Set ptFld = Nothing End Sub

Como podemos ver, remover um campo bastante simples. Vejamos agora como adicionar campos utilizando uma matriz.

10.4.2. Adicionando campos via matriz (Array) Quando adicionamos os campos anteriormente tivemos o trabalho de especificar cada campo individualmente, porm alm de trabalhoso desnecessrio. Um mtodo melhor utilizar uma matriz juntamente com o mtodo AddFields do objeto
PivotTable. Sub campoPorMatriz() Dim ptTbl As PivotTable Dim ptCache As PivotCache Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

108

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Dim ptRng

As Range

Set ptRng = Range("dados") Set ptCache = ThisWorkbook.PivotCaches.Add(xlDatabase, ptRng) Set ptTbl = ptCache.CreatePivotTable(tabledestination:="", _ Tablename:="TD2", defaultversion:=xlPivotTableVersion10) With ptTbl .AddFields RowFields:=Array("Cidade", "Categoria") ' .AddFields RowFields:=Array("Cidade", "Categoria"), ColumnFields:="Regio" .PivotFields("Total").Orientation = xlDataField End With Set ptRng = Nothing Set ptCache = Nothing Set ptTbl = Nothing End Sub

No exemplo acima, temos a matriz para insero dos campos na rea de linha (Array("Cidade",
"Categoria")) alm da insero do campo Total na rea de dados sem a necessidade de

utilizarmos o mtodo AddDataField e o objeto relativo ao campo. No mesmo mtodo, podemos adicionar campos de categoria no mesmo esquema que os campos de linha.

10.5. Copiando valores de uma TD e colando como valores fixos e desconectados Pode ocorrer cenrios onde o leitor deseja apenas os dados de uma TD e no a TD em si. Em cenrios como estes, ns estamos interessados na utilizao do sumrio retornado pela TD em um relatrio no Word, apresentao do PowerPoint ou at mesmo para utilizao em clculos no Excel, para evitar problemas com referncias absolutas (ou no, dependendo do cenrio) no calculo direto na TD, alm de nos livrarmos do PivotCache o qual certamente consumir tamanho do arquivo. Vejamos como efetuar tal cpia. Explicaes acompanham o cdigo:
Sub calculoManualAutomatico() ' Declarao dos objetos e variveis Dim ptTbl As PivotTable Dim ptCache As PivotCache Dim ws As Worksheet Dim lngLin As Long Desabilita a atualizao de tela para melhorar o desempenho Application.ScreenUpdating = False Cria o PivotCache
Robert F. Martim

' '

Autor: Publicado: Contato:

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

109

Desenvolvimento inteligente

Set ptCache = ThisWorkbook.PivotCaches.Add(xlDatabase, Range("dados")) ' Cria a Tabela Dinmica Set ptTbl = ptCache.CreatePivotTable(Tabledestination:="", _ TableName:="TD1", Defaultversion:=xlPivotTableVersionCurrent) Com a TD... With ptTbl Adicionar os campos de linha, coluna e filtro (pgina) .AddFields RowFields:="Cidade", _ ColumnFields:="Categoria", PageFields:="Regio" Adicionar o campo de dados .PivotFields("Total").Orientation = xlDataField Filtrar a regio .PivotFields("Regio").CurrentPage = "Sudeste" Copiar a TD .TableRange2.Copy Instanciar o objeto "ws" como sendo a planilha ativa Set ws = ActiveSheet Com a planilha With ws Determinar a ltima linha com dados e somar 5 a ela lngLin = .Cells(Application.Rows.Count, 1).End(xlUp).Row + 5 Colar especial o que foi copiado da TD .Cells(lngLin, 1).PasteSpecial xlPasteValuesAndNumberFormats End With Limpar a TD da rea que ocupa atualmente .TableRange2.Clear Com a planilha... With ws Remover linhas e selecionar clula A1 .Rows("1:" & lngLin - 1).Delete Shift:=xlUp .Cells(1, 1).Select End With End With ' ' Reativar a atualizao de tela Application.ScreenUpdating = True Limpar objetos Set ws = Nothing Set ptTbl = Nothing Set ptCache = Nothing

' '

' ' ' ' ' ' '

' ' '

End Sub Autor: Publicado: Contato:


Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

110

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

10.6. Clculo manual ou automtico? Uma questo importante em relao ao uso de VBA na criao de tabelas dinmicas diz respeito ao clculo automtico. Quando adicionamos itens em um local qualquer de nossa planilha via VBA o item aparece instantaneamente no local determinado. Infelizmente, isso reduz a velocidade de processando do que estamos fazendo. A soluo utilizada determinar a propriedade ScreenUpdating do aplicativo para False (Falso) enquanto executamos o cdigo e no final da execuo retornamos para True (Verdadeiro). Em uma tabela dinmica o mesmo ocorre, porm ns utilizamos a propriedade ManualUpdate para determinar a atualizao da TD e melhorar o desempenho do cdigo.
Sub calculoManualAutomatico() ' Declarao dos objetos Dim ptTbl As PivotTable Dim ptCache As PivotCache Dim ptFld As PivotField Set ptCache = ThisWorkbook.PivotCaches.Add(xlDatabase, Range("dados")) Set ptTbl = ptCache.CreatePivotTable(Tabledestination:="", _ TableName:="TD1", Defaultversion:=xlPivotTableVersionCurrent) With ptTbl ' ' ' ' ' ' ' ' ' Determina atualizao manual .ManualUpdate = True . . . Seu cdigo entra aqui . . . Determina atualizao automtica .ManualUpdate = False End With Set ptTbl = Nothing

End Sub

Efetuando a criao da TD nestes moldes, o resultado final ser bem mais rpido.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

111

Desenvolvimento inteligente

11. Problemas em potencial


Este ltimo tpico dedicado alguns problemas que o leitor poder encontrar no caminho da construo de uma tabela dinmica perfeita. Muitos usurios no conseguem criar uma tabela dinmica de impacto por no conhecerem os dados com os quais trabalha e/ou por no compreender como uma TD analisa e agrupa as informaes. Ao chegar neste tpico acredito que o leitor ter uma viso completa destes pontos que eu considero bsicos, no obstante ainda podero ocorrer cenrios onde o leitor precisar usar de bom-senso, conhecimento dos dados (e caso no conhea precisar estud-los) e do conhecimento adquirido neste curso para rearranjar as informaes de modo que consiga o resultado desejado. Neste tpico discutirei tais problemas e darei sugestes de como proceder. Lembre-se apenas que cada caso um caso. Portanto, use as dicas como guias para solucionar os seus problemas e no como solues propriamente ditas.

11.1. Campos nulos (vazios) e em brancos: qual a diferena e como determin-la? Um problema comum em tabelas dinmicas diz respeito a campos nulos. Primeiramente, ns precisamos distinguir um campo nulo de um campo em branco. A figura abaixo mostra um cenrio simples:

Figura 1-1 Nulo ou em branco? 1

O campo acima nulo ou est em branco? Apenas olhando a figura no possvel determinar se o campo nulo ou se est vazio, porm, ao criamos a nossa tabela dinmica a diferena aparecer:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

112

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Figura 1-2 Campos nulos e em branco 1

Note que quando o campo aparece com a palavra vazio ele , na verdade, nulo. Por outro lado, quando ele aparece em branco, ele realmente em branco e no nulo. Mas como distinguir em branco e nulo (vazio)? Via de regra, se nada foi feito no campo, ele por padro nulo. Por outro lado, se algo foi digitado nele (mesmo que seja uma string em branco) ele no nulo ele em branco. O leitor poderia criar a seguinte funo em VBA para avaliar se o campo nulo ao no:
Function Nulo(ByVal clula As Range) As Boolean Nulo = IsNull(clula) End Function

Porm, ao testar o campo, o resultado ser:

Figura 1-3 Funo para verificao de nulo 1

Infelizmente, este no o melhor mtodo para testar se um campo ou no nulo. No estrito senso de um banco de dados o campo nulo e, portanto, precisamos utilizar objetos de um banco de dados para determinar se um campo ou no nulo. A figura abaixo mostra o resultado de um loop pelo campo Letra para determinar se o valor de um registro deste campo ou no nulo:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

113

Desenvolvimento inteligente

Figura 1-4 Verificando nulos 1

Como podemos ver, aqui registrado corretamente o status do campo. O valor em branco , na verdade, nulo. Por outro lado, ao adicionar um espao (o qual invisvel) e rodarmos novamente o cdigo o resultado agora j no mais nulo:

Figura 1-5 Verificando nulos 1

OK, voc deve estar dizendo, qual o ponto disso tudo?. O ponto que desejo enfatizar que o leitor precisa estar ciente de tal sutileza para determinar se o valor nulo (mostrado como vazio na TD) porque no h tal informao ou se ele em branco (mostrado sem texto algum) porque h um espao no registro quando deveria ter, na verdade, um outro valor. Isso crucial! Apenas lembre-se do cenrio de eleies: - voc capaz de dizer a diferena entre voto em branco e voto nulo? Agora, coloque no contexto de uma TD. Imagine voc tabulando votaes em branco como se fossem votaes nulas? Acredito que seja desnecessrio dizer que seria um desastre, pois embora paream a mesma coisa, ambos so entidades completamente distintas!
Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

114

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Portanto, mais uma vez, vale a pena lembrar a importncia de conhecer os dados. Se existe um campo com algum registro nulo quando voc esperava algo diferente, verifique imediatamente a integridade dos dados para evitar problemas na tabulao. Finalmente, abaixo se encontra o cdigo que utilizei para determinar se o valor ou no nulo:
Sub checarNulos() Dim db As DAO.Database Dim rs As DAO.Recordset Set db = OpenDatabase(ThisWorkbook.FullName, False, False, "Excel 8.0") Set rs = db.OpenRecordset("SELECT * FROM [Dados$]", dbOpenSnapshot) rs.MoveFirst Do While Not rs.EOF Debug.Print "Valor: " & rs.Fields("Letra").Value _ & vbCr & " nulo?: " & IsNull(rs.Fields("Letra").Value) Debug.Print vbCr rs.MoveNext Loop rs.Close db.Close Set rs = Nothing Set db = Nothing End Sub

O leitor pode agora tomar uma deciso mais acertada em relao ao cenrio aqui apresentado.

11.2. Descontinuidade nos dados Seguindo a linha de raciocnio do exemplo anterior, imagine o cenrio onde h descontinuidade nos dados:

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

115

Desenvolvimento inteligente

Figura 1-6 Dados em formato de relatrio 1

A planilha acima no tem nada de errado, desde que o desejo seja subtotalizar por cmodo. Porm, note que a informao acima veio de um banco de dados para o Excel o mais provvel que ela seja de um relatrio. Deste modo, o cmodo nada mais do que um campo em uma outra tabela (ou na mesma tabela). Na verdade, na prpria planilha podemos ver na coluna A o nome do campo. O problema que obviamente temos a quebra na continuidade e a no repetio do dado no respectivo campo. Observe que a repetio no Excel necessria, mas em um banco de dados isso no . Em banco de dados, a forma correta relacionar os campos para evitar duplicao de informaes. Este o motivo para os dados acima fiquem neste formato em um relatrio. Ao chegar neste ponto, o leitor j teve a resposta bvia: limpar os dados. A primeira coisa que precisamos fazer remover as linhas vazias para dar continuidade lista.

Figura 1-7 Dados limpos e prontos para insero em uma tabela dinmica 1 Autor: Publicado: Contato:
Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

116

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

Com os dados no formato acima, ns estamos prontos para criar a nossa TD, pois eles esto no formato apropriado. No exemplo abaixo, fao uma simples contagem de quantos produtos esto destinados a cada cmodo:

Figura 1-8 Exemplo simples de uma TD usando os dados limpos 1

11.3. A funo INFODADOSTABELADINMICA A funo INFODADOSTABELADINMICA tem sua utilidade, porm, pode haver situaes onde ela atrapalha mais do que ajuda. Observe a figura abaixo:

Figura 1-9 A funo INFODADOSTABELADINMICA 1

Note que a referncia clula absoluta ($A$3) para o campo que desejamos extrair o valor. Embora tal referncia nos ajude a manter certa integridade dos dados, muitas vezes ela atrapalha. Caso o leitor queira arrastar a frmula ou ocorra alguma mudana estrutural na tabela dinmica, o resultado final do clculo manual pode soletrar d-e-s-a-s-t-r-e.

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

117

Desenvolvimento inteligente

A soluo do problema desativar a insero automtica de tal funo. A forma mais fcil simplesmente: Acessar as opes do Excel (Boto do Office) Frmulas Usar funes GetPivotData para referncias de Tabela Dinmica

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

118

Srie Como Fazer Excel 2007: Tabelas Dinmicas

Desenvolvimento inteligente

12. Sobre o autor


FORMAO ACADMICA E ESPECIALIZAES: Formado e Ps-Graduado em Finanas pela Universidade de Londres, Reino Unido. Membro da Sociedade Brasileira de Econometria Microsoft Office Specialist Expert, Microsoft Certified Professional

LINGUAGENS DE PROGRAMAO E PLATAFORMAS: Visual Basic, Calculadores Programveis Casio e Sharp BDs: MS Access and Lotus Approach Plataformas: Windows NT, 2000, XP, Vista, Linux Red Hat

EXPERINCIA PROFISSIONAL abr04out02-abr04 CONSULTOR DE TI INDEPENDENTE FAIRCOURT CAPITAL LIMITED (REINO UNIDO) fev96-maio02 Diretor TI

MELVALE GROUP (REINO UNIDO) Gerente de Exportao para a frica Ocidental Gerente de TI

OUTRAS ESPECIALIZAES Inspeo e regulamentaes Nigerianas para importao e exportao (Nigerian-British Chamber of Commerce & Cotecna International) Procedimentos de exportao no Reino Unido (The Institute of Export, Reino Unido) ICC 500 e Incoterms (The Institute of Export, Reino Unido)

OUTRAS ATIVIDADES Fornece suporte pro bono em TI entidade de caridade Nigeriana NIDOE (Nigerians in Diaspora Organisation Europe) desde 2001. Participou ativamente na organizao da conferncia sobre Boa Governana e Responsabilidade Fiscal promovida pelo ONG em Abuja, Nigria, em novembro de 2003. Foi um dos principais colaboradores na elaborao do relatrio final sobre a conferncia entregue a presidncia da Repblica Nigeriana em maio de 2004. Autor do livro Excel e VBA na Modelagem Financeira: Uma abordagem prtica. Editora Axcel Books, 2005. www.axcel.com.br Autor principal do livro RibbonX: Customizing the Office 2007 Ribbon, John Wiley & Sons Publishing, 2008.
Robert F. Martim

Autor: Publicado: Contato:

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Srie Como Fazer Excel 2007: Tabelas Dinmicas

119

Desenvolvimento inteligente

Autor do livro: Excel 2007 Avanado, Editora Universo dos Livros, 2008.

Colaborador ativo do frum Excel Avanado do site www.juliobattisti.com.br, onde divide seu conhecimento e experincia com outros membros do espao. Webmaster do site www.msofficegurus.com Colunista dos sites www.linhadecodigo.com.br

Autor: Publicado: Contato:

Robert F. Martim

www.juliobattisti.com.br rm@msofficegurus.com

Criado em: ltima edio:

09/04/2009 2/7/2009

Você também pode gostar