実現したいこと
GASでカスタム関数を実行した後、参照している元データが変更されたら、カスタム関数の結果も変更されるようにしたい。
具体例
シート1に次のようなデータがある場合
日付 | 会社名 | 金額 |
---|---|---|
3/1 | A株式会社 | 10,000 |
3/2 | B株式会社 | 20,000 |
3/3 | A株式会社 | 30,000 |
シート2でGASで作成したカスタム関数を実行すると、次のような結果が得られます。
[実行内容]=query("シート1","会社名","A株式会社")
[結果]
日付 | 会社名 | 金額 |
---|---|---|
3/1 | A株式会社 | 10,000 |
3/3 | A株式会社 | 30,000 |
ここで、シート1に4つ目をデータを加えた時、
日付 | 会社名 | 金額 |
---|---|---|
3/1 | A株式会社 | 10,000 |
3/2 | B株式会社 | 20,000 |
3/3 | A株式会社 | 30,000 |
3/4 | A株式会社 | 40,000 |
カスタム関数の結果が自動的に理想のようになって欲しいです。
現状は、結果が変わりません。
[シート1変更後の現状]
日付 | 会社名 | 金額 |
---|---|---|
3/1 | A株式会社 | 10,000 |
3/3 | A株式会社 | 30,000 |
[シート1変更後の理想]
日付 | 会社名 | 金額 |
---|---|---|
3/1 | A株式会社 | 10,000 |
3/3 | A株式会社 | 30,000 |
3/4 | A株式会社 | 40,000 |
GASのカスタム関数を参照データから常に同期させる方法などがあれば知りたいです。
> query("シート1","会社名","A株式会社")
この query はどういう定義のカスタム関数ですか?
シート1のテーブルデータのうち、"会社名"の列に"A株式会社"が入る行の値を複数取得し、配列で返すカスタム関数です。
標準のクエリ関数 https://support.google.com/docs/answer/3093343 とは異なるカスタム関数を定義しているのであれば、そのソースコードを示してください。
標準のクエリ関数とは異なるカスタム関数です。紛らわしい関数名をつけてしまいすみません。
以下のようなカスタム関数だと思ってもらった方が良いです。
=table("シート1","会社名","A株式会社")
ソースコードはかなり長くなってしまったので、添付はしたくないのですが...。
=importRangeを実行した時のように、カスタム関数が参照元のデータと常に同期する方法がないかなと思って質問しています。

回答3件
あなたの回答
tips
プレビュー