Extrai dados de certas colunas e somente de linhas com um determinado valor em uma das colunas

0

Eu tenho uma pasta de trabalho que tem uma planilha com 14 colunas de dados (A - N). Quero extrair alguns desses dados e armazená-los em outra pasta de trabalho.

Eu quero extrair apenas as colunas A, B, F, H, I, K e L; e somente de linhas onde a coluna H contém HCC .

Como posso fazer isso?

    
por Randy 26.03.2018 / 16:53

1 resposta

1

Aprender sobre Tabelas Dinâmicas é uma ótima ideia, mas você também pode fazer isso com uma fórmula de matriz.

Coloque essa fórmula na primeira célula da coluna A da segunda pasta de trabalho na qual você deseja que os dados apareçam:

=IFERROR(INDEX([Workbook1]Sheet1!A:A,SMALL(IF([Workbook1]Sheet1!$H:$H="HCC",ROW([Workbook1]Sheet1!$H:$H)),ROW())),"")

Notas:

  1. Substitua " [Workbook1]Sheet1!A:A " 'pelos nomes reais da pasta de trabalho e da planilha. A maneira mais fácil de fazer isso é, depois de inserir a primeira parte da fórmula, navegar para a outra pasta de trabalho e clicar no "A" na parte superior da coluna A.
  2. Idem para as duas instâncias de " [Workbook1]Sheet1!$H:$H ". Você terá que adicionar os $ '.
  3. Altere o último " ROW() " para " ROW() - n ", em que n é 1 menor que o número da linha em que você está inserindo a fórmula. Se você estiver na linha 1, não precisará alterar isso.
  4. Finalmente, esta é uma fórmula de matriz, então você precisa inseri-la usando CTRL Deslocar Enter em vez de apenas Enter . Se inserida corretamente, a fórmula será cercada por chaves {} na barra de fórmulas.

Agora, preencha a fórmula o mais longe possível de onde você espera ter dados no futuro. Por último, copie esse intervalo selecionado e cole-o na primeira célula de todas as outras colunas em que você deseja extrair dados da pasta de trabalho 1. A fórmula preencherá espaços em branco quando ficar sem valores calculados.

Na próxima semana, se você tiver mais (ou menos) linhas de dados na primeira pasta de trabalho, os dados ainda serão copiados para a segunda pasta de trabalho corretamente.

Como funciona: O IF() interno verifica onde a coluna H é igual a "HCC" e retorna uma matriz dos números de linha onde é True e " FALSE " onde não é. SMALL() pega essa matriz e retorna os números em ordem, conforme a fórmula é preenchida. INDEX() usa esses números para retornar os valores correspondentes da coluna A. Finalmente, o IFERROR() insere espaços em branco para os erros gerados, onde INDEX() fica sem números de linha quando é preenchido.

Espero que isso ajude e boa sorte.

    
por 26.03.2018 / 20:14