Excel 2011, VLOOKUP entre planilhas e validação de lista

0

Estou tentando criar uma lista suspensa em uma planilha, que procura um valor correspondente em outra planilha. Na figura abaixo é de uma folha chamada PricesforCSV . Aqui eu quero que o valor circulado na coluna B seja extraído de uma segunda planilha chamada invoiceLookup :

Comovocêpodever,atéagoraeutenhoodropdownusandootrabalhousandoavalidaçãodedados.Édefinidoassim:=invoiceLookup!$D:$D,

AfolhainvoiceLookupque,conformeainformaçãoquequerover,estáabaixo.AcolunaEtemopreçoquequerotrazer.

Na célula circulada na Coluna B de PricesforCSV , estou tentando executar a pesquisa com base no valor da lista suspensa. Aqui está a fórmula que estou usando até agora para esta célula:

 =IF(ISNA(VLOOKUP(A3,invoiceLookup!D2:D300,2,0)),
  VLOOKUP(A3,invoiceLookup!E2:E300,2,0))

Isso está retornando no momento falso.

A ideia aqui é pesquisar todas as linhas em invoiceLookup!D2:D300 procurando uma correspondência para o valor em A3 e, se ele for encontrado, preencher a célula com o valor relacionado na próxima coluna: invoiceLookup!E2:E300 .

  • Não tenho certeza se essa é a melhor abordagem, posso usar uma lista com duas colunas e obter os valores disso?
  • Pode haver um problema com o espaço em branco nos itens da lista suspensa, embora a tentativa de valores que não têm espaços em branco atualmente não resolva o problema.

Obrigado por dedicar um tempo para ver isso!

    
por orionrush 27.09.2016 / 16:46

1 resposta

0

Como em muitos casos, basta reservar um tempo para fazer a pergunta corretamente e, com os olhos limpos, simplificar a fórmula até que comecei a ver os resultados levou à resposta.

Isto é o que eu cheguei:

=IF(NOT(ISNA(VLOOKUP(A3,invoiceLookup!$D:$E,2,0))),VLOOKUP(A3,invoiceLookup!$D:$E,2,0))
  • Os primeiros problemas foram no VLOOKUP, o segundo valor na matriz é onde o valor de retorno é armazenado, eu pensei que ele pediu um ponto inicial e final para a pesquisa. De fato, eu estava procurando o valor de retorno na mesma coluna que o valor de pesquisa. A versão corrigida agora analisa a coluna inteira para pesquisa $D e a coluna inteira para o valor de retorno $E : VLOOKUP(A3,invoiceLookup!$D:$E,2,0)

  • Também não entendi bem o ISNA , que retorna true quando há uma célula vazia (pensei em contrário). Isso levou-me a adicionar NOT à primeira metade da fórmula: =IF(NOT(ISNA(VLOOKUP(A3,invoiceLookup!$D:$E,2,0))), ...

EDITAR ----------------------- Uma pequena revisão, como a versão antiga adicionou "FALSE" para células com um valor vazio. O seguinte deixa a célula vazia:

=IF(ISNA(VLOOKUP(A20,invoiceLookup!$D:$E,2,FALSE)),"",VLOOKUP(A20,invoiceLookup!$D:$E,2,FALSE))

/ EDIT ----------------------

Eu percebo que as fórmulas do Excel não recebem muito tráfego, já que apenas 19 ou mais analisaram isso no dia anterior, mas para aqueles que recorreram a isso novamente, espero que seja útil.

    
por 28.09.2016 / 12:29