2015-10-08 3 views
0

J'ai créé une partie d'une feuille qui fait référence à d'autres parties de la feuille et à des parties d'une autre feuille. Il y a une combinaison de références partiellement explicites (A $ 4, $ B2), explicites ($ A $ 4) et non explicites (A4) dans une formule. Par exemple:Convertir toutes les références de cellules en références de cellules explicites, pour inclure la page, dans les formules

=IF(AB$4>$J8,0,IF(B8=$K8,0,SUM(INDEX(Masterdata!$A$1:$CA$90,MATCH($A8,Masterdata!$A$1:$A$90,0),B8+32):INDEX(Masterdata!$A$1:$CA$90,MATCH($A8,Masterdata!$A$1:$A$90,0),$K8+31)))) 

Il existe des douzaines de ce type de formule dans toute la feuille.

Je souhaite prendre cette partie et la déplacer vers une autre feuille à des fins d'affichage. Cependant, comme vous pouvez le deviner, toutes les références relatives sont faussées et la formule se brise.

Existe-t-il un moyen de convertir toutes les références de cellule en une référence explicite avec un nom de feuille, par ex. $k8 -> Input!$k$8?
Ou est-ce que j'ai quelques heures de travail fastidieux devant moi?

Modifier pour essayer de se conformer à la en attente drapeau:

J'ai 50 cellules avec des formules comme

=IF(AB$4>$J8,0,IF(B8=$K8,0,SUM(INDEX(Masterdata!$A$1:$CA$90,MATCH($A8,Masterdata!$A$1:$A$90,0),B8+32):INDEX(Masterdata!$A$1:$CA$90,MATCH($A8,Masterdata!$A$1:$A$90,0),$K8+31))))

Je voudrais couper et coller ces cellules et de passer à une autre feuille. En faisant cela, j'ai besoin de changer toutes les références à d'autres cellules dans les formules pour être explicite et d'inclure le nom de la feuille. La formule ci-dessus deviendrait alors:

=IF(Input!$AB$4>Input!$J$8,0,IF(Input!$B$8=Input!$K$8,0,SUM(INDEX(Masterdata!$A$1:$CA$90,MATCH(Input!$A$8,Masterdata!$A$1:$A$90,0),Input!$B$8+32):INDEX(Masterdata!$A$1:$CA$90,MATCH(Input!$A$8,Masterdata!$A$1:$A$90,0),Input!$K$8+31)))).

Après la conversion de toutes les formules, je serai alors en mesure de couper la gamme, puis de le coller n'importe où sur une autre page. Utiliser la pâte comme «lien» est viable, mais cela nécessiterait que la gamme originale reste en place et, à mon avis, serait bâclée et aurait l'air de tricher.

Peut-on faire un code qui peut regarder une cellule, voir s'il y a une formule, déterminer s'il y a des plages référencées, les définir comme références explicites sinon déjà, voir s'il y a déjà une référence de feuille et s'il n'y en a pas, en ajouter un? Chaque formule sera unique et variera en longueur et en type.

+1

Avez-vous fatigué de cloner la partie de votre feuille qui vous intéresse avec Paste Link? – pnuts

+0

non, je n'aurai pas à le faire. –

+0

Non, je ne dois pas, devra examiner cela. Cela semble faire l'affaire dans ce cas, mais je me demande toujours s'il y a un moyen de faire ce que j'ai demandé parce que je vais devoir garder le matériel original en place. –

Répondre

-1

Si ce n'est que pour l'affichage (statique), vous pouvez simplement coller des valeurs, plutôt que de coller des références? PasteSpecia | Valeurs - CtrlAlt V

+0

non, ce ne sera pas pour l'affichage statique malheureux –