Deseja usar o HLOOKUP para arrastar a coluna inteira, como posso fazer isso?

1

Veja a seguinte imagem:

Esteéapenasumexemplo,minhaplanilharealémaiscomplicadadoqueissoetemcentenasdelinhas.

Minhafórmulaatualé=HLOOKUP(A7,A1:D4,2,0),masessafórmulanãopermitequeeuaarrasteparabaixonacolunaparaqueeupossaobter"2-Jan-12" e "3-Jan-12" para Tom também. Como posso alterar a fórmula para torná-la adequada para arrastar para baixo?

Atualização: eu tentei =HLOOKUP($A$7,$A$1:$D$4,2,0) , mas depois de arrastar para baixo agora eu recebo 5 para "2-Jan-12" e "3-Jan-12" também. Eu quero arrastar a fórmula para baixo para que "2-Jan-12" mostre 6 e "3-Jan-12" mostre 7.

    
por daysandtimes 27.09.2012 / 14:51

4 respostas

3

Você precisa atualizar o 2 também para poder usar esta versão em B8 copiada para baixo

=HLOOKUP(A$7,$A$1:$D$4,ROWS(B$8:B8)+1,0)

A função

ROWS é incrementada conforme você arrasta para baixo e altera o row_index_num em HLOOKUP para 3, 4 etc.

Observação: o que está acima não corresponde exatamente às datas, ele apenas recebe o valor da próxima linha, independentemente da data. Para corresponder especificamente às datas, use esta versão

=INDEX(B$2:D$4,MATCH(A8,A$2:A$4,0),MATCH(A$7,B$1:D$1,0))

    
por 27.09.2012 / 15:11
0

Eu não estou 100% certo de que é isso o que você está procurando, mas para fazer com que colunas ou linhas únicas não sejam alteradas ao arrastar, adicione um $ na frente delas:

  • A1 será sempre atualizado com base na direção em que você arrasta a célula.
  • $A1 só atualizará a linha ao arrastar para cima / para baixo.
  • A$1 só atualizará a coluna ao arrastar para a esquerda / direita.
  • $A$1 nunca será alterado, não importa como / onde você arrasta a célula.

Para a pergunta atualizada:

Eu testei a seguinte fórmula para a célula B8 :

=HLOOKUP($A$7,$B$1:$D$4,MATCH($A8,$A$1:$A$4,0),0)

O MATCH determinará a n-ésima linha conforme determinado pela data na primeira coluna, que então selecionará a linha correta da primeira tabela usando HLOOKUP .

    
por 27.09.2012 / 14:54
0

Você está no caminho certo com isso. Aqui está a fórmula que usei:

=HLOOKUP($B$1,$C$1:$E$4,ROW(),FALSE)

HLOOKUPexaminasuascolunaseretornaoprimeirovalorde$B$1(usando$paramanterareferênciaabsoluta).Ointervalodepesquisatambémusavaloresabsolutosparanão"arrastar" enquanto você arrasta e preenche a fórmula. A função ROW retorna os valores na mesma linha sem precisar fazer cálculos extras. Também usei validação de dados para preencher o valor de pesquisa em $ B $ 1 com um dos seus valores de pesquisa existentes, fornecendo a você uma rápida lista de opções para trabalhar. Mantendo o valor de "destino" no mesmo layout de dados (linhas e colunas) dos seus dados de origem, torna tudo mais simples de gerenciar (em oposição ao seu exemplo, onde é compensado por um número de linhas). Um bom layout de dados facilita quase tudo no Excel.

    
por 27.09.2012 / 15:35
-1

Você precisa "corrigir" as referências da matriz: =HLOOKUP(A7,$A$1:$D$4,2,0)

    
por 27.09.2012 / 14:54