Editar células referenciadas na planilha principal da planilha derivada no Excel

1

Estou usando o Excel 2010 e tenho duas planilhas. A folha A tem uma coluna de identificador exclusivo e outras colunas com valores. A folha B tem uma lista de identificadores e outros campos para os quais eu estou usando uma fórmula VLOOKUP para preencher os valores na Planilha A.

Idealmente, gostaria de editar os valores em vigor na Folha B e tê-los atualizados na Folha A, mas isso não parece possível - quando eu tento, apenas sobrescrevo minha fórmula =VLOOKUP com dados brutos. Estou certo de que não há como fazer isso?

Como alternativa, existe um truque para clicar ou de alguma forma pular automaticamente da célula que contém a fórmula VLOOKUP na Folha B para a célula original na Folha A?

Meu objetivo geral é manter todos os valores brutos na Folha A e fazer referência apenas a eles a partir da Folha B, sem ter que procurar manualmente a Folha A para atualizar os dados.

    
por gmaclachlan 01.05.2012 / 23:45

2 respostas

0

Para implementar sua solicitação alternativa, você pode usar a função HYPERLINK em conjunto com VLOOKUP

Supondo que Sheet A contenha ID's na coluna A e valores na coluna B, substitua VLOOKUP por

=HYPERLINK("#'Sheet A'!B"&MATCH(A2,'Sheet A'!$A:$A,0),VLOOKUP(A2,'Sheet A'!$A:$B,2,0))

Isso não só exibirá o resultado VLOOKUP como antes, mas criará um hiperlink para o valor encontrado na Folha A quando a célula for clicada.

    
por 02.05.2012 / 08:19
0

A principal questão que você enfrenta agora é a referência circular.

VLOOKUP não é um relacionamento A = B , mas sim mais um relacionamento if A then B (onde A e B são matrizes de valores como no seu caso). Em outras palavras, é um direcional e A não depende de B. Pelo que vejo, não acho que o Excel tenha uma maneira direta de manipular uma referência circular usando a interface do usuário, pois a fórmula não pode ser armazenada. no backend (a menos que você use uma macro).

Uma maneira é ter valores relativos em A e B e uma terceira folha (ou muitas colunas extras) para fazer algumas células condicionais, e. A planilha contém valor relativo (que pode ser um novo valor atualizado em B ou um valor original em C), a planilha C contém valores originais e a planilha B mantém as células para refletir valores E atualizar valores.

Na Folha B, crie uma nova coluna para cada coluna referenciada. Esta será a coluna de valores de atualização. Na Folha C, armazene seus valores originais. Na Folha A, use uma condição que diga "se o campo de valores de atualização na Folha B tiver um valor, use-o, else, consulte a Folha C". A coluna de valores de reflexão da Folha B ainda fará referência a partir da Folha A, de modo que ela será alterada dinamicamente se a coluna de atualização tiver novos valores. Note que isso não está realmente resolvendo o problema de referência circular, mas apenas contornando-o.

No entanto, se você precisar que a Folha A seja valores fixos e não valores relativos, será necessário copiar e paste as value ou usar algo como:

ActiveSheet.Range("A1:D1000").Value = ActiveSheet.Range("A1:D1000").Value

no VB para converter valores relativos (com fórmulas) para valores fixos.

    
por 02.05.2012 / 04:42