La formule de données liées Excel se transforme en #REF à l'ouverture du classeur

9

Cela m'est arrivé plusieurs fois (mais pas toujours). C'est très frustrant et je ne sais pas pourquoi cela fait cela.

A.xls contient une formule qui lie à B.xls Sheet1. Je travaille sur A.xls. Je décide d'ouvrir B.xls. Une fois que je le fais - toutes les références à Sheet1 se transforment en #REF.

c'est à dire.

='C:\..\[B.xls]!Sheet1'!A1

se transforme en

='C:\..\[B.xls]!#REF'!A1

et naturellement toutes les valeurs qui étaient auparavant correctes retournent maintenant #REF.

C'est absolument frustrant car il n'y a aucun moyen pour moi de l'annuler sans rouvrir ma dernière version enregistrée de A.xls. La recherche et le remplacement ne sont pas idéaux non plus, car A.xls fait référence à plusieurs feuilles de calcul différentes de B.xls - et ils sont tous maintenant #REF.

Des idées pourquoi? :( Exécution d'Excel 2010.

csg
la source

Réponses:

2

J'ai le même problème. Le mien est Office 2010. Le fichier Excel était stocké dans le lecteur partagé (NAS).

Solution: accédez à Fichier> Option> Centre de gestion de la confidentialité. Sur le côté droit, cliquez sur Paramètres du centre de confiance. Dans la fenêtre du Trust Center, sur le côté gauche, cliquez sur Vue protégée puis sur le côté droit décochez Activer la vue protégée pour les fichiers provenant d'Internet.

Maintenant mon #REF! problème résolu.

Muhammad Nashoha Musa - IT Exe
la source
2

Une façon d'éviter le problème:
utilisez INDIRECT()sur les noms de fichiers et de feuilles référencés textuellement.

Exemple:
faites en sorte que Z1 soit 'C:\..\[B.xls]!Sheet1' (avec les guillemets? Non testé),
puis utilisez =INDIRECT(Z1&"!A1")où vous devez référencer la cellule A1 dans cette feuille.

La INDIRECTfonction ne fonctionne que si vous avez ouvert le fichier Excel secondaire. Une fois fermées, toutes ces INDIRECTréférences deviennent #REF.

Hannu
la source
INDIRECT ne fonctionnera qu'avec des cahiers de travail ouverts
PeterH
Mais ils ne se transforment PAS en "#REF".
Hannu
Oui, une fois que vous
fermerez
Il affichera éventuellement "#REF", mais la formule, avec le lien, ne changera pas comme OP décrit.
Hannu
1
Excel a beaucoup d'idiosyncrasies, c'est vrai.
Hannu
0

La plupart des formules dans Excel ne mettent pas à jour leurs formules si elles se réfèrent à des classeurs fermés. Maintenant, si vous ouvrez un classeur auquel les formules font référence, Excel tentera de le mettre à jour immédiatement.

Votre problème, je crois, est que des modifications ont été apportées à B.xls et que les formules dans A.xls tentent de rafraîchir ses formules lorsque vous avez ouvert B.xls. Dans la mesure où il y a eu des modifications dans B.xls depuis le dernier calcul des formules dans A.xls (telles que les feuilles ont été renommées ou clairement supprimées), les formules dans A.xls ne peuvent pas trouver la référence précédente et reviennent donc #REF!.

Je pense que vous pouvez avoir deux options pour éviter cela:

  1. Supprimez les formules dans A.xls en copiant / collant des valeurs. Cela empêchera toute mise à jour dans A.xls de modifications dans B.xls et toute autre formule dans la feuille. C'est un inconvénient en soi.
  2. Assurez-vous que toute modification apportée à B.xls n'implique pas la suppression de feuille, le renommage ou la suppression de ligne / colonne dans ceux qui fournissent les formules dans A.xls.
Jerry
la source
Merci pour la réponse, Jerry. Les fiches référencées existent toujours. De plus, la plupart de mes références concernaient simplement la valeur sans autant d'opération arithmétique. Excel a réussi à obtenir les valeurs même avec B.xls fermé. Heureusement, cela ne se produit pas la plupart du temps - mais quelle que soit la chance que j'ai le temps, je n'avais pas enregistré le classeur depuis un moment.
csg
0

Pour aider avec le commentaire de Jerry. Lorsque vous fermez A.xls, il se souviendra des valeurs contenues dans la formule. Si vous modifiez ensuite B.xls de toute façon, comme le nom du classeur ou le nom de la feuille, alors lorsque A.xls essaie de se mettre à jour avec les nouvelles données, il est introuvable car le nom référencé a changé.

Supposons que votre formule ressemble à = '[B.xls] Sheet3'! $ B $ 1588 si vous changez le nom de B.xls après avoir fermé A.xls en "Data Saved 08.09.2013", puis lorsque vous ouvrez A.xls, il avoir les valeurs de B.xls. Dès que vous ouvrez Data Saved 08.09.2013, A.xls se rendra compte que les données n'existent plus et les perdra.

La solution consiste à vous assurer que vous mettez à jour les liens dans la formule. Cela devrait tout résoudre.

Bmize729
la source
Dans mon cas, cela s'est produit après la mise à jour des liens. J'ai changé la référence de B.xls en C.xls - classeurs de la même structure juste des valeurs différentes.
csg
Lorsque vous avez mis à jour les liens, avez-vous également mis à jour les noms des feuilles? Je sais que cela peut sembler un peu condescendant, mais nous devons nous demander.
Bmize729
0

La solution peut être d'ouvrir le fichier où vous avez donné les liens, puis de vous rendre sur Data > Edit Links > Open Source. Cela ouvrira la source sans faire l' #referreur.

Une autre alternative consiste à conserver deux versions avec et sans les liens . La version sans liens peut être réalisée par Data > Edit Links > Break Link.

Je pense que c'est une sorte de bogue dans Excel qui fait le nom de la feuille #ref.

ParthShah
la source
0

Le problème réside dans le centre de confiance. Si vous travaillez sur des lecteurs réseau, vous devez cocher la case "autoriser les connexions aux emplacements approuvés". Cela évite de perdre le lien.

user524256
la source
0

Il semble que les liens soient modifiés en #REF! car la feuille de calcul cible (B.xls) n'est pas approuvée. En accédant à FILE-> Options-> Trust Center-> Trust Center Settings-Trusted Locations et en ajoutant le dossier contenant B.xls, j'ai pu empêcher le problème de se produire. Vraisemblablement, vous pouvez ajouter B.xls à "Documents approuvés" et obtenir le même résultat, mais je n'ai pas exécuté ce test.

Greg B
la source
Merci à user524256 qui m'a répondu sur la bonne voie.
Greg B
0

Modifier le format de cellule en numérique peut provenir du texte / d'autres éléments répertoriés dans la liste des formats de cellule. Cela peut être réalisé en cliquant avec le bouton droit sur la cellule ou les cellules sélectionnées dans Excel.

Murtuza Khan
la source
0

Dans mon cas, j'ai eu un problème similaire, la formule s'est cassée à chaque fois que j'ouvre Excel. La formule était référencée à une table dans une autre feuille dans le même fichier Excel.

Le problème a été résolu lorsque j'ai supprimé l'espace devant le nom de colonne de la table sur laquelle la formule était référencée.

Je ne sais pas si le problème est le même que le vôtre, mais peut-être qu'il aide.

Ivo Zgonik
la source
0

Reprenant des pointeurs utiles parmi ceux ci-dessus, cela a fonctionné pour moi pour les fichiers avec des erreurs de référencement lorsque le fichier lié sur notre réseau a été ouvert:

Options> Centre de gestion de la confidentialité> Paramètres du centre de gestion de la confiance> Emplacements approuvés> Cochez la case "Autoriser les emplacements approuvés sur mon réseau (non recommandé).

Les erreurs de confiance ont été corrigées!

Je vous remercie.

Peter C
la source
0

Outre le paramètre «Autoriser les emplacements approuvés sur mon réseau (non recommandé)», vérifiez que les types de fichiers Excel sont tous les deux le type de fichier le plus récent «.xlsx». Nous annonçons qu'un problème était une feuille de calcul «.xls» obtenait des problèmes #REF lors de la recherche d'une feuille de calcul «.xlsx».

Shrapnel numérique
la source
-1

La solution consiste à aller dans Fichier> Options> Formules et à décocher Les données entrées dans un tableau ne sont pas valides .

facture
la source