Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

quinta-feira, 29 de setembro de 2011

Resolva o problema: "processo SPOOLSV.EXE consumindo 100% de processamento (CPU)"

Dica válida para Windows 7, Vista, Server 2008, XP e Server 2003.

Nas minhas andanças nas empresas onde presto suporte técnico, normalmente me deparo com usuários reclamando de lentidão excessiva em suas estações.

Como de costume, dou uma verificada no Gerenciador de tarefas do Windows a fim de identificar se existe algum processo que esteja consumindo excessivamente poder de processamento (CPU) ou memória.

Daí, vez por outra, percebo que o processo spoolsv.exe está consumindo absurdos 99%  de uso de CPU. Com isso não é de admirar que o computador fique absurdamente lento, tendo em vista que o processador está completamente ocupado com o referido processo.

O processo Spoolsv.exe está diretamente relacionado com o serviço  SPOOLER DE IMPRESSÃO. Isto significa que se o processo Spoolsv.exe for finalizado, o usuário não poderá trabalhar com a sua ou suas impressoras, sejam elas locais (instaladas no próprio micro) ou instaladas em outro computador (acesso através da rede).
A pergunta que fica é: Como podemos resolver isso? 

SPOOLSV.exe consumindo praticamente 100% de CPU
Processo SPOOLSV consumindo praticamente 100% de processamento
(Clique na imagem acima para ampliar)


Solucionando o problema no processo SPOOLSV.exe

Embora eu ainda NÃO tenha visto este problema ocorrer com o Windows 7, Vista e Windows Server 2008, resolvi postar esta matéria sendo destinada a todos os sistemas Windows a partir do XP e Server 2003.

Na realidade existem três motivos pelos quais o processo spoolsv.exe pode consumir excessivo processamento.
  1. Arquivos corrompidos na subpasta PRINTERS
  2. Impressora imprimindo na porta errada. Por exemplo: Uma impressora USB configurada para imprimir numa porta LPT1.
  3. Problema com Microsoft Office Document Image Writer

Arquivos corrompidos na subpasta PRINTERS

OBS: Para executar estes procedimentos você deve ter feito logon com uma conta de usuário com privilégios de Administrador.

Para corrigir esta falha, faça o seguinte:

1. Antes de qualquer coisa, é necessário pararmos o serviço SPOOLER DE IMPRESSÃO. Se não pararmos este serviço, não conseguiremos deletar os arquivos da subpasta PRINTERS (Isto será visto mais à frente).

Para isso execute o comando abaixo clicando antes  no menu Iniciar - Executar (para Windows XP e Server 2003) ou em Iniciar - Iniciar Pesquisa (para Windows Server 2008). Para Windows 7 pressione a tecla com logomarca do Windows + a tecla R.

net stop spooler

Pressione ENTER

Ao executar este comando, todas as impressoras locais residentes em Impressoras e aparelhos de fax (Windows XP/Server 2003) ou em Dispositivos e impressoras (Windows 7/Server 2008 R2) desaparecerão. Isto é normal.

OBSERVAÇÃO IMPORTANTE: Ao parar o serviço de impressão (SPOOLER DE IMPRESSÃO) todos os documentos na fila de impressão da(s) impressora(s) serão perdidos. Portanto, os usuários deverão reenviar seus documentos após a correção do erro.

2. Em seguida, clique no menu Iniciar - Executar (para Windows XP e Server 2003) ou em Iniciar - Iniciar Pesquisa (para Windows Server 2008). Para Windows 7 pressione a tecla com logomarca do Windows + a tecla R.

3. Digite este caminho na janela do Executar:

%windir%\system32\spool\printers

Pressione ENTER

Onde %windir% representa a pasta Windows e os demais são apenas subpastas da pasta Windows.

4. Ao entrar na pasta Printers apague todos os arquivos presentes na mesma.

(Obs: Caso não consiga remover os arquivos da pasta Printers, reinicie o micro e acesse seu Windows em Modo Seguro.)

5. Agora execute o comando abaixo na janela do "Executar" para iniciar o serviço SPOOLER DE IMPRESSÃO:

net start spooler

Pressione ENTER

Agora que o serviço de impressão foi iniciado verifique no Gerenciador de tarefas do Windows se o processo Spoolsv.exe agora está com uso de CPU normal, ou seja, em 0%. É claro que se o computador em questão compartilha uma ou mais impressoras na rede, é possível que o processo não esteja em 0%, mas pelo menos ficará normalmente bem abaixo de 100%.

Impressora imprimindo na porta errada

OBS: Para executar estes procedimentos você deve ter feito logon com uma conta de usuário com privilégios de Administrador.

1. Para isso execute o comando abaixo clicando antes  no menu Iniciar - Executar (para Windows XP e Server 2003) ou em Iniciar - Iniciar Pesquisa (para Windows Server 2008). Para Windows 7 pressione a tecla com logomarca do Windows + a tecla R.

net stop spooler

Pressione ENTER

E em seguida execute:

net start spooler

Pressione ENTER

2. Clique no menu Iniciar - Impressoras e aparelhos de fax (Windows XP/Server 2003) ou em Impressoras (Windows Server 2008) ou ainda em Dispositivos e impressoras (Windows 7).

3.  CENÁRIO:
Digamos que exista uma impressora USB chamada Epson C65 e que a mesma foi configurada incorretamente para imprimir na porta LPT1. Daí um usuário envia uma impressão e verifica que após isso seu computador tornou-se instável.

Portanto, clique com o botão direito do mouse sobre a impressora Epson C65 e em seguida clique com o botão esquerdo sobre Propriedades. Para Windows 7 você deve clicar com o botão direito do mouse sobre a impressora e em seguida clicar com o botão esquerdo em Propriedades da impressora.

4. Agora clique na guia Portas.

5. Após verificar que a impressora está imprimindo na porta errada, selecione a porta correta conforme as figuras abaixo:


Impressora USB Epson C65 configurada para imprimir na porta LPT1
Impressora USB Epson C65 configurada para imprimir na porta LPT1
(Clique na imagem para ampliar)

Impressora USB Epson C65 configurada para imprimir na porta correta
Impressora USB Epson C65 configurada para imprimir na porta correta
(Clique na imagem para ampliar)

6. Após selecionar a porta correta clique em OK

7. Verifique se a lentidão acabou visualizando o Gerenciador de tarefas do Windows.

Microsoft Office Document Image Writer

Às vezes pode acontecer que o usuário ao invés de enviar seu trabalho de impressão para sua impressora, ele acabe enviando acidentalmente para a impressora virtual (acredito que posso chamá-la assim) Microsoft Office Document Image Writer. Clique aqui para entender o que significa. 
Ao ficarem presos os documentos nesta "impressora", é possível que o processo spoolsv.exe use 100% de processamento. Muitos técnicos costumam ver este erro acontecer com frequência em computadores rodando o Windows XP nas empresas.

OBS: Para executar estes procedimentos você deve ter feito logon com uma conta de usuário com privilégios de Administrador.

1. Execute os comandos abaixo clicando antes no menu Iniciar - Executar (Windows XP/Server 2003).

net stop spooler

Pressione ENTER

E em seguida execute:

net start spooler

Pressione ENTER


2. Verifique se Microsoft Office Document Image Writer está definida como impressora padrão. Caso esteja, marque como impressora padrão a verdadeira impressora do usuário. Fazendo isso, você impedirá o usuário de imprimir na impressora lógica incorreta.

3. Se esta "impressora" não for necessária, você pode excluí-la.

4. Verifique se a lentidão acabou visualizando o Gerenciador de tarefas do Windows. 

Espero ter contribuído ao seu conhecimento.

Fonte: http://www.fatorconhecimento.com/2010/05/processo-spoolsvexe-consumindo-100-de.html

quinta-feira, 22 de setembro de 2011

Como preparar a migração de mensagens do Windows Mail e Outlook Express antes de instalar o Windows 7

Este artigo aplica-se a uma versão do Windows diferente da que você está usando. O conteúdo deste artigo pode não ser relevante para você.Visite o Centro de Suporte de Windows Vista  
Nesta página

    * Sintomas
    * Sumário
    * Exportar dados do Outlook Express
          o Exporte suas Mensagens
          o Exporte seu Catálogo de endereços
          o Exporte suas Configurações de conta de e-mail
    * Exportar dados do Windows Mail
          o Exporte suas Mensagens
          o Exporte seu Catálogo de endereços
          o Exporte suas Configurações de conta de e-mail
    * Importar dados salvos do Outlook Express usando o Windows Live Mail
          o Instale o Windows Live Mail.
          o Importe suas Messagens
          o Importe seus Contatos
          o Importe suas Configurações de conta de e-mail
    * Importar dados salvos do Windows Mail usando o Windows Live Mail
          o Instale o Windows Live Mail.
          o Importe suas Messagens
          o Importe seus Contatos
          o Importe suas Configurações de conta de e-mail

Expandir tudo | Recolher tudo
Sintomas
O Windows Mail e Outlook Express foram descontinuados no Windows 7 e a nova apl...
O Windows Mail e Outlook Express foram descontinuados no Windows 7 e a nova aplicação de email é o Windows Live Mail. Então, antes de instalar o Windows 7 é recomendado exportar suas mensagens, contatos e configurações de conta para facilitar a importação no Windows Live Mail após instalar o Windows 7.
Sumário
Exportar dados do Outlook ExpressExportar dados do Windows MailImportar dados sa...

    * Exportar dados do Outlook Express
    * Exportar dados do Windows Mail
    * Importar dados salvos do Outlook Express usando o Windows Live Mail
    * Importar dados salvos do Windows Mail usando o Windows Live Mail

