、およびProduct Request Form (Responses)というラベルの付いた 3 つのシートで構成されるGoogle スプレッドシートがあります。シートには 、 、 の 3 つの列があります。Form ResponsesCliffordJimForm ResponsestimestampProductArtistProductLabel
下のセルの値に基づいて、行全体をいずれかCliffordまたはシートに移動/カットしたいと思います。たとえば、セルの値が の場合、行を に移動したい場合、セルの値が の場合、その行を に移動したいです。JimProductLabelWarnerCliffordUniversalJim
Form Responsesまた、誰かがフォームを完成させてシートにデータが入力されたらすぐにそれらを移動させることも非常に便利です。
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Form Responses" && r.getColumn() == 6 && r.getValue() == "Warner") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Clifford");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
「フォーム送信時」スクリプトの書き方を理解するのはまだ難しいと思います。セルの値が編集されたときに機能する同様のスクリプトを見つけることができましたが、フォームの送信時に行が作成されたときには機能しません。