前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)GoogleAppsScriptでシフト自動作成システムを作っています。
提出されたシフトを一度整理する機能を実装中に問題が発生しました。
発生している問題・エラーメッセージ
とりあえず退勤時間の方を整理しようとしています。3行目に16・23・24時までというデータが入っているので16,23,24という数字が入っているのですが、24しか検知されず、24のところだけは正常に整理することができます。
該当のソースコード
var ss = SpreadsheetApp.getActiveSpreadsheet();
var scf= ss.getSheetByName('import'); //scF=sheet_copyFrom
var lr = scf.getLastRow();
var lc = scf.getLastColumn();
var sct = ss.getSheetByName('Arrange_data'); //sct=sheet_copyTo
var lr1 = sct.getLastRow();
var lc1 = sct.getLastColumn();
var name = scf.getRange(lr,2,1,1).getValues();
// Logger.log(name);
var name_write = sct.getRange(lr1+1,2,1,1).setValues(name);
for ( var i=3 ; i<lc ; i++ ){
var out_time = scf.getRange(lr,i,1,1).getValues(); Logger.log(i); Logger.log(j); Logger.log(out_time); if (out_time == (16,23,24) ){ if(i<=6){ var j=5 } else if(i<=10){ var j=8} else if(i<=14){ var j=11} else if(i<=18){ var j=14} else if(i<=22){ var j=17} else if(i<=26){ var j=20} else if(i<=30){ var j=23} else if(i<=34){ var j=26} else if(i<=38){ var j=29} else if(i<=42){ var j=32} else if(i<=46){ var j=35} else if(i<=50){ var j=38} else if(i<=54){ var j=41} else if(i<=58){ var j=44} else if(i<=62){ var j=47} else { var j=50}; var out_time = scf.getRange(lr,i,1,1).getValues(); //Logger.log(i); //Logger.log(j); Logger.log(out_time); var out_time_write = sct.getRange(lr1+1,j,1,1).setValues(out_time); } else { //Logger.log(i); //Logger.log(j); //Logger.log(out_time); }
}
GAS
試したこと
out_timeをforの外に出したりしましたがダメでした。
補足情報(FW/ツールのバージョンなど)
もしろよろしければ、Aシートのどこかの行にある田中という苗字を検知し、その行のデータをコピーし、Bシートの固定された田中の行にコピーさせる為にはどうすればいいでしょうか。こちらも併せて教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー