Erro #value ao atualizar fórmulas SUMIFS com intervalo de outra pasta de trabalho no Excel 2013

Erro #value ao atualizar fórmulas SUMIFS com intervalo de outra pasta de trabalho no Excel 2013

Eu tenho em uma pasta local um arquivo de origem com uma tabela de duas colunas com pares de valores-chave e um arquivo de destino que usa dados da fonte da seguinte forma:

  1. link para uma célula específica:

    ='C:\Temp[source.xlsx]Planilha1'!$B1

  2. consultar um valor de um intervalo:

    =PROCV(A1,'C:\Temp[source.xlsx]Planilha1'!$A$1:$B$6,2,0)

  3. Função SUMIFS com intervalo e condição:

    =SUMIFS('C:\Temp[fonte.xlsx]Planilha1'!$B$1:$B$6,'C:\Temp[fonte.xlsx]Planilha1'!$A$1:$A$6,D1)

Ao abrir a pasta de trabalho de destino sem abrir a pasta de trabalho de origem, recebo a mensagem "Esta pasta de trabalho contém links para ..." com as opções "Atualizar" e "Não atualizar". No fundo deste prompt posso ver os valores salvos quando fechei o arquivo.

Se o arquivo fonte permanecer fechado e eu escolher a opção "Atualizar", obtenho valores corretos para o link (1) e para a consulta (2), mas#VALOR!erro para SUMIFS (3). Se eu abrir agora o arquivo de origem, o valor SUMIFS será calculado corretamente.

Observe que - sem o arquivo de origem aberto - na caixa de diálogo "Editar links" (da pasta Dados), recebo primeiro um status "desconhecido" para o arquivo de origem, depois "OK" depois de clicar em "verificar status" e ainda #VALUE depois Clico em "atualizar valores"

Este é o caso de teste que usei para uma situação relacionada ao trabalho: um arquivo com função SUMIFS com argumentos apontando para um arquivo de origem que mostra o valor correto quando solicitado a atualizar/não atualizar, mas muda para #VALUE! erro independentemente da opção que eu escolher (atualizar ou não atualizar)

As perguntas óbvias:por que o Excel 2013 está fazendo isso e como resolver?

Responder1

O Excel está funcionando conforme projetado. Não permite que fórmulas leiam dados em pastas de trabalho fechadas.

Para contornar essa limitação, você precisará usar o VBA para recuperar dados dos arquivos fechados. Você também pode pesquisar “dados da pasta de trabalho fechada do Excel 2013” ​​para encontrar outros métodos.

Aqui está um exemplo de como fazer isso a partir deLeia informações de uma pasta de trabalho fechada usando VBA no Microsoft Excel:

Sub GetDataFromClosedWorkbook()
Dim wb As Workbook
    Application.ScreenUpdating = False ' turn off the screen updating
    Set wb = Workbooks.Open("C:\Foldername\Filename.xls", True, True) 
    ' open the source workbook, read only
    With ThisWorkbook.Worksheets("TargetSheetName")
        ' read data from the source workbook
        .Range("A10").Formula = wb.Worksheets("SourceSheetName").Range("A10").Formula
        .Range("A11").Formula = wb.Worksheets("SourceSheetName").Range("A20").Formula
        .Range("A12").Formula = wb.Worksheets("SourceSheetName").Range("A30").Formula
        .Range("A13").Formula = wb.Worksheets("SourceSheetName").Range("A40").Formula
    End With
    wb.Close False ' close the source workbook without saving any changes
    Set wb = Nothing ' free memory
    Application.ScreenUpdating = True ' turn on the screen updating
End Sub

Aqui está outro exemplo -Função “Pull” do Excel: Criando links dinâmicos para pastas de trabalho fechadas.

Você terá que experimentar isso para atender às suas próprias necessidades.

informação relacionada