Como isentar linhas de serem ocultadas / filtradas no Excel 2010?

4

Considere uma planilha que comece a ficar assim:

EuqueropoderfiltraroNome1nacolunadaesquerdaeficarassim:

Sim, percebo que a resposta simples é filtrar pelo Nome 1 e pelo Cabeçalho, mas tenho outras pessoas usando essa planilha que parecem não entender isso. Então, como posso torná-lo infalível para eles e tornar impossível filtrar as linhas que têm cabeçalho na coluna da esquerda?

Por favor, observe: Existem fatores fora do exemplo simplificado mostrado a respeito de porque eles estão indo para baixo em vez de atravessar.

    
por tarheel 11.10.2012 / 17:28

4 respostas

1

Bem, primeiro, não é assim que o Excel esperaria seus dados, e é por isso que você provavelmente terá que usar alguma macro VBA para que isso seja resolvido da maneira que você descreveu.

O Excel espera que esses dados sejam organizados assim:

cabeçalho; Métrica 1; Métrica 2; Métrica 3

E seria ainda mais fácil criar um resultado como você pediu, quando os dados brutos seriam nessa ordem.

No entanto, para resolver isso como uma macro, você teria que obter uma lista de seus nomes, criar alguns diálogos para selecionar um nome, criar a macro básica que levaria o nome adicionar o cabeçalho e criar o filtro automaticamente e criar um botão ou tecla de atalho para atribuí-lo com a macro.

Outra maneira seria usar um filtro avançado: link

Há apenas algumas amostras com o comportamento de atualização, mas consegui executar isso com essa configuração:

Table1:

A      | B        | C
-----------------------------------------------
Header | Metric 1 | Name1 (this is your filter)
Name 1 | 100      |
Name 2 | 300      |
Name 3 | 200      |

Table2:

A
----------------
Header
="=" & Table1!C1
'=Header

Em seguida, você configura um filtro adaptado para a Tabela1! A1: B4 e com os critérios da Tabela2! A1: A3.

Essas são suas opções, eu diria.

    
por 11.10.2012 / 18:09
1

Sugiro alterar o design da sua apresentação de dados

ou pelo menos para usar uma terceira coluna com uma fórmula como esta, para que os usuários vejam o nome da métrica, mesmo que filtrem apenas um nome =IF(A2="Header";B2;C1)

    
por 13.10.2012 / 17:48
1

A melhor abordagem seria torná-lo um intervalo nomeado, ou Tabela para intervalo expansível, e referenciar o Intervalo em vez de um intervalo declarado especificado.

Com isso dito:

Range("Table2").AutoFilter 1, "header", xlOr, "Name1", False

Isso funciona se você tiver apenas dois critérios básicos. Se você precisar de mais de dois critérios, talvez queira reestruturar seu NamedRange / Table para filtrar diferentes campos / colunas.

Editado em 2012-10-15 @ 15:29

Fiz algumas pesquisas adicionais para minha necessidade pessoal e descobri que você também pode fazer isso se tiver vários (mais de dois) Critérios para incluir:

Range("Table2").AutoFilter Field:=1, Criteria1:=Array("val1", "val2"), Operator:=xlFilterValues

Referenciado de: VBA Dicas & Truques - Excel VBA AutoFilter: vários critérios

    
por 11.10.2012 / 18:28
0

Uma solução fácil (se imperfeita) - Após a palavra 'Cabeçalho', simplesmente digite um espaço seguido por 'Métrica 1' e mude a cor do texto da Métrica 1 para corresponder ao fundo ... neste caso, branco. Ele se torna invisível, mas ainda será exibido no filtro, se selecionado. Você só precisa lembrar de marcar as caixas 'Header' e 'Header Metric 1' no filtro ... daí a imperfeição.

    
por 15.10.2018 / 11:48