Ich habe eine Tabelle mit Zellen, die Funktionen / Formeln haben, wie diese:
Ich benötige ein Skript, das eine neue Zeile erstellt und damit die Funktionen / Formeln der zuletzt verwendeten Zeile kopiert. Ich finde dieses Skript, das eine neue Zeile erstellt, aber keine Funktionen / Formeln kopiert . Wie kann ich diese Formatierungskopieraufgabe in Google Apps Script implementieren, ohne sie manuell auswählen und kopieren zu müssen?
google-sheets
google-apps-script
Pythonistas Lehrling
quelle
quelle
Antworten:
Verwenden Sie den folgenden Code, um auch Formeln als normale Werte zu kopieren. Fügen Sie den Code hinzu, indem Sie im Tabellenkalkulationsmenü die Option Extras auswählen. Wählen Sie dann den Skript-Editor und fügen Sie den Code hinzu. Stellen Sie sicher, dass Sie auf die Schaltfläche "Fehler" klicken und das Skript authentifizieren.
Code
Anmerkung
Wenn Sie contentOnly auf festlegen ,
false
wird eine Standardkopie erstellt. Wenn Sie diese Option auf setzentrue
, werden nur Werte eingefügt. Das Beispielskript, das Sie gefunden haben, ist weitaus mehr als das Einfügen von Werten.Beispiel
Ich habe eine Beispieldatei für Sie erstellt: Zeile mit Formulas hinzufügen
quelle
Diese ArrayFormula kann genau dasselbe tun, ohne dass ein Skript erforderlich ist. Geben Sie es in D4 ein und es wird automatisch in eine beliebige Anzahl von leeren Zellen darunter übertragen.
Anmerkungen: "B4: B" bedeutet, dass alle Zellen von B4 bis zum Ende der Spalte betrachtet werden.
Währenddessen kopiert sich ArrayFormula selbst in die Zellen darunter. Stellen Sie einfach sicher, dass die Zellen darunter leer sind.
quelle
Falls Sie eine neue Zeile oben (erste Zeile) hinzufügen und die Formel aus der ersten oberen Zeile kopieren müssen, müssen Sie die Formeln über die Verwendung
getFormulas()
undsetFormulas()
Funktionen hinweg kopieren . Sie können den WertfirstRow
auf 2 ändern , wenn Ihre Tabelle beispielsweise Überschriften enthält.quelle
Um dieses Problem zu lösen, habe ich
setFormula(range)
zum Beispiel verwendet:Ihre Formel wird entsprechend dem Zeilenindex automatisch vergrößert.
Zuletzt können Sie einen onUpdate- oder einen onEdit-Trigger hinzufügen.
quelle
onUpdate
Trigger existiert nicht.