Google Sheets a une fonctionnalité dans laquelle, si vous avez une référence à une cellule de données dans une formule et que vous coupez les données de cette cellule et les collez dans un nouvel emplacement, la référence dans la formule est mise à jour pour pointer vers le nouvel emplacement de la cellule.
J'aimerais pouvoir couper et coller mes données sans modifier mes formules.
J'ai déjà fait des choses hideuses dans le passé avec cette INDIRECT()
fonction pour contourner cette fonctionnalité, mais il me semble qu'il doit y avoir un moyen plus facile. Aucune suggestion?
google-sheets
Grahamparks
la source
la source
Réponses:
La
=$A$1
notation peut également être automatiquement déplacée si la valeur entre (disons)A1
est modifiée.La seule solution sûre est de joindre toutes vos références
INDIRECT
, par exemple=INDIRECT("$A$1")
ou même simplement=INDIRECT("A1")
.La difficulté avec l’une ou l’autre de ces solutions réside dans le fait que vous utilisez plusieurs formules identiques, par exemple:
Normalement, vous devez remplir le premier
=A1
, puis copier-coller (ou faire glisser en utilisant la fonction de remplissage automatique) pour remplir automatiquement la formule suivante. Si, cependant, la première formule est=$A$1
ou=INDIRECT("A1")
alors cette astuce ne fonctionnera pas (en fait, c'est ce qui$
est fait - pour empêcher sa modification automatique).Si vous avez plusieurs formules consécutives, une solution est:
=A1
champs simples et à remplissage automatique)=A1
,=A2
...=A99
dans la zone=INDIRECT("A1")
etc. Notez que vous avez la possibilité d'utiliser des expressions régulières lorsque vous effectuez une recherche et un remplacement.la source
Depuis le forum Google Docs :
Sélectionnez la plage de cellules. Ensuite, utilisez Ctrl+ C(copier; cela devrait mettre les cellules et leurs formules dans le tampon de collage).
Maintenant, faites glisser (survolez le bord de la sélection jusqu'à ce que le curseur de la souris se transforme en main; vous pouvez maintenant faire glisser) les cellules sélectionnées vers le nouvel emplacement.
Revenez à la position d'origine supérieure gauche des cellules copiées et utilisez Ctrl+ V(coller).
Vous devez maintenant avoir deux ensembles de formules faisant tous deux référence aux mêmes cellules.
la source
Je suis tombé sur cette question en cherchant un problème similaire et nous avons finalement trouvé une solution pour Excel qui semble fonctionner parfaitement dans les feuilles de calcul Google.
Pour les références de cellule que vous ne souhaitez pas modifier lors de la pâte, ajoutez-les simplement
$
avant chaque partie.Ainsi
G12
deviendrait$G$12
Une cellule d'un tableur que j'utilise qui fait ce dont j'ai besoin, ressemble à ceci:
la source
$
alors que les cellules absolues sont les cellules par défaut.$G$1&Sheet1!B3&Sheet1!A3&$G$2
, nous le faisonsG1&Sheet1!$B$3&Sheet1!$A$3&G2
.Dans Google Spreadsheets, pour couper et coller des cellules sans déplacer automatiquement leurs formules, utilisez Ctrl+ Xpour couper (ou Ctrl+ Cpour copier) et Ctrl+ Shift+ Vpour coller.
Il Shiftindique à Google Sheets de laisser vos formules seules.
la source
ctrl
+shift
+v
, il copie toujours les valeurs, même si vous avez faitctrl
+x
sur les cellules source.Contournez cela de la même manière que dans Excel:
COPY et collez les données, puis revenez en arrière et supprimez-les de l'emplacement d'origine.
la source
Couper (au lieu de Copier) semble fonctionner pour moi, probablement pour la même raison que le fait de faire glisser des cellules sélectionnées fonctionne - c’est-à-dire que c’est la même opération. C'est aussi le seul moyen que je connaisse pour coller sur une autre page sans changer la formule.
Si vous essayez de faire une copie au lieu d'un déplacement, utilisez la méthode glisser (copier avant de faire glisser) ou copiez-la d'abord ailleurs sur la page.
la source
Pour déplacer une plage de cellules vers un nouvel emplacement dans Google Sheets:
1. Sélectionnez la plage de cellules que vous souhaitez déplacer.
2. Déplacez votre souris sur n’importe quel bord de la sélection jusqu’à ce que le curseur se transforme en main.
3. Faites glisser vos cellules vers le nouvel emplacement.
Cela fait ce qu'il faut - ça les déplace - donc toutes les informations de cellule resteront exactement telles qu'elles étaient à leur emplacement d'origine.
ps. Google a également expliqué cela ici, mais ils ne disent pas que vous pouvez faire glisser n'importe quel bord, juste le haut, et c'est pourquoi mes instructions sont meilleures! :) En outre, il est bon de noter que les cellules que vous sélectionnez doivent être adjacentes pour que cela fonctionne.
la source
Faites une copie de texte de la formule au lieu d'une copie de cellule: Utilisez la souris pour sélectionner le texte de la formule et appuyez sur CTRL + C. Ensuite, sélectionnez le champ de destination et appuyez sur CTRL + V. Cela préserve la formule
la source
Le moyen le plus simple consiste simplement à sélectionner toutes les cellules que vous souhaitez déplacer et à les faire glisser / déposer à l'endroit souhaité. Si vous avez des formules dans d'autres cellules qui faisaient référence à l'emplacement d'origine des cellules que vous avez déplacées, les formules de référence seront automatiquement mises à jour vers le nouvel emplacement des cellules que vous avez déplacées. J'espère que cela t'aides! (En supposant que cela fonctionne dans Excel, mais que je ne l'ai fait que dans Google Sheets).
la source
la source
Je viens de rechercher et de remplacer toutes les occurrences de '=' par '' (ou autant des formules que je tente de copier que je peux) pour que toutes les formules soient converties en texte brut. Je copie et colle les cellules, puis ajoute le '=' .
Remarque: cela ne fonctionnera probablement pas pour les feuilles volumineuses, car cela peut avoir des conséquences inattendues en modifiant d'autres cellules, mais cela fonctionne généralement pour mes besoins.
la source
Voici une autre option:
Bien que cela semble une longue procédure, dans la pratique, il ne s'agit que de quelques touches. De plus, l'étape 4 est obligatoire dans ma configuration - sans cela, Sheets continuera à mettre à jour les emplacements des cellules comme s'il s'agissait d'un copier-coller direct. YMMV.
la source
L'utilisation de l'outil
INDIRECT()
fonctionne très bien pour conserver la position absolue des références après que les cibles ont été copiées et collées, mais le problème est qu'elle préserve également la position absolue lorsque la formule est copiée, ce qui signifie qu'il est difficile d'étendre une formule pour couvrir un grand gamme lorsque vous l'utilisez.La solution consiste à combiner
INDIRECT()
avecROW()
,COLUMN()
etADDRESS()
à générer par programme, la position de la cellule cible en fonction de la cellule de la formule.Dans le cas le plus simple, par exemple lorsque la cellule cible a une colonne fixe et reste toujours dans la même ligne que la formule, vous pouvez procéder comme suit:
INDIRECT("A"&ROW())
Pour introduire des décalages dynamiques à partir de la cellule de formule, vous pouvez utiliser
ADDRESS()
:INDIRECT(ADDRESS(ROW()-1,COL()-4))
Dans la capture d'écran ci-dessous, les formules de la
B1:E1
ont été étendues aux 16 rangées inférieures, puis la séquence de nombres aA7:A10
été coupée et collée à 6 cellules. Comme vous pouvez le constater, les formules les plus simples ont été automatiquement ajustées et désynchronisées, tandis que l'utilisation naïve deINDIRECT()
n'a pas été extrapolée correctement sur toutes les lignes, mais les deux formules utilisantINDIRECT()
à la fois la récupération par programme des emplacements de lignes et de colonnes ont pu conserver leurs références:la source
Vous pouvez appuyer sur F4pour parcourir les différentes options de référencement absolu lorsque le curseur est sur la cellule ou la plage. Cela fonctionne sur Mac et Windows.
la source