In Google Sheets gibt es eine Funktion, bei der, wenn Sie einen Verweis auf eine Datenzelle in einer Formel haben und die Daten aus dieser Zelle ausschneiden und an einer neuen Position einfügen, der Verweis in der Formel aktualisiert wird, um auf die neue Zellposition zu verweisen.
Ich möchte meine Daten ausschneiden und einfügen können, ohne dass sich meine Formeln ändern.
Ich habe in der Vergangenheit einige abscheuliche Dinge getan, die die INDIRECT()
Funktion zum Umgehen dieser Funktion beinhalteten, aber es scheint, dass es einen einfacheren Weg geben muss. Irgendwelche Vorschläge?
google-sheets
grahamparks
quelle
quelle
Antworten:
Die
=$A$1
Notation kann auch automatisch verschoben werden, wenn der Wert in (sprich)A1
geändert wird.Die einzige todsichere Lösung besteht darin, alle Ihre Referenzen in
INDIRECT
z . B.=INDIRECT("$A$1")
oder sogar nur=INDIRECT("A1")
.Die Schwierigkeit bei jeder dieser Lösungen besteht darin, dass Sie viele der gleichen Formeln haben, z
Normalerweise füllen Sie zuerst
=A1
das Feld aus und kopieren es dann und fügen es ein (oder ziehen es mit der Funktion zum automatischen Ausfüllen nach unten), um die fortlaufende Formel automatisch auszufüllen. Wenn jedoch die erste Formel lautet=$A$1
oder=INDIRECT("A1")
dieser Trick dann nicht funktioniert (in der Tat ist dies das, wofür$
- um zu verhindern, dass er automatisch geändert wird).Wenn Sie viele aufeinanderfolgende Formeln haben, lautet eine Lösung:
=A1
gewohnt (verwenden Sie " Normal" und "Automatisch ausfüllen").=A1
,=A2
...=A99
in das=INDIRECT("A1")
usw. einzufügen. Beachten Sie, dass Sie beim Suchen und Ersetzen die Möglichkeit haben, reguläre Ausdrücke zu verwenden.quelle
Aus dem Google Text & Tabellen-Forum :
Wählen Sie den Zellbereich aus. Verwenden Sie dann Ctrl+ C(Kopieren; dies sollte die Zellen und ihre Formeln in den Einfügepuffer legen).
Ziehen Sie nun die ausgewählten Zellen an die neue Position (bewegen Sie den Mauszeiger über den Rand der Auswahl, bis sich der Mauszeiger in eine Hand verwandelt; jetzt können Sie sie ziehen).
Gehen Sie zurück zur ursprünglichen oberen linken Position der kopierten Zellen und verwenden Sie Ctrl+ V(Einfügen).
Jetzt sollten Sie zwei Formelsätze haben, die beide auf die gleichen Zellen verweisen.
quelle
Kam auf diese Suche nach einem ähnlichen Problem und fand schließlich eine Lösung für Excel, die in den Google Spreadsheets perfekt zu funktionieren scheint.
Für die Zellreferenzen, die Sie beim Einfügen nicht ändern möchten, fügen Sie einfach
$
vor jedem Teil ein.So
G12
würde es werden$G$12
Eine Zelle aus einer Kalkulationstabelle, die ich verwende, macht das, was ich brauche, sieht ungefähr so aus:
quelle
$
während absolute Zellen Standard sind.$G$1&Sheet1!B3&Sheet1!A3&$G$2
, wir tunG1&Sheet1!$B$3&Sheet1!$A$3&G2
.Um in Google Spreadsheets Zellen auszuschneiden und einzufügen, ohne ihre Formeln automatisch zu verschieben, verwenden Sie Ctrl+ Xzum Ausschneiden (oder Ctrl+ Czum Kopieren) und Ctrl+ Shift+ Vzum Einfügen.
Das Shiftweist Google Sheets an, Ihre Formeln in Ruhe zu lassen.
quelle
ctrl
+shift
+v
, es die Werte immer kopiert, auch wenn Sie tatctrl
+x
Zellen auf die Quelle.Umgehen Sie dies auf die gleiche Weise wie in Excel:
KOPIEREN Sie die Daten und fügen Sie sie ein. Gehen Sie dann zurück und löschen Sie sie vom ursprünglichen Ort.
quelle
Ausschneiden (anstelle von Kopieren) scheint bei mir zu funktionieren, wahrscheinlich aus demselben Grund, aus dem das Ziehen ausgewählter Zellen funktioniert - dh es ist der gleiche Vorgang. Dies ist auch die einzige Möglichkeit, auf einer anderen Seite einzufügen, ohne dass sich die Formel ändert.
Wenn Sie versuchen, eine Kopie anstelle einer Verschiebung zu erstellen, verwenden Sie entweder die Ziehmethode (Kopieren vor dem Ziehen) oder kopieren Sie sie zuerst an eine andere Stelle auf der Seite.
quelle
So verschieben Sie einen Zellenbereich an einen neuen Ort in Google Sheets:
1. Markieren Sie den Zellenbereich, den Sie verschieben möchten.
2. Bewegen Sie die Maus an einen beliebigen Rand der Auswahl, bis der Cursor in eine Hand verwandelt.
3. Ziehen Sie die Zellen an die neue Position
Dies tut, was es sollte - es bewegt sie - damit alle Zellinformationen genau so bleiben, wie sie sich an ihrem ursprünglichen Ort befanden.
ps. Google hat dies auch hier angewiesen , aber es heißt nicht, dass Sie von jeder Kante aus ziehen können, nur von der oberen. Deshalb ist meine Anweisung besser! :) Beachten Sie auch, dass die ausgewählten Zellen benachbart sein müssen, damit dies funktioniert.
quelle
Erstellen Sie eine Textkopie der Formel anstelle einer Zellenkopie: Markieren Sie den Formeltext mit der Maus und drücken Sie STRG + C. Wählen Sie dann das Zielfeld aus und drücken Sie STRG + V. So bleibt die Formel erhalten
quelle
Am einfachsten ist es, alle Zellen auszuwählen, die Sie verschieben möchten, und sie per Drag & Drop an die gewünschte Stelle zu ziehen. Wenn Sie Formeln in anderen Zellen haben, die auf die ursprüngliche Position der verschobenen Zellen verweisen, werden die Referenzformeln automatisch an die neue Position der verschobenen Zellen aktualisiert. Hoffe das hilft! (Vorausgesetzt, dies funktioniert in Excel, aber ich habe es nur in Google Sheets getan).
quelle
quelle
Ich suche und ersetze einfach alle Instanzen von '=' durch '' (oder so viele der Formeln, die ich zu kopieren versuche, wie ich kann), um alle Formeln in einfachen Text umzuwandeln. Ich kopiere und füge die Zellen ein und füge dann das '=' zurück.
Hinweis: Dies funktioniert wahrscheinlich nicht für große Blätter, da es unbeabsichtigte Konsequenzen beim Bearbeiten anderer Zellen haben kann, aber normalerweise funktioniert es für meine Zwecke.
quelle
Hier ist eine andere Option:
Dies scheint ein langwieriger Vorgang zu sein, in der Praxis sind es jedoch nur ein paar Tastenanschläge. Außerdem ist Schritt 4 in meinem Setup obligatorisch - ohne ihn werden die Zellenpositionen weiterhin aktualisiert, als ob es ein direktes Kopieren und Einfügen wäre. YMMV.
quelle
Die Verwendung von
INDIRECT()
funktioniert hervorragend , wenn die absolute Position von Referenzen beibehalten werden soll, nachdem die Ziele kopiert und eingefügt wurden. Das Problem besteht jedoch darin, dass die absolute Position auch beibehalten wird, wenn die Formel kopiert wird Reichweite bei der Verwendung.Die Lösung besteht darin, die Position der Zielzelle basierend auf der Zelle der Formel
INDIRECT()
mitROW()
, zu kombinierenCOLUMN()
undADDRESS()
programmgesteuert zu generieren.Im einfachsten Fall, wenn die Zielzelle eine feste Spalte hat und immer in der gleichen Zeile wie die Formel bleibt, kann dies folgendermaßen erfolgen:
INDIRECT("A"&ROW())
Um dynamische Offsets aus der Formelzelle einzuführen, können Sie Folgendes verwenden
ADDRESS()
:INDIRECT(ADDRESS(ROW()-1,COL()-4))
Im folgenden Screenshot wurden die Formeln in den
B1:E1
16 Zeilen darunter erweitert, und dann wurde die Zahlenfolge inA7:A10
ausgeschnitten und 6 Zellen nach unten eingefügt. Wie Sie sehen, wurden die einfachsten Formeln automatisch angepasst und desynchronisiert, während die naive Verwendung vonINDIRECT()
nicht für alle Zeilen richtig extrapoliert wurde, aber die beiden Formeln, dieINDIRECT()
zusammen mit dem programmgesteuerten Abrufen von Zeilen- und Spaltenpositionen verwendet wurden, konnten ihre Verweise beibehalten:quelle
Sie können F4die verschiedenen Optionen für die absolute Referenzierung durchlaufen, wenn sich der Cursor auf der Zelle oder dem Bereich befindet. Dies funktioniert auf Mac und Windows.
quelle