2012-03-05 15:21:17 +0000 2012-03-05 15:21:17 +0000
21
21

Substitua rapidamente #N/A por 0 quando vlookup

Eu uso muito vlookup em excel.

O problema é com o valor #N/A quando o valor procurado não é encontrado.

Nesse caso, frequentemente substituímos por 0 usando

if(isna(vlookup(what,range,column,false));0; vlookup(what,range,column;false))

que repetem vlookup(what,range,column,false) duas vezes e fazem a fórmula parecer-me feia e fictícia.

Tem outro trabalho para esta questão?

Respostas (3)

32
32
32
2012-03-05 15:46:58 +0000

Qual a versão do Excel? No Excel 2007 ou posterior pode usar a função IFERROR como esta

=IFERROR(VLOOKUP(A1,B2:E3,4,0),0)

5
5
5
2016-04-28 13:54:54 +0000

Também pode usar IFNA se quiser apenas detectar erros #N/A.

=IFNA(Formula,0)

Isto irá mostrar 0 em vez do erro #N/A.

1
1
1
2014-06-27 04:29:18 +0000

Isto é, de facto, bastante poderoso, e já há algum tempo que ando a vasculhar a web para obter uma resposta a esta pergunta. No meu caso, porém, não quero substituir o #N/A por um 0, mas, em vez disso, quero usar informação alternativa. No meu caso, se o VLOOKUP não encontrar nada, quero que ele use o conteúdo de outra célula. (Estou a usar o Excel 2010, mas isso não deve importar) Assuma que a minha fórmula na célula E3 no Sheet1, e os dados que quero extrair estão algures no Sheet2. Se não houver dados em Sheet2, então quero que a minha célula use dados de Sheet1.

=IFERROR(VLOOKUP(A3,Sheet2!B2:E3,4,FALSE),Sheet1!D3)

OBRIGADO ao respondedor original, OBRIGADO. Tornou a minha vida um pouco mais fácil esta noite. Espero que a minha expansão divagante na vossa resposta também ajude alguém!