質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

2112閲覧

GAS スクリプト反映する該当セルの自動更新をしたい。

kit

総合スコア13

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2022/06/08 03:52

・前提・実現したいこと
googleスプレッドシートで"1日"シート〜"31日"シートの串刺し計算の為にスクリプトを組んでおります。そのセルは作れており表示ができているが、一旦該当セルを削除し元に戻す操作をしないと最新のデータを読み込んでくれない為、自動更新できるGASを作成したい。

・発生している問題・エラーメッセージ

GAS

1function skewersum(cell_no, start_name, end_name) { 2 var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); 3 var sum = 0; 4 var add_flag = false; 5 6 for(var i = 0; i < sheets.length;i++) { 7 if(sheets[i].getName() == start_name){add_flag = true;} 8 if(add_flag){sum += sheets[i].getRange(cell_no).getValue();} 9 if(sheets[i].getName() == end_name){break;} 10 } 11 return sum; 12}

以上のようなスクリプトを作り、

GAS

1=skewersum("B1","1日","31日")

を表示させたいセルに入力をすると""Loading...""の表示の後に数字の表記がなされます。
ここまでは問題がないのですが、"1日"〜"31日"シートのデータ更新があった際にすぐには表示をしてくれない状態です。

・自分で調べたことや試したこと
いつもやっているのは以下の通りの手順で更新しています。
「表示させたいセルを選択」→「backspace等で削除」→「ctrl+Zで元に戻す」
以上のことをやると再度loadingになり最新データ表示となります。
他は念の為「元に戻すスクリプト」やそもそもの「自動更新の方法」などを調べておりますが
探し方が悪いのか、うまく見つけれらておりません。

・使っているツールのバージョンなど補足情報
googleスプレッドシートをchromeブラウザで利用

本来、「自分で調べたことや試したこと」欄に記載しているような方法は取らないはずなので、
うまくセルを自動更新してくれるスクリプトや方法を伺いたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

onEdit関数を使用するのはどうでしょうか?
https://pineplanter.moo.jp/non-it-salaryman/2022/02/13/gas-onedit/
https://webbibouroku.com/Blog/Article/gas-event-cell#outline__4
https://coporilife.com/508/

セルが編集されるたびに動作しますが、特定のシートやセルのみと絞り込めば、負荷は減らせるかと思います。

投稿2022/06/08 04:45

編集2022/06/08 04:47
k.a_teratail

総合スコア845

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kit

2022/06/08 06:06

ご回答ありがとうございます。 無事いただいた情報で解決に至りました。 ーーーーーーーーーーーーー function onEdit(e) { var range = e.range; } ーーーーーーーーーーーーー こちらのプログラムのGASファイルを追加することで自動更新を実装することが出来ました。 更新時間は1分ほどであった為問題ないと判断しシート指定はしておりません。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問