if indexmatch = # N / A mantém o valor original da célula

3

Eu tenho 2 planilhas no excel. A folha 1 é uma lista de preços que nos foi dada por um fornecedor A folha 2 é uma lista de todos os produtos que fornecemos (pode ser de vários fornecedores). Na primeira coluna de cada Folha está o Código do Produto e a segunda coluna é o preço. Fiz uma correspondência de índice na coluna Preço da Planilha 2 para obter as informações de preço da Planilha 1 (isso contém preços atualizados). A correspondência de índice funciona, mas se eu tiver um produto na planilha 2 que não esteja na planilha 1, não quero que o preço na planilha 2 seja alterado. Eu acho que preciso fazer uma função IF no VBA… .mas eu não sei como fazer isso!

    
por Janetc 10.02.2016 / 12:32

2 respostas

1

Além da resposta do @Jonno, um erro em uma coluna separada é provavelmente o melhor. Algo ao longo das linhas disso deve funcionar na célula c2, a coluna da qual eu título "Preço atualizado":

=Iferror(<<<EXISTING INDEX MATCH FORMULA HERE>>>,b2)

O que isso fará é executar sua fórmula de correspondência de índice e obter o preço correto. Se não puder fazer isso, ele retornará o preço existente. Isso vai mudar isso:

Product ID        Price    
     1             3.50                  
     2             #N/A             

Para isso

Product ID   Original Price     Updated Price
     1             2.50             3.50     
     2             2.50             2.50
    
por 10.02.2016 / 13:45
2

Você pode usar a função IFERROR para lidar com o que fazer com os resultados de # N / A.

Por exemplo

=IFERROR(YourLookup,10.5)

Isso retornaria o resultado da pesquisa se for bem-sucedido ou 10.5 se não conseguir encontrar um resultado.

    
por 10.02.2016 / 12:41