OKだから、私がやりたいことは比較的複雑だと思う。現時点では、参加者が記入できる書式があります。フォームが送信されるたびにスプレッドシート内に新しいシートが作成されるたびに、IF関数に似た何かの情報が渡され、YesおよびNoの答えが1と0に変更されることを意味するスクリプトが実装されています。Google Apps Script - Googleフォームデータから生成されたスプレッドシートに列(inc数式と書式設定)を追加する方法
//onFormSubmit
function onFormSubmit(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Form Responses");
var headings = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var lastRow = sheet.getRange(sheet.getLastRow(), 1, 1, sheet.getLastColumn()).getValues();
var whoIsItFor = lastRow[0][1];
if(ss.getSheetByName(whoIsItFor))
{
var userSheet = ss.getSheetByName(whoIsItFor);
//if not make
}
else
{
var userSheet = ss.insertSheet(whoIsItFor);
userSheet.getRange(1, 1, 1, headings[0].length).setValues(headings);
}
// copy submitted data to user's sheet
userSheet.getRange(userSheet.getLastRow()+1, 1, 1, lastRow[0].length).setValues(lastRow);
var columns = new Array('K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ', 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN', 'BO', 'BP', 'BQ', 'BR', 'BS', 'BT', 'BU', 'BV', 'BW', 'BX', 'BY', 'BZ', 'CA', 'CB', 'CC', 'CD', 'CE', 'CF', 'CG', 'CH', 'CI', 'CJ', 'CK', 'CL', 'CM');
for (var i = 0; i < columns.length; ++i)
{
c = columns[i] + "2";
if (userSheet.getRange(c).getValue() == "Yes") {
userSheet.getRange(c).setValue("1")
}
else {
userSheet.getRange(c).setValue("0")
}
}
}
次に、次の段階を実装します。私の現在のスクリプトが生成するシートにさまざまな数式と書式を追加する別のシートと、そのシートの特定の列に式を含むデータが挿入された場合に起こりたいこと。私は元のスクリプトが新しいシートを生成するたびにこれが起こるようにしたい。さまざまな数式と書式を含むシートは、同じスプレッドシートに含まれています。
私は
それは(と私は間違っている可能性が)あなたは真の虚偽の質問の形を持っているように聞こえる
ご要望は私にはあまり明確ではありません。あなたは2つのシートを一緒にマージする方法を尋ねていますか?もしそうなら、このマージのルールは何でしょうか? –