発生現象
※スプレッドシートで表示中の最終行まで関数または何らかのデータ入力がされている場合は、
その次の行にデータ登録がされます(なお、その際に100行分を自動追加がされます)
原因
現状のアクション仕様では、連携先スプレッドシート側で行に何らかのデータ
(数式やその他の入力データ等)が入力されている場合は、
既存行へのデータ上書き防止のため、入力済み行へのデータ追加は
スキップされる仕様となっております。
(行単位で判定し、データ入力の無い行にデータ追加を行います)
対応策
スプレッドシート側で関数入力を行いたい場合は、
シートを「データ受信専用」と「関数処理用」の2つに
分割管理して運用することを推奨いたします。
━━━━━━━━━━━━━━━━━
Step1:スプレッドシート側のシート準備
━━━━━━━━━━━━━━━━━
UTAGE側からアクションでスプレッドシート連携させる
スプレッドシートに下記の「シート」を2種類作成してください。
・シート①:UTAGE側からのデータ受信専用(関数は入力しない)
・シート②:関数処理用シート(①シート1をQUERY関数で呼び出し、ご希望の関数処理を入れる)
※こうすることで、UTAGE側からのデータは常にデータスキップされずに
シート①にデータ追加され、シート②の方でご自由に関数処理を追加して運用いただけます。
━━━━━━━━━━━━━━━━━
Step2:シート①「データ受信専用」の設定
━━━━━━━━━━━━━━━━━
シート①「データ受信専用」では、UTAGE側からのデータ受信専用となりますので、
UTAGE側のアクション経由で送信するデータの列見出しのみを1行目に設定してください。
▼注意点
・シート①には関数入力をしないでください。
━━━━━━━━━━━━━━━━━
Step3:シート②「関数処理用」の設定(QUERY関数)
━━━━━━━━━━━━━━━━━
「シート②」では、QUERY関数を利用して
「シート①」に入力されたデータを参照する
設定を行います。
▼設定例)
「シート②」のA1セルに下記関数を入力
=query('シート①「データ受信専用」'!A:E, "select A,B,C,D,E", 1)
※上記関数の内容ですが、「シート①」のA列~E列を1行目の見出し列から
自動参照させる設定となります。
※上記関数内のシート名の箇所は、実際のデータ参照元のシート名をご入力ください。
※スプレッドシート関数に関するサポートにつきましては
UTAGEサポート対象外となりますので、ご不明点はご自身にてお調べください。
━━━━━━━━━━━━━━━━━
Step4:シート②のF列以降の関数を設定
━━━━━━━━━━━━━━━━━
Step3にてQUERY関数により「シート①」の入力データが
「シート②」に自動反映されますので、「シート②」の
F列以降にご希望の関数をご入力ください。
以上で対応完了です。
━━━━━━━━━━━━━━━━━
運用方法の注意事項
━━━━━━━━━━━━━━━━━
本事例で実装した場合の注意点といたしまして、
「シート①」のF列以降に何らかの関数を入力されてしまいますと
UTAGE側からのアクション経由でのデータ追加時に
行がスキップされてしまいますので、関数入力をされる場合は、
必ず「シート②」の方にご設定ください。




