私はGoogleのシートのためのスクリプトの問題を抱えているに基づいてコピーセルの値が条件
私は教育で働く、そして基本的に我々はにフォームを持っていると思います一部の教師を持っています生徒を管理者に紹介する必要があるときに使用します。
Googleフォームが設定されており、その回答がシート内の「マスター」タブに表示されます。次に、各管理者用のタブが設定されています。つまり、「管理者が割り当てた」ボックスの内容に基づいてデータを移動する機能(以下のコードのColumnT)
最初のビットI機能的な取得する必要がありますが、その部分を処理するコードで、ここに(あなたがうまくいけば、私の思考プロセスを見ることができるように、多くのコメント)私が思い付くことができましたものです:
//Get the active spreadsheet and store in a variable
function importStudName() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
//Get"Master" spreadsheet and store in a variable
var master_sheet = ss.getSheetByName("Master");
//Get "Miranda" spreadhseet and store in a variable
var miranda_sheet = ss.getSheetByName("Miranda");
//Column T
var columnT = master_sheet.getSheetValues(0, 20, 0, -1);
//Column D
var columnD = master_sheet.getSheetValues(0, 4, 0, -1);
//Column E
var columnE = master_sheet.getSheetValues(0, 4, 0, -1);
//Loop through Column T and find every value that = "Miranda"
for(var i = 0; i <= columnT; i++) {
if (columnT[i] === "Miranda") {
//Set a variable to hold the last row in the "Miranda" sheet
var miranda_row = (miranda_sheet.getLastRow() + 1);
//Make the row with the "Miranda" string active
//Set a variable that concatenates the Column D and Column E variables (from "master" sheet) into a string
//Copy the new variable to the "Miranda" sheet
.copyValuesToRange(miranda_sheet, 1, 1, miranda_row, miranda_row);
}
}
}
を主に、私はできませんその中に "Miranda"というキーワードを持つ行を選択するビットを見つけ出すようです。一度それを取り除くと、.getRange()関数を使ってcolumnDとcolumnEから値を引き出すことにすぎないと思います。
私は自分のJavaScriptに少し錆びています。これはアプリスクリプトのために何か書いたのは初めてです。だから、「 - 値の2次元配列を[] []オブジェクト」
任意の提案は
これは非常に役に立ちます、ありがとう、getValuesははるかに良いメソッドです:) – Jensen010
私は、forループ、アクティブな行に一致する文字列を含む行を作るために手を携えてきました。その行からいくつかのセル値を選択して別のシートに移動します。私はいくつかのコードを書き留め、行の内容を配列に格納してから、そのインデックスを行番号に変換しています。しかし、私はまだ私が不足していると思う。午前中に私の質問を編集して、今どこにあるのかを反映させます。 – Jensen010