Como faço para corrigir a referência de célula externa no Excel-2007?

4

Eu tenho dois arquivos de spreadsheat ( D: \ Book1.xlsx e D: \ Book2.xlsx ). A primeira pasta de trabalho possui uma tabela, Tabela1 , com três colunas (id, Nome, Valor). No segundo livro de trabalho, eu quero valores de referência na Tabela1 usando VLOOKUP . Minha fórmula atual para referenciar valores é

=VLOOKUP(1,'D:\Book1.xlsx'!Table1[#Data],3)

O que funciona quando as duas pastas de trabalho estão abertas. No entanto, se eu abrir o Book2.xlsx , a fórmula acima será avaliada como REF #! e a fórmula tem um caminho absoluto em vez do caminho relativo.

Assim que eu abro Book1.xlsx, a referência do caminho se torna relativa e a fórmula é avaliada para o valor correto.

Então, eu queria saber como faço para que a referência externa funcione sem precisar abrir as duas pastas de trabalho (ou isso é possível)?

Nota

  1. Para ficar claro, minha fórmula retorna #REF! quando a segunda pasta de trabalho é aberta por si só.

  2. Ambas as pastas de trabalho residem na raiz da minha partição D como d: \ Book1.xlsx ed: \ Book2.xlsx.

Azim
fonte
só vi esse comportamento ontem eu mesmo
warren
Pessoalmente, nunca lidei com isso antes e não posso recriar. Poderia estar relacionado a caminhos absolutos? Você pode colocar o caminho real no código, por exemplo, c: \ temp \ book1.xlsx?
William Hilsum 28/01
@ Vou colocar o caminho real na fórmula e ele ainda funciona apenas quando os dois arquivos são abertos.
Azim

Respostas:

1

Eu já tive esse problema antes, mas, ao recriar seu exemplo, tudo estava funcionando bem, então havia que haver alguma coisa. Eu acho que posso ter encontrado:

Ao selecionar intervalos externos, o Excel às vezes tende a revertê-los para grandes referências como esta:

=VLOOKUP(1,[Workbook1.xlsx]Sheet1!$A$4:[Workbook1.xlsx]Sheet1!$A$10,1,TRUE)

Isso funciona bem enquanto duas pastas de trabalho estão abertas, mas na verdade não há necessidade de especificar a fonte nas duas vezes no intervalo, portanto, pode muito bem ser abreviado para isso:

=VLOOKUP(1,[Workbook1.xlsx]Sheet1!$A$1:$A$10,1,TRUE)

Melhor ainda, você também pode usar intervalos nomeados:

=VLOOKUP(1,[Workbook1.xlsx]Sheet1!MyRange,1,TRUE)

Surpresa surpresa! Se a Pasta de trabalho2 for aberta sozinha, o formulário longo exibirá #REF, enquanto a versão mais curta e a versão do intervalo nomeado serão atualizadas perfeitamente.

mtone
fonte
estranho. Não consigo usar a referência de arquivo entre colchetes ao redor do nome do arquivo, em vez de aspas simples.
Azim
Isso pode realmente estar relacionado a configurações regionais ou algo assim. Você já tentou usar um intervalo nomeado?
Mck
1

Li em algum lugar que funções que exigem um intervalo, por exemplo, VLOOKUP (), retornarão #REF quando o arquivo de origem for fechado. Consegui contornar adicionando uma guia no arquivo de destino e replicando a tabela de origem por meio de uma referência direta à tabela de origem. Depois, faço referência a esta tabela replicada na fórmula vlookup (que agora está na mesma pasta de trabalho) e tudo funcionou bem.

Jim
fonte
0

Isso me parece um bug no Excel. Também posso reproduzir o comportamento, mas tenho todas as opções relacionadas a dados externos ativados e válidos. Isso inclui todas as opções nas Configurações da Central de Confiabilidade e todas as referências à pasta de trabalho listadas em Links Externos. A atualização manual de valores de Links Externos também não é possível.

Também segui as instruções neste artigo de suporte da MS . Funciona até certo ponto, mas tudo reverte para o comportamento que você observa depois que eu fecho.

squillman
fonte
Então, o que você está dizendo é que isso é um bug no excel e não há solução alternativa ?!
Azim