Mam tabelę z komórkami, które mają funkcje / formuły, takie jak ta:
Potrzebuję skryptu, który tworzy nowy wiersz, kopiując wraz z nim funkcje / formuły ostatnio używanego wiersza. Znajduję ten skrypt, który tworzy nowy wiersz, ale nie kopiuje funkcji / formuł . Jak mogę zaimplementować to zadanie kopiowania formatującego w Google Apps Script bez konieczności ręcznego wybierania i kopiowania?
google-sheets
google-apps-script
Uczeń Pythonisty
źródło
źródło
Odpowiedzi:
Użyj poniższego kodu, aby skopiować również formuły jako wartości normalne. Dodaj kod, wybierając Narzędzia z menu arkusza kalkulacyjnego. Następnie wybierz edytor skryptów i dodaj kod. Pamiętaj, aby nacisnąć przycisk „błąd” i uwierzytelnić skrypt.
Kod
Uwaga
Ustawienie contentOnly to
false
spowoduje uzyskanie standardowej kopii. Ustawienie gotrue
spowoduje wklejenie tylko wartości. Przykładowy skrypt, który znalazłeś, to coś więcej niż wklejanie wartości .....Przykład
Utworzyłem dla Ciebie przykładowy plik: Dodaj wiersz z formułą
źródło
Ta ArrayFormula może zrobić to samo bez udziału skryptu. Wpisz go w D4, a zostanie on automatycznie przeniesiony do dowolnej liczby pustych komórek pod nim.
Uwagi: „B4: B” oznacza, spójrz na wszystkie komórki od B4 do końca kolumny.
Podczas gdy ArrayFormula dba o kopiowanie się do komórek pod nim. Upewnij się tylko, że komórki pod nim są puste.
źródło
W przypadku, gdy musisz dodać nowy wiersz na górze (pierwszy wiersz) i skopiować formułę z pierwszego górnego wiersza, musisz skopiować formuły za pomocą funkcji
getFormulas()
isetFormulas()
. Możesz zmienić wartośćfirstRow
na 2, jeśli arkusz kalkulacyjny ma na przykład nagłówki.źródło
Aby rozwiązać ten problem, wykorzystałem
setFormula(range)
na przykład:Twoja formuła automatycznie wzrośnie zgodnie z indeksem wiersza.
Na koniec możesz dodać wyzwalacz onUpdate lub onEdit.
źródło
onUpdate
Spust nie istnieje.