Voltar para o início
Exportar dados do Outlook Express
Exporte suas Mensagens Clique em Iniciar, Todos os programas, Outlook Express Cl...
Exporte suas Mensagens

   1. Clique em Iniciar, Todos os programas, Outlook Express
   2. Clique em Ferramentas e selecione Opções
   3. Selecione a guia Manutenção e clique no botão Pasta de armazenamento
   4. Selecione todo o caminho da pasta em O armazenamento de suas mensagens pessoais está localizado na seguinte pasta
   5. Pressione CTRL+C para copiar esse caminho
   6. Feche todas as janelas e o Outlook Express
   7. Clique em Iniciar, Executar, apague qualquer informação escrita nessa janela e pressione CTRL+V para colar o caminho da pasta de armazenamento do Outlook Express, então clique em OK
   8. Selecione todos os arquivos nesta pasta, para isso pressione as teclas CTRL+A ou clique no menu Editar e então em Selecionar tudo
   9. Copie todos os arquivos para uma nova pasta em um local seguro como um dispositivo USB ou HD externo. Para isso pressione as teclas CTRL+C (ou clique no menu Editar e então Copiar, navegue até o local seguro que deseja colar os arquivos e pressione CTRL+V (ou clique no menu Editar e então Colar)

Exporte seu Catálogo de endereços

   1. Clique em iniciar, Todos os programas, Outlook Express
   2. Clique no ícone do catálogo de endereços na barra do Outlook Express
   3. Na janela do Catálogo de endereços clique em Arquivo, Exportar e selecione a opção Catálogo de endereços (.WAB)
   4. Exporte seu catálogo de endereços para uma nova pasta em um local seguro como um dispositivo USB ou HD externo

Exporte suas Configurações de conta de e-mail

   1. Clique em iniciar, Todos os programas, Outlook Express
   2. Clique em Ferramentas e então selecione a opção Contas
   3. Selecione a guia Email
   4. Selecione uma conta no painel central e clique no botão Exportar
   5. Exporte seu catálogo de endereços para uma nova pasta em um local seguro como um dispositivo USB ou HD externo

Exportar dados do Windows Mail
Exporte suas Mensagens Clique em iniciar, Todos os programas, Windows MailClique...
Exporte suas Mensagens

   1. Clique em iniciar, Todos os programas, Windows Mail
   2. Clique em arquivo, Exportar e então selecione Mensagens
   3. Selecione a opção Microsoft Windows Mail e clique em avançar
   4. Clique no botão Procurar, selecione uma nova pasta em um local seguro como um dispositivo USB ou HD externo
   5. Clique em Avançar após selecionar o local
   6. Selecione a opção Todas as pastas e clique no botão Avançar
   7. Após finalizar a exportação clique no botão Concluir

Exporte seu Catálogo de endereços

   1. Clique em Iniciar, Todos os programas, Windows Mail
   2. Clique em Arquivo, Exportar e então selecione Contatos do Windows
   3. Selecione a opção Arquivo de texto (valores separados por vírgula)
   4. Clique no botão Procurar e selecione uma nova pasta em um local seguro como um dispositivo USB ou HD externo
   5. Digite seu nome nome do arquivo e então clique no botão Salvar
   6. De volta à janela de exportação clique no botão Avançar
   7. Selecione todas as informações dos contatos que deseja exportar e clique no botão Concluir
   8. Após finalizar a exportação clique no botão OK e feche as demais janelas

Exporte suas Configurações de conta de e-mail

   1. Clique em Iniciar, Todos os programas, Windows Mail
   2. Clique em Ferramentas e então selecione Contas
   3. Selecione uma conta que deseja exportar e clique no botão Exportar
   4. Selecione uma nova pasta em um local seguro como um dispositivo USB ou HD externo e então clique no botão Salvar
   5. Clique no botão fechar em seguida feche o Windows Mail

Importar dados salvos do Outlook Express usando o Windows Live Mail
Instale o Windows Live Mail. O primeiro passo a fazer é instalar o Windows Live...
Instale o Windows Live Mail.
O primeiro passo a fazer é instalar o Windows Live Mail para importar os dados.
Acesse o site do Windows Live Mail (http://go.microsoft.com/fwlink/?LinkId=101659) para baixar e instalar.

Importe suas Messagens

   1. Clique em Iniciar, Todos os programas, localize e clique na pasta Windows Live e então clique sobre o Windows Live Mail
   2. Se for a primeira vez que você abre o Windows Live Mail uma tela de boas vindas e configuração inicial será exibida solicitando inserir seu Live ID a fim de obter uma melhor experiência com o Windows Live. Caso não queira configurar nesse momento você pode cancelar essa janela
   3. No Windows Live Mail pressione a tecla ALT do teclado para exibir a barra de menus e então clique em Arquivo, Importar, Mensagens
   4. Selecione o Microsoft Outlook Express 6 como versão anterior e clique em avançar
   5. Clique no botão Procurar, selecione a pasta que contém as mensagens que deseja importar então clique em OK
   6. De volta à janela de localização de mensagens clique no botão Avançar
   7. Selecione a opção Todas as pastas e clique no botão Avançar
   8. Após importar as mensagens clique no botão Concluir

Importe seus Contatos

   1. Clique em Iniciar, Todos os programas, localize e clique na pasta Windows Live e então clique sobre o Windows Live Mail
   2. Se for a primeira vez que você abre o Windows Live Mail uma tela de boas vindas e configuração inicial será exibida solicitando inserir seu Live ID a fim de obter uma melhor experiência com o Windows Live. Caso não queira configurar nesse momento você pode cancelar essa janela
   3. No Painel da esquerda do Windows Live Mail selecione o item Contatos
   4. Na janela Contatos do Windows Live que será aberta, pressione a tecla ALT do teclado para exibir a barra de menus e então clique em Arquivo, Importar e selecione a opção Catálogo de endereços do Windows (.WAB)
   5. Clique no botão procurar, selecione a pasta que contém o arquivo de Catálogo de endereços (.WAB) para importar e clique em Abrir
   6. Após a importação dos contatos clique no botão OK

Importe suas Configurações de conta de e-mail

   1. Clique em Iniciar, Todos os programas, localize e clique na pasta Windows Live e então clique sobre o Windows Live Mail
   2. Se for a primeira vez que você abre o Windows Live Mail uma tela de boas vindas e configuração inicial será exibida solicitando inserir seu Live ID a fim de obter uma melhor experiência com o Windows Live. Caso não queira configurar nesse momento você pode cancelar essa janela
   3. No Windows Live Mail pressione a tecla ALT do teclado para exibir a barra de menus e então clique em Ferramentas e em seguida Contas
   4. Clique no botão Importar
   5. Selecione o arquivo de conta (.IAF) que você deseja importar e clique no botão Abrir
   6. Você verá sua conta de e-mail exibida na parte esquerda da janela
   7. Clique em fechar

Importar dados salvos do Windows Mail usando o Windows Live Mail
Instale o Windows Live Mail. O primeiro passo a fazer é instalar o Windows Live...
Instale o Windows Live Mail.
O primeiro passo a fazer é instalar o Windows Live Mail para importar os dados.
Acesse o site do Windows Live Mail (http://go.microsoft.com/fwlink/?LinkId=101659) para baixar e instalar.

Importe suas Messagens

   1. Clique em Iniciar, Todos os programas, localize e clique na pasta Windows Live e então clique sobre o Windows Live Mail
   2. Se for a primeira vez que você abre o Windows Live Mail uma tela de boas vindas e configuração inicial será exibida solicitando inserir seu Live ID a fim de obter uma melhor experiência com o Windows Live. Caso não queira configurar nesse momento você pode cancelar essa janela
   3. No Windows Live Mail pressione a tecla ALT do teclado para exibir a barra de menus e então clique em Arquivo, Importar, Mensagens
   4. Selecione o Microsoft Windows Mail como versão anterior e clique em avançar
   5. Clique no botão Procurar, selecione a pasta que contém as mensagens que deseja importar então clique em OK
   6. De volta à janela de localização de mensagens clique no botão Avançar
   7. Selecione a opção Todas as pastas e clique no botão Avançar
   8. Após importar as mensagens clique no botão Concluir

Importe seus Contatos

   1. Clique em Iniciar, Todos os programas, localize e clique na pasta Windows Live e então clique sobre o Windows Live Mail
   2. Se for a primeira vez que você abre o Windows Live Mail uma tela de boas vindas e configuração inicial será exibida solicitando inserir seu Live ID a fim de obter uma melhor experiência com o Windows Live. Caso não queira configurar nesse momento você pode cancelar essa janela
   3. No Painel da esquerda do Windows Live Mail selecione o item Contatos
   4. Na janela Contatos do Windows Live que será aberta, pressione a tecla ALT do teclado para exibir a barra de menus e então clique em Arquivo, Importar e selecione a opção Valores Separados por Vírgulas (.CSV)
   5. Clique no botão procurar, selecione a pasta que contém o arquivo de Catálogo de endereços (.WAB) para importar e clique em Abrir
   6. De volta à janela Importação de CSV clique no botão Avançar
   7. Confirme se todas as informações exibidas de contato estão marcadas e se os itens são os mesmos no lado direito do painel, então clique no botão Concluir para importar

Importe suas Configurações de conta de e-mail

   1. Clique em Iniciar, Todos os programas, localize e clique na pasta Windows Live e então clique sobre o Windows Live Mail
   2. Se for a primeira vez que você abre o Windows Live Mail uma tela de boas vindas e configuração inicial será exibida solicitando inserir seu Live ID a fim de obter uma melhor experiência com o Windows Live. Caso não queira configurar nesse momento você pode cancelar essa janela
   3. No Windows Live Mail pressione a tecla ALT do teclado para exibir a barra de menus e então clique em Ferramentas e em seguida Contas
   4. Clique no botão Importar
   5. Selecione o arquivo de conta (.IAF) que você deseja importar e clique no botão Abrir
   6. Você verá sua conta de e-mail exibida na parte esquerda da janela
   7. Clique em fechar


Observação: este é um artigo de “PUBLICAÇÃO RÁPIDA” criado diretamente pela organização de suporte da Microsoft. As informações aqui contidas são fornecidas no presente estado, em resposta a questões emergentes. Como resultado da velocidade de disponibilização, os materiais podem incluir erros tipográficos e poderão ser revisados a qualquer momento, sem aviso prévio. Consulte os Termos de Uso (http://go.microsoft.com/fwlink/?LinkId=151500) para ver outras informações.



Fonte: http://support.microsoft.com/kb/977838/pt-br

Como Criar Formula na Aba do Excel

Somente através de uma Macro, é só essa linha ai e pronto.

Plan2.Name = Plan1.Range("A1").Value

Agora, se suas planilhas forem fixas, ou seja, se você não ficar trocando as abas de lugar, basta usar o comando que o Flashcooler ensinou ou este:

Sheets(2).Name = Sheets("Plan1").Range("A1").Text

Fonte: http://www.hardware.com.br/comunidade/plan1-formula/1005308/

quarta-feira, 21 de setembro de 2011

Iptables, modelo de firewall com dicas para diversas



Sobre este documento

Como criar um firewall e como iniciar em diversas distribuições, original em formato texto com marcações para conversão em HTML, processo automatizado com scripts e txt2tags.
Resumo de comandos e regras de iptables mais utilizados, (na minha opinião e como eu uso, copiar e colar).
Dificilmente os comandos e dicas atenderão suas necessidades, muitos nem são compativeis com sua instalação ou nem servem para seu uso, tente adaptar ao seu ambiente, use como fonte de consulta e referencia.
Todas as dicas e exemplos neste tutorial, considera a instalação default da distribuição, nada de compilar kernel, instalar patch ou modificações no kernel.
Também não considera o uso de firewall da própria distro, as referencias a ele são para desativar ou usar em substituição ao indicado neste howto.
Considere que firewall não são somente regras de Iptables, veja algumas dicas em;
http://www.zago.eti.br/firewall/firewall.txt
Considere que não existe um firewall padrão, são muitas possibilidades, cada rede tem suas particularidades, neste documento tem algumas regras e dicas para entender o principio de como funciona, não use como firewall, use somente como script de referencia para consulta ou modelo inicial, implemente suas regras especificas, pesquise sobre o assunto, neste diretório tem muitos modelos e indicações nas mensagens da Linux-br.

Testar firewall

Teste o seu firewall nestes sites:
http://scan.sygatetech.com/
Direto na página de testes das portas
http://scan.sygatetech.com/stealthscan.html
http://www.auditmypc.com/
https://grc.com/x/ne.dll?bh0bkyd2
Navegue nos sites acima, tem diversas opções de testes, verifique no resultado, quais portas estão abertas, quando aparece portas que não devem ser acessadas via internet neste servidor, estas portas tem que ser fechadas, edite o teu scrip de firewall e acrescente mais uma regra especifica para fechar a porta, ou parar o serviço, volte ao site e faça novo teste.
Configure de forma que sejam listadas somente as portas dos serviços que voce disponibilizou para acesso via internet, porta 80 para servidor web, porta 22 para ssh e assim por diante.
Tudo que não pode ter acesso de fora deve ser fechado, fechar a porta, ou melhor, deverá aparecer nos testes acima como fechadas ou não listadas.
Pode acessar de qualquer estação da rede, o teste de volta sempre é feito no micro que está de cara para internet.
Tem muitas dicas nas mensagens deste documento e outros arquivos deste diretório com FAQ especificos sobre port scanner, firewall etc..

Firewall com proxy na mesma maquina e outras regras

Dicas e exemplos com o modelo;
http://www.zago.eti.br/firewall/fireaula.sh
Ambiente, micro com duas placas de rede configuradas, uma eth? ligada ao modem ADSL, conexão configurada e com acesso normal à internet, outra eth? ligado ao HUB com comunicação normal com as maquinas da rede interna, responde ao ping ou outro serviço como ssh. Precisa conferir e fazer alguns ajustes; Placas de rede, observe estas variaveis no inicio do script
  EXTERNA=eth0
  INTERNA=eth1
eth1 = placa de rede INTERNA (rede local) - ligada ao HUB e conectada com as maquinas da rede interna eth0 = placa de rede EXTERNA (internet) - ligada ao modem ADSL ou router ou outro equipamento que sai ou entra da internet, conectada com o mundo (internet) Ajuste o device nestas variaveis conforme sua rede, lembre que conexões com pppoe utiliza o device ppp0 em lugar de eth? Utilizar variáveis é opcional, facilta muito na administração, troca ou copia para outra instalação. Comente as linhas que não utiliza, veja neste documento mais detalhes nos tópicos especificos sobre cada serviço. Neste script as linhas de comando iniciam com "$iptables", este sinal ($) no inicio da linha indique está usando uma variável de nome "iptables", nesta variável indica o caminho completo do iptables. iptables=/usr/sbin/iptables Pode tentar sem indicação do caminho, basta remover o sinal ($) de todas as linhas que iniciam com ($iptables) ou colocar o caminho para o seu iptables, o comando which retorna o caminho completo which iptables Pegue o resultado e compare se o local é o mesmo do script, sendo diferente precisa alterar na criação da variável iptables, pode tentar criar a variável com. iptables=$(which iptables) Resumindo, teste todos os exemplos abaixo que um deles deve funcionar.
  iptables
  /usr/sbin/iptables
  ou criar e usar a variável iptables apontando para iptables em sua instalação.
  iptables=/usr/sbin/iptables
  $iptables

carregando modulos

A maioria das distros utiliza modulos, se preferir pode compilar o kernel com este recurso, considere que trabalhar com modulos é mais prático, pode iniciar ou parar somente o serviço (modulo), pode até compilar o modulo ou atualizar sem alterar nada no kernel e portanto sem reiniciar a maquina.
em breve farei algumas anotações sobre a finalidade de cada modulo.
  ##### carregar modulos
  # fazer NAT, de forma geral compartilha a interenet com  forward
  /sbin/modprobe iptable_nat
  # resolve os problemas de FTP, sempre que tiver problemas com acesso a sites de FTP, 
  #lentidão, problemas de login ou acesso, tente carregar estes modulos relacionados a FTP.
  /sbin/modprobe ip_conntrack
  /sbin/modprobe ip_conntrack_ftp
  /sbin/modprobe ip_nat_ftp
  # utlizado nas opções que geram log.
  /sbin/modprobe ipt_LOG
  
  /sbin/modprobe ipt_REJECT
  /sbin/modprobe ipt_MASQUERADE
Cuidado com esta opção zera regras, tem outra regra logo abaixo que mantem as conexões existentes, quando fizer qualquer alteração nas regras, precisa executar o script para carregar as novas regras, as regras abaixo removem as anteriores mas mantem as conexões existentes.
  ##### Zera regras
  $iptables -F
  $iptables -X
  $iptables -F -t nat
  $iptables -X -t nat
  $iptables -F -t mangle
  $iptables -X -t mangle
  $iptables -P INPUT DROP
  $iptables -P OUTPUT DROP
  $iptables -P FORWARD DROP
Coloque após as regras abaixo, suas regras de bloqueio, log e outros controles, em seguida as regras de redirecionamento....
  ##### Filtros - DROP nos pacotes TCP indesejaveis
  $iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FIREWALL: NEW sem syn: "
  $iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
  
  ##### ACCEPT (libera) pacotes de retorno da internet
  $iptables -A INPUT -i ! $EXTERNA -j ACCEPT
  $iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  $iptables -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
  $iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

Exemplos e dicas sobre as regras de Iptables

Conectividade Social excluir do proxy

Este um serviço da Caixa Economica, geralmente utilizado por funcionarios do departamento pessoal das empresas, utiliza o navegador mas não pode passar pelo proxy, inventaram uma conexão segura na porta 80, a solução que encontrei foi excluir o IP da Caixa do proxy, funciona com esta regra.
  ##### Liberar Conectividade Social para todos
  # liberando acesso a toda a rede 200.201 e pode liberar sites alem da CAIXA.
  $iptables -t nat -A PREROUTING -p tcp -d 200.201.0.0/16 -j ACCEPT
  $iptables -A FORWARD -p tcp -d 200.201.0.0/16 -j ACCEPT
Tem mais dicas e detalhes sobre isto em;
http://www.zago.eti.br/squid/conectividade-social.html

Samba - fechando as portas para o mundo

Precisa liberar as portas do netbios 136 a 139, libere somente para sua rede interna.
  # Fechando as portas do samba o perigo mora aqui caso fique de cara para a internet.
  
  $iptables -A INPUT -p tcp -i $EXTERNA --syn --dport 139 -j DROP
  $iptables -A INPUT -p tcp -i $EXTERNA --syn --dport 138 -j DROP
  $iptables -A INPUT -p tcp -i $EXTERNA --syn --dport 137 -j DROP
Por questão de segurança não se deve rodar Samba junto com firewall, não tem incompatibilidades nem conflito entre estes serviços, podem rodar na mesma maquina, considere que Samba não deve dar as caras na internet, um eventual incidente nesta maquina pode comprometer seus dados e informações, quando rodar Samba na mesma maquina, feche as portas 137, 138 e 139, tem que fechar somente para acessos da internet, em maquinas que não roda Samba pode remover as linhas acima.
Use este exemplo de regra para fechar a porta de outros serviços rodando na maquina, principalmente quando não devem ouvir nem atender requisições vindo da internet
Outra opção, quem já fechou tudo precisa abrir as portas para acesso das maquinas da rede interna, alguns exemplos.
  $iptables -I INPUT -p tcp -s 192.168.1.0/24 -d 192.168.1.254 --dport 138,139 -j ACCEPT
Onde 192.168.1.0 é sua rede e 192.168.1.254 seu servidor Samba.
Permitir de qualquer origem, depende de outras regras do firewall negando acesso via internet.
  $iptables -A INPUT -p tcp --destination-port 139 -j ACCEPT

MAC ADRESS - controle pelo numero da placa de rede

Regras de IPtables pelo numero da placa de rede MAC ADRESS, o exemplo abaixo nega qualquer acesso com origem na placa de rede identificada com o MAC (00:E0:7D:E3:5F:1E), neste caso não importa o IP da maquina, a ordem da regra no firewall é muito importante, aplicar antes do redirecionado do proxy e não ter regra anterior liberando o acesso.
Para testar, troque o MAC do exemplo abaixo pelo de uma maquina da sua rede, depois de rodar o script do firewall a maquina não acessa mais nada na internet, o NAT está negado.
  $iptables -t nat -A PREROUTING -i $INTERNA -m mac --mac-source 00:E0:7D:E3:5F:1E -j DROP
Com esta regra, qualquer pacote proveniente deste MAC serão descartados, não permine NAT e não navega, não conecta por ssh nem outro meio.
Inverter a regra para liberar, troque DROP por ACCEPT
Outros exemplos.
  Negar somente para portas 80 e 3128
  $iptables -A INPUT -p tcp -m multiport --dport 80,3128 -m mac --mac-source 00:E0:7D:E3:5F:1E -j DROP
  
  Permitir conexão via ssh
  $iptables -A INPUT -m mac --mac-source 00:E0:7D:E3:5F:1E -p tcp --dport 22 -j ACCEPT
# teste com mac da m7mia para liberar somente ssh (porta 22)
  $iptables -A INPUT -p tcp -m multiport --dport 22 -m mac --mac-source 00:40:F4:5B:9E:A7 -j ACCEPT
  $iptables -A INPUT -m mac --mac-source 00:40:F4:5B:9E:A7 -p tcp --dport 22 -j ACCEPT
  $iptables -t nat -A PREROUTING -p tcp -m multiport --dport 22 -m mac --mac-source 00:40:F4:5B:9E:A7 -j ACCEPT
  $iptables -t nat -A PREROUTING -i $INTERNA -m mac --mac-source 00:40:F4:5B:9E:A7 -j DROP
Tem mais exemplos nas mensagens do FAQ.
http://www.zago.eti.br/firewall/iptables-mac.txt

porta 25 e 110 e-mail

Regras de firewal para quem trabalha com tudo fechado e libera somente o necessário, neste exemplo de firewall, para fechar tudo e abrir somente o necessário, deve comentar as linhas.
  $iptables -A POSTROUTING -t nat -o $EXTERNA -j MASQUERADE
  echo "1" > /proc/sys/net/ipv4/ip_forward
com estas linhas acima comentadas não é possível navegar nem enviar ou receber e-mail, para liberar a navegação tem exemplos neste tutorial , pode liberar pelo firewall ou pelo proxy (squid) quando redirecionado.
Quanto ao envio e recebimento de e-mail segue alguns exemplos, liberação para todos, somente para determinado dominio, somente por maquina da rede, combinando IP interno com dominio e etc. Veja os comentarios para cada regra.
  # Estas regras abaixo permite que todos os smtp e pop funcionan, precisa comentar estas linhas para refinar o controle por dominio ou por maquina, sem estas regras a controle passa a valer as demais regras do firewall no controle da porta 25 e 110
  
  iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -d 0/0 -p tcp --dport 110 -j MASQUERADE
  iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -d 0/0 -p tcp --dport 25 -j MASQUERADE
Liberando smtp somente para uma maquina e um destino (provedor)
  $iptables -t nat -A POSTROUTING -s 192.168.1.211/32 -p tcp --dport 25,110 -d smtp.bol.com.br -j MASQUERADE
  ou
  $iptables -t nat -A POSTROUTING -s 192.168.1.211/32 -p tcp --dport 25 -d smtp.bol.com.br -j MASQUERADE
  #$iptables -t nat -A POSTROUTING -s 192.168.1.211/32 -p tcp --dport 110 -d pop.sao.terra.com.br -j MASQUERADE

Squid - proxy - redirecionamento

A regra que redireciona o trafego da porta 80 para 3128 Squid, tem que ficar antes da regra que faz NAT para forçar o uso do proxy, assim estações com navegador configurado para usar proxy cai nas regras do proxy, se tentar sem proxy não navega.
No script fireaula.sh tem estas regras sobre Squid.
  ##### Squid -  proxy
  #utilize somente uma das opções abaixo, comente as demais
  # redireciona o trafego da porta 80 para 3128, execeto a estacao 
  # com IP 192.168.1.6
  #$iptables -t nat -A PREROUTING -i $INTERNA -s \! 192.168.1.6 -p tcp -m multiport  --dport 80,443 -j REDIRECT --to-ports 3128
  # redireciona o trafego da prota 80 para 3128 (squid)
  $iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport 80,443 -j REDIRECT --to-ports 3128
Tem duas regras, ambas se aplicam quando roda o Squid na mesma maquina firewall, a segunda está habilitada;
  $iptables -t nat -A PREROUTING -p tcp -m multiport -s 192.168.1.0/24 --dport 80,443 -j REDIRECT --to-ports 3128
esta regra redireciona todo o trafego da porta 80 e 443 para a porta 3128, com isto as estações só navegam pelas regras do squid, na estação configure o navegador para usar proxy na porta 3128 e IP do servidor proxy.
A primeira regra que está comentada;
  #$iptables -t nat -A PREROUTING -i $INTERNA -s \! 192.168.1.6 -p tcp -m multiport  --dport 80,443 -j REDIRECT --to-ports 3128
esta regra também faz o redirecionamento como na anterior, com exclusão de uma maquina do proxy, neste exemplo a estação com IP 192.168.1.6 vai navegar sem passar pelo proxy, este recurso ajuda muito na solução de problemas, quando tem problemas com acesso a sites especificos, tem sites que não pode acessar via proxy, nestes casos para acessar sem passar pelo proxy, troque o IP citado na regra pelo IP da estação que vai usar no teste, use o navegador sem proxy e tente acesso, observe que a linha eatá comentada, deve usar somente uma das regras, quando habilitar a primeira comente a segunda e vice versa.
Considere utilizar instalações de testes, pode montar outro servidor proxy na rede, servidor de e-mail interno ou outro serviço, para excluir esta maquina de testes do proxy, utilize a exclusão acima, quando for mais de uma maquina utilize o exemplo abaixo.

Liberar IP (estações) com acesso por fora do proxy

Excluir mais de uma estação do proxy, no firewall tem este exemplo para liberar por portas, multiplas portas.
  ##### excluir estacoes do proxy, passa direto pelo NAT 
  
  $iptables -t nat -A PREROUTING -i $INTERNA -s 192.168.1.37/32 -p tcp -m multiport  --dport 80,443 -j ACCEPT
  $iptables -t nat -A PREROUTING -i $INTERNA -s 192.168.1.53/32 -p tcp -m multiport  --dport 80,443 -j ACCEPT
Utilize uma regra para cada IP, neste exemplo acima as estações com IP 192.168.1.37 e 53 não precisa configurar proxy no navegador e acessam internet por fora do proxy, estas regras obrigatoriamente tem que ser adicionadas no firewall, antes da regra do redireionamento do Squid, observe no Firewall a posição delas em relação a regra do redirecionamento para a porta 3128.
Outro exemplo de formato da regra. liberar a porta 80 para determinado IP de origem
  $iptables -t nat -A PREROUTING -s 192.168.1.53 -p tcp -i $INTERNA --dport 80 -j ACCEPT
Outro exemplo de formato da regra para liberar acesso a tudo
  # micro zago 192.168.1.53
  $iptables -t nat -A PREROUTING -s 192.168.1.53 -d 0.0.0.0/0  -j ACCEPT
Lembrando que Squid não é firewall, é servidor proxy e controla somente o que passa pela porta 80, não pode redirecionar outras portas, portanto serviços como cliente de e-mail nas estações não passarão pelo controle do Squid nem serão afetados pelas regras acima, sobre este e outros serviços veja o tópico sobre NAT.
Outro exemplo para liberar um IP da rede , liberar todas as portas, algo como tirar um IP do firewall e passar direto
  # em tetes
  # Regra  para fazer NAT de tudo. e para todos
  #$iptables -A POSTROUTING -t nat -o $IF_EXTERNA -j MASQUERADE
  # Regra para fazer SNAT	 para destino especifico
  #iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o $EXTERNA  -j SNAT --to 200.200.200.200/24
  # Regra para liberar um IP interno, fazer nat de tudo, de todas as portas, neste exemplo libera o IP interno 192.168.1.218
  
  $iptables -t nat -A PREROUTING -i $IF_INTERNA -s 192.168.1.218/32 -j ACCEPT
Controle via iptables e por estação (IP da estação), tem mais exemplos em outros tópicos deste tutorial, neste tem algumas dicas sobre controle por IP de origem para acesso externo passando pela porta 25, 110, 80 e 443, tente modificar ou adaptar ao seu ambiente, altere IP indicado nas regras abaixo para o da estação que deseja testar regra.
Modificando o exemplo com NAT para liberar estação do proxy, temos esta regra no firewall liberando estação para navegar sem passar pelo proxy.
  ##### excluir estacoes do proxy, passa direto pelo NAT 
  $iptables -t nat -A PREROUTING -i $INTERNA -s 192.168.1.37/32 -p tcp -m multiport  --dport 80,443 -j ACCEPT
Proibir porta 80 e 443 na estação especifica. Faça copia da regra acima e modifique a regra para rejeitar, proibir determinado IP de navegar, basta alterar na copia da regra, IP e de ACCEPT por DROP.
  $iptables -t nat -A PREROUTING -i $INTERNA -s 192.168.1.37/32 -p tcp -m multiport  --dport 80,443 -j DROP
Impedir ou liberar acesso a e-mail via clientes de e-mail local (na estação), fechar as portas 25 e 110, como neste exemplo.
  
  Esta regra impede cliente de e-mail acessar servidores externos (provedores), fechar portas 25 e 110.
  $iptables -t nat -A PREROUTING -i $INTERNA -s 192.168.1.37/32 -p tcp -m multiport  --dport 25,110 -j DROP 
  
  Libera cliente de e-mail para acessar servidores externos (provedores), liberar porta 25 e 110.
  
  $iptables -t nat -A PREROUTING -i $INTERNA -s 192.168.1.37/32 -p tcp -m multiport  --dport 25,110 -j ACCEPT
Permitir estação usar cliente de e-mail na maquina local e proíbir a navegação.
  $iptables -t nat -A PREROUTING -i $INTERNA -s 192.168.1.37/32 -p tcp -m multiport  --dport 80,443 -j DROP
  $iptables -t nat -A PREROUTING -i $INTERNA -s 192.168.1.37/32 -p tcp -m multiport  --dport 25,110 -j ACCEPT
Invertendo a ordem, permitir navegação e proíbir cliente de e-mail na estação.
  $iptables -t nat -A PREROUTING -i $INTERNA -s 192.168.1.37/32 -p tcp -m multiport  --dport 80,443 -j ACCEPT
  $iptables -t nat -A PREROUTING -i $INTERNA -s 192.168.1.37/32 -p tcp -m multiport  --dport 25,110 -j DROP
Com estes exemplos fica fácil adpatar a regra para outras portas e serviços, basta copiar a regra, alterar o IP e porta. Lembre de acrescentar no firewall antes da regra que lebera ou bloqueia geral, em firewall que redireciona a porta 80 as regras de iptables sobre a porta 80 tem que ser acrescentada antes da regra do redirecionamento.

NAT e forward - compartilhar internet

No firewall, depois da regra do Squid tem estas duas regras;
  ## NAT para os demais serviços que trabalham em outras portas, 
  # como exemplo, libera o acesso a cliente de e-mail e ssh
   
  $iptables -A POSTROUTING -t nat -o $EXTERNA -j MASQUERADE
  echo "1" > /proc/sys/net/ipv4/ip_forward
Obrigatoriamente tem que ficar depois da regra do proxy, servem para compartilhar internet para os demais protocolos, como exemplo, liberar a porta 25 e 110 utilizadas pelos clientes e-mail que não acessam a net pela porta 80, portanto não passam pelo proxy, estas regras liberam tudo, compartilhamento total, como antes delas tem o redirecionamento do proxy, tudo que usar a porta 80 cai no proxy e fica por lá, as demais portas não são redirecionadas, portanto cai nesta regra que faz NAT. Qualquer bloqueio deve ser acrescentando antes desta regra, ou se preferir, crie regras especificas de nat por protocolo e estação.

Redirecionamento de conexões recebidas - entrada

São regras que repassam a conexão para outra maquina da rede, considere um ambiente com uma maquina conectada na internet via ADSL, vamos considerar que esta maquina compartilha a internet para as demais maquinas da rede, vamos chamar esta maquina de firewall, neste tipo de conexão somente ela tem IP roteável na internet, algo do tipo 200.200.200.200, todas as conexões vindo do mundo tem que apontar para o IP deste micro, atraz dele tem diversos micros, servidores e estações trabalhando com IP reservado, como exemplo da classe 192.168.1.0, não é possível utilizar esta classe de IP nas conexões via internet, IP desta classe são descartados no primeiro roteador.
Atraz deste firewall pode ter servidores ou estações rodando serviços como; ssh, webmin, VNC ou outro qualquer, no firewall é possível liberar (repassar) conexões vindo da internet para se conectar direto com estas maquinas.
Considere um firewall rodando na maquina com IP fixo 200.200.200.200, atraz dele uma estação usando IP 192.168.1.144, regras de iptables podem redirecionar conexão vindo da internet direto para esta maquina.
Mesmo sem rodar o serviço no firewall, as conexões vindo do mundo (internet) tem que apontar para o IP do firewall, quando atendida as regras de redirecionamento, a conexão é rapassada para outra maquina da rede com IP reservado informado na regra, (estação atraz do firewall), na origem da conexão precisa somente do IP do firewall, também a porta quando for o caso, as regras de firewall faz o resto.
Resumindo;
Identifique quais portas esse serviço utiliza, IP que do seu (servidor) que é o mesmo IP de internet, se possivel o IP remoto (cliente) quando quiser liberar acesso somente a um IP externo, a regra tem este formato:
  Liberar somente para conexões vindo de determinado IP, neste exemplo o IP remoto (-s 200.204.198.164) mais a porta informada
  iptables -t nat -A PREROUTING -p (protocolo tcp ou udp)  -s (IP remoto) --dport (porta solicitada) -i (interface externa) -j DNAT --to (IP servidor interno):(porta no server interno)
  
  ##### Redirecionar ssh na porta 2222
  $iptables -t nat -A PREROUTING -p tcp -s 200.204.198.164 --dport 2222 -i $EXTERNA -j DNAT --to 192.168.1.144:22
  
  Outra forma; rediciona somente pela porta, não importa o IP de origem
  iptables -t nat -A PREROUTING -p tcp(ou udp) -d (IP do firewall local, servidor de internet) --dport (porta solicitada) -j DNAT --to (IP servidor interno):(porta no server interno)
  
Lembrando que a ordem é importante, se conflitar regras, a primeira que antender será atendida e as demais ignoradas.
Nos tópicos a seguir tem mais exemplos sobre SSH e VNC, o principio se aplica a outros protocolos e portas, pode modificar estas regras para webmin, banco de dados e etc....

SSH - fechado para o mundo e aberto para rede interna

SSH é muito útil e prático para administrar maquinas remotas, por ser muito usado, tem muitos scripts que tentam fazer acesso forçado via ssh, alguns tem uma lista de login e senha e ficam tentando, existem muitas tecnicas e maneiras, voce tem que se preocupar com isto e se defender, ssh tem um alto nível de segurança e configuração, mas a configuração é feita por você.
No modelo de firewall tem estas regras;
  ##### Libera acesso externo para ssh e servidor web
  #$iptables -A INPUT -p tcp --dport 80 -i $EXTERNA -j ACCEPT
  #$iptables -A INPUT -p tcp --dport 80 -i $INTERNA -j ACCEPT
  #$iptables -A INPUT -p tcp --dport 22 -i $EXTERNA -j ACCEPT
  $iptables -A INPUT -p tcp --dport 22 -i $INTERNA -j ACCEPT
A porta 80 é do servidor de páginas web (apache), a porta 22 é do ssh.
São duas regras, uma especifica para liberar acesso pela placa de rede interna $INTERNA e outra especifica para a placa de rede da internet $EXTERNA, como as regras no inicio do firewall fecha tudo, precisa implementar regra liberando acesso, neste exemplo tem regras especificas por placa de rede para facilitar a configuração.
No exemplo acima está aberto somente para acesso pelas maquinas da rede interna e proibindo o acesso externo, conexões da internet, está comentada a linha com a variável $INTERNA, caso queira liberar para o mundo, remova o comentário da linha com variável $EXTERNA.
Observe que neste firewall fecha tudo e depois vai abrindo as portas, em firewall aberto onde vai fechando as portas, a regra muda de ACCEPT para DROP, algo neste formato;
  #$iptables -A INPUT -p tcp --dport 22 -i $EXTERNA -j DROP
Lembre que ssh tem muitas possibilidades de configuração, este é somente um exemplo de lidar com as portas, caso permita conexões vindo da internet, pesquise sobre segurança e configuração dele, neste FAQ tem um diretório especifico sobre ssh.

SSH - Redirecionar entrada para estações da rede

Redirecionando os pedidos que chegam da net, ou seja o firewall simplesmente repassa para outra maquina completar a conexão, segue alguns exemplos com redirecionamento como base no IP de origem ou porta destino.
No firewall tem esta regra sobre ssh
  ##### Redirecionar ssh na porta 2222
  $iptables -t nat -A PREROUTING -p tcp -s 200.204.198.164 --dport 2222 -i $EXTERNA -j DNAT --to 192.168.1.144:22
Tentando descrever este ambiente, imagine duas empresas, cada uma tem seu micro rodando firewall e conectado ao modem ADSL, sem restrições de uso pela operadora quanto as portas descritas aqui, em uma ponta tem IP 200.204.198.164 e na outra ponta IP 200.200.200.200, atraz destas maquinas tem estações com IP da classe 192.168.1.0, esta regra permite que estação de uma rede se conecte via ssh com estação atraz da outra rede.
Exemplo de linha de comando tratada por esta regra (redirecionada). No console de maquina atraz do IP 200.204.198.164 fazendo NAT
ssh -p 2222 zago@200.200.200.200
Observe que indica a porta (-p 2222) e dispara o comando para o IP do firewall remoto 200.200.200.200, o redirecionamento para a estação interna no firewall onde roda a regra acima, (ip 192.168.1.144) ocorre quando atender as seguintes condições; origem da conexão no IP = 200.204.198.164 e porta destino = 2222.
As demais requisições de ssh serão atendidas pela própria maquina ou outra regra do firewall.
Onde -s (source, origem) IP 200.204.198.164, requisições que chegam deste IP na placa de rede da internet -i $EXTERNA (-i imput, entrada), --dport 2222, na porta 2222, observe que tem varias condições, IP de origem, porta destino, entrada pela placa de rede externa. Quando atendida todas estas condições o pedido é repassado para outra maquina da rede (DNAT --to 192.168.1.144:22), a estação da rede interna com ip 192.168.1.144 vai atender o pedido na porta 22, claro que o firewall dela precisa permitir e também ter o serviço rodando (ouvindo) nesta porta, neste exemplo o serviço é sshd, servidor do ssh.
Esta regra vale também para FreeNX, ele trabalha sobre conexão ssh, requer configuração especifica para obter o desktop remoto, algo como VNC mas com melhor qualidade, velocidade e segurança.
Sobre ssh e FreeNX, tem mais dicas, exemplos e FAQ em;
http://www.zago.eti.br/ssh/

VNC - redirecionamento para estações da rede

Prefiro ssh ou FreeNX, mas quando temos que conectar a estações windows na rede remota, VNC torna uma grande solução.
No firewall tem esta regra sobre VNC
  #####  VNC
  # Redireciona portas na primeira maquina vnc troque o ip conforme a maquina que deseja acessar.
  iptables -A FORWARD -i $EXTERNA -p tcp --dport 5800:5900 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  iptables -A FORWARD -i $EXTERNA -p udp --dport 5800:5900 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  iptables -t nat -A PREROUTING -p tcp -i $EXTERNA --dport 5800:5900 -j DNAT --to 192.168.1.144:5800-5900
  iptables -t nat -A PREROUTING -p udp -i $EXTERNA --dport 5800:5900 -j DNAT --to 192.168.1.144:5800-5900
  
  #Redirecionar para maquina VNC ouvindo na 5801
  iptables -A FORWARD -i $EXTERNA -p tcp --dport 5801:5901 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  iptables -A FORWARD -i $EXTERNA -p udp --dport 5801:5901 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  iptables -t nat -A PREROUTING -p tcp -i $EXTERNA --dport 5801:5901 -j DNAT --to 192.168.1.144:5801-5901
  iptables -t nat -A PREROUTING -p udp -i $EXTERNA --dport 5801:5901 -j DNAT --to 192.168.1.144:5801-5901
  #####
Uso do primeiro exemplo é simples, basta instalar o VNCSERVER e rodar, neste exemplo, redireciona qualquer pedido que chega da internet na porta 5800, na URL do navegador use o IP:porta, neste formato;
http://200.200.200.200:5800
A regra de firewall se encarrega de redirecionar para a estação e esta se encarrega atender o pedido e completar a conexão com login e senha.
A segunda opção complica um pouquinho porque permite ter varias maquinas aceitando conexão via VNC, usa a porta como meio de seleção da maquina remota, permite multiplas conexões VNC, redireciona para estação interna coforme a porta indicada na conexão, precisa configurar o VNCserver para ouvir em outra porta, use 5801 para maquina 1, 5802 para maquina 2 e assim por diante, a seleção da maquina remota é feita conforme a porta indicada na URL, entendeu como é simples, quase como uma tabela, 5801 conecta na maquina X, 5802 conecta na Y e assim por diante..., precisa de uma regra para cada maquina, repita o exemplo acima para cada maquina, altera a porta e IP, exemplo de uso na URL para conexão com maquina que está ouvindo na porta 5801.
http://200.200.200.200:5801
Veja também o tópico sobre SSH - redirecionamento, são semelhantes e ajuda na explicação.
Sobre VNC, tem mais dicas, exemplos e FAQ em;
http://www.zago.eti.br/vnc.txt

SUSE 10.1 - executar script no boot

SUSE tem configurador do firewall via Yast, tem seu próprio script de firewall.
Acho mais fácil e prático usar meu script, tem que escolher pelo firewall do SUSE ou seu script, para usar outro script é preciso deabilitar o firewall do SUSE.
Desabilitar o firewall nativo do SUSE, entre no yast, pode ser em modo texto, entre em "segurança e Usuários" -> Firewall, desabilite o firewall
Aproveite e configure as placas de rede Yast -> "Dispositivos de Rede" -> Placa de Rede" -> avançar e selecione a placa de rede, (editar), configure conforme sua rede, com IP dinamico (DHCP) ou com IP Estático e mascara de rede, IP da mesma classe de rede interna. Não altere mais nada, não precisa mexer na rota, avançar e OK até fechar o yast.
Compartilhar conexão - micro com duas placas de rede.
Use um script de IPtables para compartilhar, caso não tenha, como está navegando, para teste use este script de iptables, as linhas de comando abaixo inclue o script no boot.local para executar no boot.
  cd /etc/rc.d
  wget http://www.zago.eti.br/firewall/fireaula.sh
  chmod 755 fireaula.sh
  ./fireaula.sh
  rcnetwork restart
  echo "/etc/rc.d/fireaula.sh" >> /etc/rc.d/boot.local
  echo "rcnetwork restart" >> /etc/rc.d/boot.local

CL10 - executar script no boot

Salve o script no diretório /etc/rc.d/, entre no diretório e baixe com wget, acesse via navegador para copiar e colar, ou importar direto no editor "vi", pode salvar em outro local qualquer, lembre de ajustar o caminho nos comandos abaixo, não pode manipular em instalações DOS/WIN.
com o script no diretório, execute estes comandos como root no console.
  chkconfig myfirewall off
  echo fireaula.sh >> /etc/rc.d/rc.local
  chmod 755 /etc/rc.d/fireaula.sh
  sh /etc/rc.d/fireaula.sh
Use seu editor de texto puro para fazer alterações no script, depois de salvar execute novamente para carregar as alterações, como root no console execute uma destas opções.
  sh /etc/rc.d/fireaula.sh
  
  ou
  
  cd /etc/rc.d/
  ./fireaula.sh

Fonte:

Página principal sobre iptables e firewall
http://www.zago.eti.br/A-menu-firewall.html
Página principal deste site (FAQ)
http://www.zago.eti.br/menu.html

segunda-feira, 19 de setembro de 2011

PHP - Function ereg_replace() is deprecated

Instalei o Ocomon2.0RC5 com PHP 5.3 mais quando entro no menu lateral aparece o seguinte erro:

Código:
Deprecated: Function ereg_replace() is deprecated in C:\wamp\www\sistema\includes\menu\phplm320\lib\layersmenu-common.inc.php on line 487

Deprecated: Function ereg_replace() is deprecated in C:\wamp\www\sistema\includes\menu\phplm320\lib\layersmenu-common.inc.php on line 793

Solução 1:

Isso acontece pois o Ocomon utiliza uma função chamada ereg_replace que a partir da versão 5.3 do PHP foi considerada depreciada (ou obsoleta), e substituida por outra (preg_replace).

Levando-se em consideração que você não é programado e não conhece uma linha de PHP, como no meu caso, a solução é a seguinte:

Baixe o PHP de versão anterior a 5.3 (eu utilizei a 5.2.11 que era a mais recente anterior a essa).

No meu caso, rodando em Windows, baixei o WAMP e baixei tambem um plugin adicional com a versão 5.2.11 do PHP. Depois de instalado você seleciona a versão do PHP.

Solução 2:

Para aqueles que não querem ou não podem instalar uma versão antiga do PHP, a minha sugestão é substituir a função "ereg_replace" pela função "str_replace".

É bem simples, no meu caso a expressão "ereg_replace" aparecia 4 vezes no arquivo "layersmenu-common.inc.php", foi só substituir essa expressão por "str_replace" sem mudar mais nada no resto da linha e pronto!

Fonte: http://ocomon.forumbrasil.net/t44-erro-logo-apos-instalacao

quinta-feira, 15 de setembro de 2011

Mostrar a guia Desenvolvedor

A guia Desenvolvedor não é exibida por padrão, mas você pode adicioná-la à faixa de opções quando desejar fazer ou usar o seguinte:
  • Escrever macros.
  • Executar macros que você gravou anteriormente.
  • Usar comandos XML.
  • Usar controles ActiveX.
  • Criar aplicativos para usar com os programas do Microsoft Office.
  • Usar controles de formulário no Microsoft Excel.
  • Trabalhar com o ShapeSheet no Microsoft Visio.
  • Criar novas formas e estênceis no Microsoft Visio.
Após exibir a guia, ela permanecerá visível, exceto se você desmarcar a caixa de seleção ou tiver que reinstalar um programa do Microsoft Office.

Mostrar a guia Desenvolvedor

  1. Clique na guia Arquivo.
  2. Em Ajuda, clique em Opções.
  3. Clique em Personalizar a Faixa de Opções.
  4. Em Personalizar a Faixa de Opções, marque a caixa de seleção Desenvolvedor.
Fonte: http://office.microsoft.com/pt-br/excel-help/mostrar-a-guia-desenvolvedor-HA101819080.aspx
 
 

Atualizar vínculos entre planilhas


Atualização automática e nenhuma mensagem Para suprimir a mensagem e para atualizar automaticamente os links quando você abre uma pasta de trabalho no Excel 2002 ou no Excel 2003, execute estas etapas:
  1. No menu Ferramentas , clique em Opções e, em seguida, clique na guia Editar .
  2. Clique para desmarcar a caixa de seleção Solicitar a atualização de vínculos automáticos .
Para suprimir a mensagem e para atualizar automaticamente os links quando você abre uma pasta de trabalho no Excel 2007, execute estas etapas:
  1. Clique no botão do Microsoft Office e clique em Opções do Excel .
  2. Clique em avançadas .
  3. Em geral , clique em para desmarque a caixa de seleção Solicitar a atualização de vínculos automáticos .
anotações

Quando a caixa de seleção Solicitar a atualização de vínculos automáticos é desmarcada, os vínculos são atualizados automaticamente. Além disso, nenhuma mensagem será exibida.

Esta opção se aplica a apenas o usuário atual e afeta cada pasta de trabalho que o usuário atual é aberto. Os outros usuários das pastas de trabalho mesmos não são afetados.
Atualização manual e nenhuma mensagem Se você estiver compartilhando esta pasta de trabalho com outras pessoas que não terão acesso às fontes dos links atualizados, você pode desativar a atualização e o prompt para a atualização. Para suprimir a mensagem e deixar os vínculos (não atualizados) até você optar por atualizá-los, execute essas etapas:
  1. No menu Editar , clique em links .

    Observação No Excel 2007, clique em Editar vínculos no grupo conexões na guia dados .
  2. Clique em Solicitar de inicialização .
  3. Clique na opção Não exibir o alerta e não atualizar vínculos automaticamente .
aviso Se você optar por não atualizar os vínculos e não para receber a mensagem, usuários da pasta de trabalho não saberá que os dados está desatualizados. Essa opção afeta todos os usuários da pasta de trabalho. No entanto, essa opção se aplica somente a pasta de trabalho específica.

Para atualizar os links manualmente, execute essas etapas:
  1. No menu Editar , clique em links .

    Observação No Excel 2007, clique em Editar vínculos no grupo conexões na guia dados .
  2. Clique em Atualizar valores .
  3. Clique em Fechar

    Fonte: http://answers.microsoft.com/pt-br/office/forum/officeversion_other-office_other/atualizar-v%C3%ADnculos-entre-planilhas/e65682c5-6ab9-4cbe-8c25-02e3307b025b

Free Lance

Sites interessantes sobre trabalho Freelancer:

http://www.freela.com.br/

http://www.oficinadasideias.pt/

http://www.agenciafreelancer.com.br/

http://www.freelancenow.com.br/

http://www.serfreelancer.com/40-sites-para-encontrar-trabalhos-freelancer/

http://trabalholivre.com/projectos/

http://www.escolafreelancer.com/10-formas-de-promover-o-seu-trabalho-como-freelancer/

http://noticias.universia.com.br/tag/especial-freelancer/

http://www.100trabalho.com/




segunda-feira, 12 de setembro de 2011

Aprenda a instalar o Linux a partir de um pendrive


Marcelo Bernstein
Apesar das limitações de falta de unidades de CDs/DVDs que possam ser usados para instalação de programas em netbooks, você pode instalar diversos sistemas operacionais a partir de um pendrive nestes pequenos notebooks. Assim, o Windows não é o único sistema operacional que pode ser instalado em um netbook.  O Linux também é uma boa alternativa e há até mesmo versões feitas sob medida para estas máquinas.
Infelizmente, a maioria delas é distribuída na forma de arquivos chamados “imagens ISO” (uma cópia exata de todo o conteúdo de um CD ou DVD em um arquivo só), que devem ser gravados em um CD ou DVD para gerar um disco de instalação. Mas o que fazer se sua máquina não tem um drive óptico?
A solução é o Unetbootin, um utilitário gratuito e de nome estranho que, a partir de uma imagem ISO, é capaz de criar um pendrive de instalação de praticamente qualquer distribuição Linux existente. E você nem precisa baixar a imagem ISO: ele faz isso
Criando o pendrive
O Unetbootin tem versões para Windows, Linux e Mac OS X e seu uso não tem segredo: ele sequer precisa ser instalado, basta dar dois cliques no executável baixado. Na janela do programa há instruções simples de uso e alguns menus. Note que a primeira opção lá no topo da janela, chamada Distribuição, está marcada. Esta é a forma mais fácil de usar o Unetbootin: no menu == Selecione a Distribuição == escolha a distribuição Linux que você deseja instalar. Por exemplo, o Ubuntu. No menu ao lado escolha a versão, por exemplo a 11.04_Live.
Plugue um pendrive vazio (de pelo menos 2 GB) ao computador e indique qual é a unidade correspondente no menu Unidade no rodapé da janela (por exemplo, F:. Cuidado para não selecionar nenhum HD externo por engano!). Agora é só clicar em OK e aguardar o download dos arquivos e sua cópia para o pendrive. Imagens ISO de distribuições Linux são arquivos grandes (às vezes ultrapassando os 700 MB), então você precisará de uma boa conexão de banda larga ou um pouco de paciência.
Se você já tem uma imagem ISO de sua distribuição Linux favorita (ou se ela não consta na lista de distribuições), não precisa baixar nada novamente. Na janela do Unetbootin marque Imagem de Disco em vez de Distribuição, selecione a opção ISO no menu ao lado e clique no botão com os "..." para indicar onde está a imagem ISO que você baixou. Novamente indique o pendrive para onde os arquivos serão copiados, clique em OK e aguarde o fim do processo,que deve demorar apenas alguns minutos.
Com o pendrive pronto em mãos, basta reiniciar seu computador, dar boot a partir dele (consulte o manual do seu computador para saber qual o procedimento correto para isto) e seguir os menus na tela. Se o CD de instalação de sua distribuição Linux for um “Live CD”, que permite a execução do sistema a partir do CD sem instalar nada no computador, você também terá esta opção no pendrive. Só lembre-se que nenhuma mudança que você fizer no sistema será salva.
Se você quer instalar o Linux no pendrive e quer que ele mantenha suas modificações (como se ele estivesse instalado em um HD), precisa de uma ferramenta como o Universal USB Installer. Mas esse é assunto para uma próxima matéria.

Fonte: https://www.tecnicoamigo.com.br/5.10.1?name=Aprenda+a+instalar+o+Linux+a+partir+de+um+pendrive

terça-feira, 6 de setembro de 2011

Instalando e configurando o roteador DIR-600

logo6
.
.

Comprou um roteador e não sabe configurar? seus vizinhos estão usando sua internet sem sua permissão? Com este tutorial você irá aprender o básico de configuração de roteadores, como alterar o nome padrão da sua rede sem fio e configurar uma senha para que ninguém use a sua internet indevidamente.
.

Contents

  1. Introdução
  2. Cenário
  3. Descobrindo o endereço IP do roteador
  4. Resetando o roteador
  5. Configurando o roteador
    1. IP Dinâmico (DHCP)
    2. PPPoE
    3. IP Estático
  6. Configurando a segurança
 

Introdução

Você não sabe o que é um endereço IP ou não sabe como descobrir qual é o endereço IP do seu roteador residencial? Não se preocupe, você pode acessar facilmente a página de configuração do roteador com alguns poucos cliques. Você também pode ser o especialista em redes da sua casa.

Cenário

Para começar a configurar sua rede sem fio, conecte o cabo de rede do seu computador ao roteador em uma porta LAN, e outro cabo do seu modem de banda larga ao seu roteador em uma porta WAN, conforme a figura abaixo.

Descobrindo o endereço IP do roteador

Para descobrir o endereço IP do seu roteador é simples, siga os passos:
Clique em Iniciar e digite CMD

Digite ipconfig e dê enter, o IP do seu roteador será sempre seu Gateway Padrão

Anote o IP do roteador que descobriu anteriormente e digite o endereço no seu navegador de internet

Conseguiu concluir esta etapa sem problemas? então pule direto pra parte sobre como configurar o roteador.

Resetando o roteador

Se você não conseguiu fazer o passo anterior, tente resetar seu roteador, siga os passos abaixo:
Clique em Iniciar e digite CMD
Digite ping 192.168.0.1 -t

Pegue um clip ou qualquer objeto pontiagudo e pressione o botão de reset do seu roteador durante 10 segundos

Note que após resetar o roteador, haverá uma pausa no ping e depois começará a pingar novamente, isso indica que o reset foi realizado com sucesso.

Configurando o roteador

Digite o IP do roteador no seu navegador e entre com usuário e senha padrão:
Usuário: admin
Senha: (Deixe o campo em branco)

Com a tela de configuração aberta, clique no botão Internet Setup localizado à esquerda da página e logo em seguida no botão Manual Internet Connection Setup no final da tela.

IP Dinâmico (DHCP)

Esta é a opção padrão que seu roteador vem configurado, se seu provedor usa IP Dinâmico, deixe esta opção marcada, veja como configurar a seguir.
  1. No campo Access Point Mode deixe a opção Enable Access Point Mode desmarcada.
  2. No campo My Internet Connection is selecione a opção Dynamic IP (DHCP).
  3. Se a sua conexão necessita de MAC Address cadastrado, digite-o nos campos MAC Address, caso não necessite apenas clique no botão Clone MAC Address.
  4. Primary DNS Address / Secondary DNS Address: Digite os Endereços de DNS fornecido pelo seu provedor de internet, caso seja necessário.
  5. Em seguida clique no botão Save Settings para salvar as configurações

Para verificar se está com acesso a internet, acesse a guia STATUS e verifique se na faixa de WAN ou INTERNET o campo IP Address obteve algum endereço IP. Caso esteja 0.0.0.0 clique no botão DHCP Release depois no botão DHCP Renew para que obtenha um IP. Permanecendo 0.0.0.0 desligue o modem e o roteador e ligue os nesta ordem, volte em STATUS e verifique se aparece o IP Address na WAN ou INTERNET. Confirme o acesso a internet acessando um site de sua preferência.
Exemplo de provedor que usa este tipo de configuração: NET Vírtua
Se mesmo com a explicação acima você não conseguiu entender como configurar o seu roteador em modo dinâmico.

PPPoE

Se seu provedor usa PPPoE, selecione esta configuração, veja como configurar a seguir:
No campo Access Point Mode deixe a opção Enable Access Point Mode desmarcada, e no campo My Internet Connection is selecione a opção PPPoE (Username/Password).
Preencha com as informaçoes corretas nos campos abaixo:
  1. Username: Digite o seu nome de usuário com o provedor de acesso a Internet.
  2. Password: Digite sua senha para este usuário.
  3. Confirm Password: Repita a senha.
  4. Connect mode select : Selecione a opção Always.
  5. Clique no botão Save Settings para salvar a configuração.

Para verificar se está com acesso a internet, acesse a guia STATUS e verifique se na faixa de WAN ou INTERNET o campo IP Address obteve algum endereço IP, caso apresente 0.0.0.0 clique no botão Conect e verifique se agora existe um endereço IP. Confirme o acesso a internet acessando um site de sua preferência.
Exemplo de provedor que usa este tipo de configuração: Velox
Se mesmo com a explicação acima você não conseguiu entender como configurar o seu roteador em modo PPPoE.

IP Estático

Se seu provedor usa IP Estático, selecione esta configuração, veja como configurar a seguir:
No campo Access Point Mode deixe a opção Enable Access Point Mode desmarcada, e no campo My Internet Connection is selecione a opção Static IP.
Para configurar em modo Static IP Address você deve possuir os endereços de IP de WAN, Máscara, Gateway, DNS Primário e Secundário fornecidos pelo seu provedor de Internet.
Preencha com as informaçoes corretas nos campos abaixo:
  1. IP Address: Digite o endereço IP
  2. Subnet Mask: Digite a máscara de sub-rede
  3. ISP Gateway Address: Digite o IP do Gateway Padrão
  4. Primary DNS Address: Digite o DNS Primário
  5. Secondary DNS Address: Digite o DNS Secundário
Se a sua conexão necessita de MAC address cadastrado, digite-o nos campos MAC Address ou caso não necessite apenas clique no botão Clone MAC Address.
Em seguida clique no botão Save Settings para salvar as configurações.

Exemplos de provedores que usam este tipo de configuração: Provedores a Rádio

Configurando a segurança

Infelizmente a maioria dos usuários ainda usam o algorítmo WEP para configurar seus roteadores, não vamos utlizar esse tipo de segurança pois hoje em dia qualquer pessoa com o mínimo de conhecimento, pode quebrar a chave de uma rede sem fio com WEP configurada. Vamos utilizar WPA ou WPA2.
Clique em Setup na parte superior e Wireless Setup ao lado esquerdo da página de configuração. Logo abaixo, clique no botão Manual Wireless Connection Setup.

Altere os parâmetros a seguir:
  1. Enable Wireless: Deixe habilitado.
  2. Wireless Network Name: Crie um nome para sua rede sem fio ex: infohelp.org
  3. Enable Auto Channell Selection: Deixe habilitado.
  4. Security Mode: Selecione Enabled WPA/WPA2 Wireless Security (enhanced).
  5. Cipher Type: Deixe selecionada a opção AES.
  6. PSK / EAP: Deixe selecionada a opção PSK.
  7. Network Key: Crie uma senha de no mínimo 8 e no máximo 63 caracteres a qual pode ser utilizado qualquer número e letras de A a F.
  8. Clique em Save Settings para salvar as configurações.

Agora basta localizar a rede sem fio pelo seu computador e conectar-se a rede, de preferência, utilize o software de gerenciamento do seu Sistema Operacional.

Fonte: http://infohelp.org/thales-laray/instalando-e-configurando-o-roteador-dir-600/

Diretrizes e exemplos de fórmulas de matriz

Para se tornar um usuário avançado do Excel, você precisa saber como usar as fórmulas de matriz, que podem executar cálculos que não podem ser feitos através de fórmulas não-matriz. O artigo a seguir baseia-se em uma série de colunas para usuários avançados do Excel escritas por Colin Wilcox e adaptada dos capítulos 14 e 15 de Excel 2002 Formulas (Em inglês), um livro escrito por John Walkenbach, MVP em Excel. Para obter mais informações sobre os outros livros de John, consulte a página de livro (Em inglês) correspondente.
Neste artigo


Conheça as fórmulas de matriz

Esta seção fornece uma introdução às fórmulas de matriz e explica como inseri-las, editá-las e solucionar seus problemas.

Por que usar as fórmulas de matriz?

Se você tem experiência com fórmulas do Excel, sabe que pode executar operações um tanto sofisticadas. Por exemplo, você pode calcular o custo total de um empréstimo em um dado número de anos. No entanto, se você realmente deseja conhecer a fundo as fórmulas do Excel, precisa saber como usar as fórmulas de matriz. Use-as para realizar tarefas complexas, como:
  • Contar o número de caracteres contidos em um intervalo de células.
  • Somar apenas números que atendam a determinadas condições, como os valores inferiores de um intervalo ou os números que estão entre um limite inferior e superior.
  • Somar cada valor n em um intervalo de valores.
 Observação   Possivelmente as fórmulas de matriz serão referenciadas como "fórmulas CSE", pois você pressiona CTRL+SHIFT+ENTER para inseri-las nas pastas de trabalho.

Uma introdução rápida às matrizes e fórmulas de matriz

Se você conhece ao menos um pouco de programação, provavelmente já se deparou com o termo matriz. Para as finalidades deste artigo, basta dizer que uma matriz é um conjunto de itens. No Excel, esses itens podem residir em uma única linha (denominada matriz horizontal unidimensional), em uma coluna (matriz vertical unidimensional) ou em várias linhas e colunas (matriz bidimensional). Você não pode criar matrizes tridimensionais ou fórmulas de matriz no Excel.
Uma fórmula de matriz pode executar vários cálculos em um ou mais itens de uma matriz. As fórmulas de matriz podem retornar um ou vários resultados. Por exemplo, você pode inserir uma fórmula de matriz em um intervalo de células e usar a fórmula de matriz para calcular uma coluna ou linha de subtotais. Você também pode inserir uma fórmula de matriz em uma única célula e calcular um valor único. Uma fórmula de matriz que reside em várias células é denominada fórmula com várias células, enquanto uma fórmula de matriz que reside em uma única célula é denominada fórmula com uma única célula.
Os exemplos da seção a seguir mostram como criar fórmulas de matriz com uma ou várias células.

Experimente!

Este exercício mostra como usar fórmulas de matriz com uma ou várias células para calcular um conjunto de números de vendas. O primeiro conjunto de etapas usa uma fórmula com várias células para calcular um conjunto de subtotais. O segundo conjunto usa uma fórmula com uma única célula para calcular um total geral.

Criar uma fórmula de matriz com várias células

  1. Abra uma nova pasta de trabalho em branco.
  2. Copie os dados de exemplo da planilha e cole-os na nova pasta de trabalho começando pela célula A1.
  • Crie uma pasta de trabalho ou planilha em branco.
  • Selecione o exemplo no tópico da Ajuda.
 Observação   Não selecione os cabeçalhos da linha ou da coluna.
Selecionando um exemplo na Ajuda
Selecionando um exemplo na Ajuda
  • Pressione CTRL+C.
  • Na planilha, selecione a célula A1 e pressione CTRL+V.

Vendedor Tipo de Carro Número Vendido Preço Unitário Total de Vendas
Barnhill Sedan 5 2200  
  Coupe 4 1800  
Ingle Sedan 6 2300  
  Coupe 8 1700  
Jordan Sedan 3 2000  
  Coupe 1 1600  
Pica Sedan 9 2150  
  Coupe 5 1950  
Sanchez Sedan 6 2250  
  Coupe 8 2000  

  1. Use o botão Opções de ColagemImagem do botão exibido para fazer a correspondência da formatação de destino.
  2. Para multiplicar os valores da matriz (o intervalo de células C2 a D11), selecione as células E2 a E11 e insira a fórmula a seguir na barra de fórmulas:
=C2:C11*D2:D11
  1. Pressione CTRL+SHIFT+ENTER.
O Excel delimita a fórmula com chaves ({ }) e insere uma instância da fórmula em cada célula do intervalo selecionado. Isso é feito com muita rapidez. Portanto, o que você vê na coluna E é o valor total das vendas de cada tipo de carro de cada vendedor.

Dados de exemplo

Criar uma fórmula de matriz com uma única célula

  1. Na célula A13 da pasta de trabalho, digite Total de Vendas.
  2. Na célula B13, digite a fórmula a seguir e pressione CTRL+SHIFT+ENTER:
=SOMA(C2:C11*D2:D11)
Neste caso, o Excel multiplica os valores da matriz (o intervalo de células C2 a D11) e usa a função SOMA para adicionar os totais. O resultado é um total geral de US$ 111.800 em vendas. Este exemplo mostra até onde vai a eficiência deste tipo de fórmula. Por exemplo, suponhamos que você tenha 15.000 linhas de dados. Você pode somar os dados total ou parcialmente criando uma fórmula de matriz em uma única célula.
Além disso, observe que a fórmula com célula única (na célula B13) é completamente independente da fórmula com várias células (nas células E2 a E11). Isso aponta uma outra vantagem das fórmulas de matriz: a flexibilidade. Você pode executar quantas ações desejar, como alterar as fórmulas na coluna E ou excluir essa coluna, sem afetar a fórmula com célula única.
As fórmulas de matriz também oferecem as seguintes vantagens:
  • Consistência    Se você clicar em qualquer uma das células de E2 para baixo, verá a mesma fórmula. Essa consistência pode conferir maior precisão.
  • Segurança    Não é possível substituir um componente de uma fórmula de matriz com várias células. Por exemplo, clique na célula E3 e pressione DELETE. Você precisa selecionar todo o intervalo de células (E2 a E11) e alterar a fórmula da matriz inteira ou deixar a matriz como está. Como medida de segurança adicional, pressione CTRL+SHIFT+ENTER para confirmar a alteração da fórmula.
  • Menores arquivos    Você geralmente pode usar uma única fórmula de matriz em vez de várias fórmulas intermediárias. Por exemplo, a pasta de trabalho criada para este exercício usa uma única fórmula de matriz para calcular os resultados na coluna E. Se você tivesse usado fórmulas padrão (como =C2*D2), teria usado 11 fórmulas diferentes para calcular os mesmos resultados.

Uma análise da sintaxe de fórmula de matriz

Na maioria das vezes, as fórmulas de matriz usam a sintaxe de fórmula padrão. Todas elas começam com um sinal de igual e você pode usar qualquer função interna do Excel nas fórmulas de matriz. A diferença-chave é que, ao usar uma fórmula de matriz, você deve pressionar CTRL+SHIFT+ENTER para inserir a fórmula. Quando você faz isso, o Excel delimita a fórmula de matriz com chaves — se você digitar as chaves manualmente, a fórmula será convertida em uma cadeia de texto e não funcionará.
O próximo aspecto que você precisa entender é que as funções de matriz são uma forma abreviada. Por exemplo, a função com várias células utilizada anteriormente é o equivalente de:

=C2*D2
=C3*D3
e assim por diante. A fórmula com célula única contida na célula B13 condensa todas essas operações de multiplicação, mais a aritmética necessária para adicionar esses subtotais: =E2+E3+E4 e assim sucessivamente.

Regras para a inserção e alteração de fórmulas de matriz

Vale a pena repetir a principal regra de criação de uma fórmula de matriz: pressione CTRL+SHIFT+ENTER sempre que precisar inserir ou editar uma fórmula de matriz. Essa regra se aplica a fórmulas com uma e várias células.
Sempre que você trabalha com fórmulas com várias células, também precisa seguir estas regras:
  • Selecione o intervalo de células para reter os resultados antes de inserir a fórmula. Você fez isso na etapa 3 do exercício de fórmula de matriz com várias células quando selecionou as células E2 a E11.
  • Não altere o conteúdo de uma célula individual em uma fórmula de matriz. Como experiência, selecione a célula E3 na pasta de trabalho de exemplo e pressione DELETE.
  • Mova ou exclua toda a fórmula de matriz, mas não mova ou exclua parte dela. Em outras palavras, para reduzir uma fórmula de matriz, primeiro exclua a fórmula existente e comece novamente.
 Dica   Para excluir uma fórmula de matriz, selecione a fórmula inteira (por exemplo, =C2:C11*D2:D11), pressione DELETE e, em seguida, pressione CTRL+SHIFT+ENTER.
  • Não insira células em branco nem exclua células em uma fórmula de matriz com várias células.

Expandindo uma fórmula de matriz

Pode ser que você precise expandir uma fórmula de matriz. (Lembre-se de que não é possível reduzir uma fórmula de matriz.) O processo não é complicado, mas você deve ter em mente as regras listadas na seção anterior.
  1. Na pasta de trabalho de exemplo, limpe qualquer texto e fórmula com célula única que esteja localizado abaixo da tabela principal.
  2. Cole essas linhas de dados adicionais na pasta de trabalho começando pela célula A12. Use o botão Opções de ColagemImagem do botão exibido para fazer a correspondência da formatação de destino.

Toth Sedan 6 2500
  Coupe 7 1900
Wang Sedan 4 2200
  Coupe 3 2000
Young Sedan 8 2300
  Coupe 8 2100

  1. Selecione o intervalo de células que contém a fórmula de matriz atual (E2:E11), mais as células vazias (E12:E17) que estão ao lado dos novos dados. Em outras palavras, selecione as células E2:E17.
  2. Pressione F2 para alternar para o modo de edição.
  3. Na barra de fórmulas, altere C11 a C17, altere D11 a D17 e pressione CTRL+SHIFT+ENTER. O Excel atualiza a fórmula nas células E2 a E11 e insere uma instância da fórmula nas novas células, E12 a E17.

Dados de exemplo

Desvantagens do uso das fórmulas de matriz

As fórmulas de matriz podem parecer mágicas, mas elas também têm algumas desvantagens:
  • Ocasionalmente, você pode se esquecer de pressionar CTRL+SHIFT+ENTER. Lembre-se de pressionar essa combinação de teclas sempre que inserir ou editar uma fórmula de matriz.
  • Pode ser que outros usuários não compreendam suas fórmulas. As fórmulas de matriz são relativamente não-documentadas. Portanto, se outras pessoas precisarem modificar suas pastas de trabalho, evite as fórmulas de matriz ou verifique se esses usuários sabem como alterá-las.
  • Dependendo da velocidade do processamento e da memória do computador, as fórmulas de matriz grandes podem tornar os cálculos lentos.

Conheça as constantes de matriz

Esta seção fornece uma introdução às constantes de matriz e explica como inseri-las, editá-las e solucionar seus problemas.

Uma breve introdução às constantes de matriz

As constantes de matriz são um componente das fórmulas de matriz. Para criar constantes de matriz, insira uma lista de itens e delimite-a manualmente com chaves ({ }), da seguinte maneira:
={1,2,3,4,5}
Anteriormente neste artigo, enfatizamos a necessidade de pressionar CTRL+SHIFT+ENTER durante a criação das fórmulas de matriz. Como as constantes de matriz são um componente das fórmulas de matriz, delimite manualmente as constantes com chaves digitando-as. Em seguida, use CTRL+SHIFT+ENTER para inserir a fórmula inteira.
Se você delimitar (separar) os itens com vírgulas, criará uma matriz horizontal (uma linha). Se você delimitar os itens com ponto-e-vírgulas, criará uma matriz vertical (uma coluna). Para criar uma matriz bidimensional, delimite os itens em cada linha usando vírgulas e delimite cada linha usando ponto-e-vírgulas.
Assim como acontece com as fórmulas de matriz, você pode usar constantes de matriz com qualquer função interna do Excel. As seções a seguir explicam como criar cada tipo de constante e como usar essas constantes com as funções do Excel.

Criar constantes unidimensionais e bidimensionais

Com o procedimento a seguir, você poderá praticar a criação de constantes horizontais, verticais e bidimensionais.

Criar uma constante horizontal

  1. Use a pasta de trabalho da coluna anterior ou inicie uma nova pasta de trabalho.
  2. Selecione as células A1 a E1.
  3. Na barra de fórmulas, digite a fórmula a seguir e pressione CTRL+SHIFT+ENTER:
={1,2,3,4,5}
 Observação   Neste caso, você deve digitar as chaves de abertura e fechamento ({ }).
Você verá o seguinte resultado.

Constante de matriz horizontal na fórmula

Talvez você deseje saber por que não pode simplesmente digitar os números manualmente. Prossiga, pois a seção Usar constantes em fórmulas, posteriormente neste artigo, demonstra as vantagens do uso de constantes de matriz.

Criar um constante vertical

  1. Na pasta de trabalho, selecione uma coluna de cinco células.
  2. Na barra de fórmulas, digite a fórmula a seguir e pressione CTRL+SHIFT+ENTER:
={1;2;3;4;5}
Você verá o seguinte resultado.

Constante de matriz vertical na fórmula de matriz

Criar uma constante bidimensional

  1. Na pasta de trabalho, selecione um bloco de células com quatro colunas largura por três linhas de altura.
  2. Na barra de fórmulas, digite a fórmula a seguir e pressione CTRL+SHIFT+ENTER:
={1,2,3,4;5,6,7,8;9,10,11,12}
Você verá o seguinte resultado:

Constante de matriz bidimensional na fórmula de matriz

Usar constantes em fórmulas

Agora que você já está familiarizado com a inserção de constantes de matriz, veja a seguir um exemplo simples do que discutimos:
  1. Abra uma planilha em branco.
  2. Copie a tabela a seguir começando pela célula A1. Use o botão Opções de ColagemBotão Opções de Colagem exibido para fazer a correspondência da formatação de destino.

3 4 5 6 7

  1. Na célula A13, digite a fórmula a seguir e pressione CTRL+SHIFT+ENTER:
=SOMA(A1:E1*{1,2,3,4,5})
Observe que o Excel delimita a constante com outro conjunto de chaves, pois você a inseriu como uma fórmula de matriz.

Fórmula de matriz com constante de matriz

O valor 85 aparece na célula A3. A próxima seção explicará como a fórmula funciona.

Uma análise da sintaxe de constante de matriz

A fórmula que você acabou de usar contém várias partes.

Sintaxe da fórmula de matriz com constante de matriz
Texto explicativo 1 Função
Texto explicativo 2 Matriz armazenada
Texto explicativo 3 Operador
Texto explicativo 4 Constante de matriz

O último elemento dentro dos parênteses é a constante de matriz: {1,2,3,4,5}. Lembre-se de que o Excel não delimita as constantes de matriz com chaves. Você é que deve fazer isso. Lembre-se também de que, após adicionar uma fórmula de matriz, deve pressionar CTRL+SHIFT+ENTER para inserir a fórmula.
Como o Excel executa as operações entre parênteses primeiro, os próximos dois elementos a serem considerados são os valores armazenados na pasta de trabalho (A1:E1) e o operador. Neste ponto, a fórmula multiplica os valores da matriz armazenada pelos valores correspondentes da constante. É o equivalente de:
=SOMA(A1*1,B1*2,C1*3,D1*4,E1*5)
Finalmente, a função SOMA adiciona os valores e a soma 85 aparece na célula A3:
Para evitar o uso da matriz armazenada e manter a operação na memória, substitua a matriz armazenada por outra constante de matriz:
=SOMA({3,4,5,6,7}*{1,2,3,4,5})
Tente fazer isso. Copie a função, selecione uma célula em branco na pasta de trabalho, cole a fórmula na barra de fórmulas e pressione CTRL+SHIFT+ENTER. Você verá o mesmo resultado do exercício anterior que usou a fórmula de matriz =SOMA(A1:E1*{1,2,3,4,5}).

Elementos que você pode usar em constantes

As constantes de matriz podem conter números, texto, valores lógicos (como VERDADEIRO e FALSO) e valores de erro (como #N/D). É possível usar números nos formatos inteiro, decimal e científico. Se você incluir texto, deverá delimitá-lo com aspas duplas (").
As constantes de matriz não podem obter matrizes, fórmulas ou funções adicionais. Em outras palavras, elas podem conter somente texto ou números separados por vírgulas ou ponto-e-vírgulas. O Excel exibe uma mensagem de aviso quando você insere uma fórmula como {1,2,A1:D4} ou {1,2,SOMA(Q2:Z8)}. Além disso, os valores numéricos não podem conter sinais de porcentagem, cifrões, vírgulas ou parênteses.

Nomeando constantes de matriz

Possivelmente, a melhor maneira de usar constantes de matriz é nomeando-as. As constantes nomeadas podem ser muito mais fáceis de usar, ocultando dos usuários iniciantes a complexidade das fórmulas de matriz. Para nomear uma constante de matriz e usá-la em uma fórmula, faça o seguinte:
  1. Na guia Fórmulas, no grupo Nomes Definidos, clique em Definir Nome.
A caixa de diálogo Definir Nome é exibida.
  1. Na caixa Nome, digite Trimestre1.
  2. Na caixa Refere-se a, digite a seguinte constante (lembre-se de digitar as chaves manualmente):
={"Janeiro","Fevereiro","Março"}
O conteúdo da caixa de diálogo deve ter a seguinte aparência:
Caixa de diálogo Editar Nome com fórmula
  1. Clique em OK.
  2. Na planilha, selecione uma linha de três células em branco.
  3. Digite a fórmula a seguir e pressione CTRL+SHIFT+ENTER.
=Trimestre1
Você verá o seguinte resultado.

Matriz nomeada inserida como fórmula

Ao usar uma constante nomeada como uma fórmula de matriz, lembre-se de digitar o sinal de igual. Se você não fizer isso, o Excel interpretará a matriz como uma cadeia de texto. Finalmente, tenha em mente que é possível usar combinações de texto e números.

Solucionando problemas de constantes de matriz

Procure os seguintes problemas quando as constantes de matriz não funcionarem:
  • Alguns elementos podem não ser separados com o caractere apropriado. Se você omitir uma vírgula ou ponto-e-vírgula, ou se você colocar um desses sinais no lugar errado, é possível que a constante de matriz não seja criada corretamente ou que você receba uma mensagem de aviso.
  • Talvez você tenha selecionado um intervalo de células que não corresponde ao número de elementos da constante. Por exemplo, se você selecionar uma coluna de seis células a ser usada com uma constante de cinco células, o valor de erro #N/D aparecerá na célula vazia. Ao contrário, se você selecionar poucas células, o Excel omitirá os valores que não possuem uma célula correspondente.

Constantes de matriz em ação

Os exemplos a seguir demonstram algumas formas de aplicar constantes de matriz a fórmulas de matriz. Alguns exemplos usam a função TRANSPOR para converter linhas em colunas e vice-versa.

Multiplicar cada item em uma matriz

  1. Selecione um bloco de células vazia com quatro colunas de largura por três linhas de altura.
  2. Digite a fórmula a seguir e pressione CTRL+SHIFT+ENTER.
={1,2,3,4;5,6,7,8;9,10,11,12}*2

Acomodar os itens em uma matriz

  • Selecione um bloco de células vazia com quatro colunas de largura por três linhas de altura.
  • Digite a fórmula de matriz a seguir e pressione CTRL+SHIFT+ENTER.
={1,2,3,4;5,6,7,8;9,10,11,12}*{1,2,3,4;5,6,7,8;9,10,11,12}
Se desejar, insira esta fórmula de matriz, que usa o operador circunflexo (^):
={1,2,3,4;5,6,7,8;9,10,11,12}^2

Transpor uma linha unidimensional

  1. Selecione uma coluna de cinco células em branco.
  2. Digite a fórmula a seguir e pressione CTRL+SHIFT+ENTER:
=TRANSPOR({1,2,3,4,5})
Mesmo que você tenha inserido uma constante de matriz horizontal, a função TRANSPOR converte a constante de matriz em uma coluna.

Transpor uma coluna unidimensional

  1. Selecione uma linha de cinco células em branco.
  2. Digite a fórmula a seguir e pressione CTRL+SHIFT+ENTER:
=TRANSPOR({1;2;3;4;5})
Mesmo que você tenha inserido uma constante de matriz vertical, a função TRANSPOR converte a constante em uma linha.

Transpor uma constante bidimensional

  1. Selecione um bloco de células com três colunas de largura por quatro linhas de altura.
  2. Digite a constante a seguir e pressione CTRL+SHIFT+ENTER.
=TRANSPOR({1,2,3,4;5,6,7,8;9,10,11,12})
A função TRANSPOR converte cada linha em uma série de colunas.

Colocando as fórmulas de matriz básicas em funcionamento

Esta seção fornece exemplos de fórmulas de matriz básicas.

Introdução

Use os dados desta seção para criar duas planilhas de exemplo.
  1. Abra uma pasta de trabalho existente ou crie uma nova pasta de trabalho, e verifique se ela contém duas planilhas em branco.
  2. Copie os dados da tabela a seguir e cole-o na planilha iniciando pela célula A1.








400   como pode   1 2 3 4
1200   um peixe vivo   5 6 7 8
3200   viver fora   9 10 11 12
475   de água fria   13 14 15 16
500   usuário avançado          
2000              
600              
1700              
800              
2700              








  1. A planilha concluída deve ter a seguinte aparência.

  2. Dados de exemplo completos

  3. Nomeie a primeira planilha Dados e nomeie uma segunda planilha em branco Matrizes.

Criar matrizes e constantes de matriz a partir de valores existentes

O exemplo a seguir explica como usar fórmulas de matriz para criar vínculos entre intervalos de células em diferentes planilhas. Ele também mostra como criar uma constante de matriz a partir do mesmo conjunto de valores.

Criar uma matriz a partir de valores existentes

  1. Na pasta de trabalho de exemplo, selecione a planilha Matrizes.
  2. Selecione o intervalo de célula C1 a E3.
  3. Digite a fórmula a seguir na barra de fórmulas e pressione CTRL+SHIFT+ENTER:
=Dados!E1:G3
Você verá o seguinte resultado.
Resultados na planilha Matrizes
A fórmula se vincula aos valores armazenados nas células E1 a G3 na planilha Dados. A alternativa para esta fórmula de matriz com várias células é colocar uma fórmula exclusiva em cada célula da planilha Matrizes, conforme mostrado a seguir.




=Dados!E1 =Dados!F1 =Dados!G1
=Dados!E2 =Dados!F2 =Dados!G2
=Dados!E3 =Dados!F3 =Dados!G3





Criar uma constante de matriz a partir de valores existentes

  1. Na planilha Matrizes, selecione as células C1 a E3.
  2. Pressione F2 para alternar para o modo de edição.
  3. Pressione F9 para converter as referências de célula em valores. O Excel converte os valores em uma constante de matriz.
  4. Pressione CTRL+SHIFT+ENTER para inserir a constante de matriz como uma fórmula de matriz.
O Excel substitui a fórmula de matriz =Dados!E1:G3 pela seguinte constante de matriz:
={1,2,3;5,6,7;9,10,11}
O vínculo entre as planilhas Dados e Matrizes foi quebrado e a fórmula de matriz foi substituída por uma constante de matriz.

Contar caracteres em um intervalo de células

O exemplo a seguir mostra como contar o número de caracteres, incluindo espaços, em um intervalo de células.
  • Na planilha Dados, insira a seguinte fórmula na célula C7 e pressione CTRL+SHIFT+ENTER:
=SOMA(NÚM.CARACT(C1:C5))
O valor 47 aparece na célula C7.
Neste caso, a função NÚM.CARACT retorna o tamanho de cada cadeia de texto em cada uma das células do intervalo. Em seguida, a função SOMA adiciona esses valores e exibe os resultado na célula que contém a fórmula, C7.

Localizar os n menores valores de um intervalo

Este exemplo mostra como localizar os três menores valores de um intervalo de células.
  1. Na planilha Dados, selecione as células A12 a A14.
Este conjunto de células reterão os resultados retornados pela fórmula de matriz.
  1. Na barra de fórmulas, digite a fórmula a seguir e pressione CTRL+SHIFT+ENTER:
=MENOR(A1:A10,{1;2;3})
Os valores 400, 475 e 500 aparecem nas células A12 a A14, respectivamente.
Esta fórmula usa uma constante de matriz para avaliar a função MENOR três vezes e retornar o primeiro menor (1), o segundo menor (2) e o terceiro menor (3) membros da matriz contida nas células A1:A10. Para localizar mais valores, adicione mais argumentos à constante e um número equivalente das células de resultado ao intervalo A12:A14. Você também pode usar funções com esta fórmula, como SOMA ou MÉDIA. Por exemplo:
=SOMA(MENOR(A1:A10,{1;2;3}))
=MÉDIA(MENOR(A1:A10,{1;2;3}))

Localizar os n maiores valores de um intervalo

Para localizar os maiores valores de um intervalo, substitua a função MENOR pela função MAIOR. Além disso, o exemplo a seguir usa as funções LIN e INDIRETO.
  1. Na planilha Dados, selecione as células A12 a A14.
  2. Pressione DELETE para limpar a fórmula existente e deixar as células selecionadas.
  3. Na barra de fórmulas, digite esta fórmula e pressione CTRL+SHIFT+ENTER:
=MAIOR(A1:A10,LIN(INDIRETO("1:3")))
Os valores 3200, 2700 e 2000 aparecem nas células A12 a A14, respectivamente.
Neste ponto, pode ser útil saber um pouco sobre as funções LIN e INDIRETO. Você pode usar a função LIN para criar uma matriz de números inteiros consecutivos. Por exemplo, selecione uma coluna vazia de 10 células na pasta de trabalho da prática, insira esta fórmula de matriz nas células A1:A10 e pressione CTRL+SHIFT+ENTER:
=LIN(1:10)
A fórmula cria uma coluna de 10 números inteiros consecutivos. Para ver um problema possível, insira uma linha acima do intervalo que contém a fórmula de matriz (ou seja, acima da linha 1). O Excel ajusta as referências de linha e a fórmula gera números inteiros de 2 a 11. Para resolver esse problema, adicione a função INDIRETO à fórmula:
=LIN(INDIRETO("1:10"))
A função INDIRETO usa cadeias de texto como argumentos (é por isso que o intervalo 1:10 é delimitado por aspas duplas). O Excel não ajusta os valores de texto quando você insere linhas ou move a fórmula de matriz. Conseqüentemente, a função LIN sempre gera a matriz de números inteiros desejados.
Vamos examinar a fórmula usada anteriormente — =MAIOR(A1:A10,LIN(INDIRETO("1:3"))) — começando pelos parênteses internos até chegar aos externos: a função INDIRETO retorna um conjunto de valores de texto; nesse caso, os valores de 1 a 3. A função LIN, por sua vez, gera uma matriz de coluna de três células. A função MAIOR usa os valores do intervalo de células A1:A10 e é avaliada três vezes, uma para cada referência retornada pela função LIN. Os valores 3200, 2700 e 2000 são retornados na matriz de coluna de três células. Se você deseja localizar mais valores, adicione um intervalo de células maior à função INDIRETO.
Finalmente, você pode usar esta fórmula com outras funções, como SOMA e MÉDIA.

Localizar a maior cadeia de texto de um intervalo de células

Este exemplo localiza a maior cadeia de texto de um intervalo de células. Esta fórmula funciona somente quando um intervalo de dados contém uma única coluna de células.
  • Na planilha Dados, limpe a fórmula existente da célula C7, insira a seguinte fórmula nessa célula e pressione CTRL+SHIFT+ENTER:
=INDEX(C1:C5,MATCH(MÁXIMO(NÚM.CARACT(C1:C5)),NÚM.CARACT(C1:C5),0),1)
O valor viver fora aparece na célula C7.
Vamos examinar a fórmula, começando pelos elementos internos até chegar aos externos. A função NÚM.CARACT retorna o tamanho de cada item do intervalo de células C1:C5. A função MÁXIMO calcula o maior valor entre esses itens, que corresponde à maior cadeia de texto, que está na célula C3.
É aqui que as coisas ficam um pouco mais complicadas. A função MATCH calcula o deslocamento (a posição relativa) da célula que contém a maior cadeia de texto. Para fazer isso, são necessários três argumentos: um valor de pesquisa, uma matriz de pesquisa e um tipo de correspondência. A função MATCH procura o valor de pesquisa especificado na matriz de pesquisa. Nesse caso, o valor de pesquisa é a maior cadeia de texto:
(MÁXIMO(NÚM.CARACT(C1:C5))
e essa cadeia de caracteres reside nessa matriz:
NÚM.CARACT(C1:C5)
O argumento de tipo de correspondência é 0. O tipo de correspondência pode ser composto pelo valor 1, 0 ou -1. Se você especificar 1, MATCH retornará o maior valor menor ou igual ao valor de pesquisa. Se você especificar 0, MATCH retornará o primeiro valor exatamente igual ao valor de pesquisa. Se você especificar -1, MATCH localizará o menor valor maior ou igual ao valor de pesquisa especificado. Se você omitir um tipo de correspondência, o Excel assumirá 1.
Finalmente, a função INDEX adota estes argumentos: uma matriz e um número de linha e coluna dentro dessa matriz. O intervalo de células C1:C5 fornece a matriz, a função MATCH oferece o endereço da célula e o argumento final (1) especifica que o valor é proveniente da primeira coluna da matriz.
Para obter mais informações sobre as funções discutidas aqui, consulte a Ajuda do Excel.

Colocando as fórmulas de matriz avançadas em funcionamento

Esta seção fornece exemplos de fórmulas de matriz avançadas.

Somar um intervalo que contém valores de erro

A função SOMA do Excel não funciona quando você tenta somar uma intervalo que contém um valor de erro, como #N/D. Este exemplo mostra como somar os valores em um intervalo chamado Dados que contém erros.
=SOMA(SE(ÉERROS(Dados),"",Dados))
A fórmula cria uma nova matriz que contém os valores originais menos quaisquer valores de erro. Começando pelas funções internas até chegar às externas, a função ÉERROS procura erros no intervalo de células (Dados). A função SE retornará um valor específico se uma condição especificada for avaliada como VERDADEIRO e outro valor se for avaliada como FALSO. Nesse caso, ela retornará cadeias de caracteres vazias ("") para todos os valores de erro porque são avaliadas como VERDADEIRO e retornará os valores restantes do intervalo (Dados) porque são avaliadas como FALSO. Isso significa que elas não contém valores de erro. Em seguida, a função SOMA calcula o total da matriz filtrada.

Contar o número de valores de erro em um intervalo

Este exemplo é similar à fórmula anterior, mas retorna o número de valores de erro em um intervalo chamado Dados, em vez de filtrá-los:
=SOMA(SE(ÉERROS(Dados),1,0))
Esta fórmula cria uma matriz que contém o valor 1 para as células que contém erros e o valor 0 para as células que não contém erros. Você pode simplificar a fórmula e obter o mesmo resultado removendo o terceiro argumento da função SE:
=SOMA(SE(ÉERROS(Dados),1))
Se você não especificar o argumento, a função SE retornará FALSO se uma célula não contiver um valor de erro. Você pode simplificar ainda mais a fórmula:
=SOMA(SE(ÉERROS(Dados)*1))
Esta versão funciona porque VERDADEIRO*1=1 e FALSO*1=0.

Somar valores com base em condições

Talvez você precise somar valores com base em condições. Por exemplo, esta fórmula de matriz soma apenas os números inteiros positivos em um intervalo chamado Vendas:
=SOMA(SE(Vendas>0,Vendas))
A função SE cria uma matriz de valores positivos e falsos. A função SOMA ignora essencialmente os valores falsos porque 0+0=0. O intervalo de células usado nesta fórmula pode ser composto por qualquer número de linhas e colunas.
Você também pode somar valores que atendem a mais de uma condição. Por exemplo, esta fórmula de matriz calcula os valores maiores que 0 e menores ou iguais a 5:
=SOMA((Vendas>0)*(Vendas<=5)*(Vendas))
Tenha em mente que esta fórmula retornará um erro se o intervalo contiver uma ou mais células não-numéricas.
Você também pode criar fórmulas de matriz que usam um tipo de condição OU. Por exemplo, você pode somar valores menores que 5 e maiores que 15:
=SOMA(SE((Vendas<5)+(Vendas>15),Vendas))
A função SE localiza todos os valores menores que 5 e maiores que 15, e passa esses valores para a função SOMA.
 Importante   Você não pode usar diretamente as funções E e OU nas fórmulas de matriz porque essa funções retornam um único resultado, VERDADEIRO ou FALSO, e as funções de matriz requerem matrizes de resultados. Você pode solucionar o problema usando a lógica mostrada na fórmula anterior. Em outras palavras, você executa operações matemáticas, como adição ou multiplicação, em valores que atendem à condição OU e E.

Calcular uma média que exclua zeros

Este exemplo mostra como remover zeros de um intervalo quando é necessário calcular a média dos valores nesse intervalo. A fórmula usa um intervalo de dados chamado Vendas:
=MÉDIA(SE(Vendas<>0,Vendas))
A função SE cria uma matriz de valores que não são iguais a 0 e passa esses valores para a função MÉDIA.

Contar o número de diferenças entre dois intervalos de células

Esta fórmula de matriz compara os valores em dois intervalos de células chamados MeusDados e SeusDados, e retorna o número de diferenças entre os dois. Se o conteúdo dos dois intervalos forem idênticos, a fórmula retornará 0. Para usar essa fórmula, os intervalos de células devem ser de mesmo tamanho e mesma dimensão:
=SOMA(SE(MeusDados=SeusDados,0,1))
A fórmula cria uma nova matriz do mesmo tamanho dos intervalos que você está comparando. A função SE preenche a matriz com o valor 0 e o valor 1 (0 para diferenças e 1 para células idênticas). Em seguida, a função SOMA retorna a soma dos valores da matriz.
Você pode simplificar a fórmula da seguinte forma:
=SOMA(1*(MeusDados<>SeusDados))
Assim como a fórmula que conta valores de erro em um intervalo, esta fórmula funciona porque VERDADEIRO*1=1 e FALSO*1=0.

Encontrar o local do valor máximo de um intervalo

Esta fórmula de matriz retorna o número de linha do valor máximo em um intervalo de coluna única chamado Dados:
=MÍNIMO(SE(Dados=MÁXIMO(Dados),LIN(Dados),""))
A função SE cria uma nova matriz que corresponde ao intervalo Dados. Se uma célula correspondente contiver o valor máximo do intervalo, a matriz conterá o número de linha. Do contrário, a matriz conterá uma cadeia de caracteres vazia (""). A função MÍNIMO usa a nova matriz como segundo argumento e retorna o menor valor, que corresponde ao número de linha do valor máximo em Dados. Se o intervalo Dados contiver valores máximos idênticos, a fórmula retornará retornará a linha do primeiro valor.
Se você deseja retornar o endereço de célula real de um valor máximo, use esta fórmula:
=ENDEREÇO(MÍNIMO(SE(Dados=MÁXIMO(Dados),LIN(Dados),"")),COLUNA(Dados))

 
 Fonte: http://office.microsoft.com/pt-br/excel-help/diretrizes-e-exemplos-de-formulas-de-matriz-HA010228458.aspx
Related Posts Plugin for WordPress, Blogger...