C行には5列まで記載されており、
CZ行には3列まで記載されている場合、
5-3=2行 ・・・ に対して 処理を実行するコードを書きました。
デクリメントで、for loopのスクリプトを書きましたが、
if文の条件はクリアしたことが(ログから)わかるのですg,
for loopの条件式が?間違えているらしく、for loop内の処理が実行されません。
if(mishori_count >0){ Logger.log("if文以下実行") for(var i = mishori_count; i = 0; i--){ Logger.log("forloop内実行");//この時点で実行されていない(ログなし)・・・★ //mishori_count は2.0という数値を問題なく取得できています。
デクリメントのなにかの書き方が間違えているのかと疑い、
for(var i = mishori_count ; i <= 5; i++){
…としたところ、問題なく実行されました。
私のコードのどこが間違えているのか、お教えいただけますと助かります。
どうぞよろしくお願い致します。
・・・
〈周辺部分も、記載します〉
function tillDraft(){ //基本情報をゲットする部分は省略 var DataSheet = ss.getSheetByName("data"); const CValues = DataSheet.getRange('C:C').getValues(); var LastRow_Answered = CValues.filter(String).length; //返信済み打刻されている最終行。CValues(返信まち最終行)よりも、短い。 const CZValues = DataSheet.getRange('CZ:CZ').getValues(); var LastRow = CZValues.filter(String).length; //未処理の回答数をカウント var mishori_count = LastRow_Answered - LastRow; Logger.log(mishori_count) //問題なく"2.0"という値を取得・・・★ //未処理カウントが1以上の場合、これが0になるまで(1になるまで?)繰り返し処理 if(mishori_count >0){ for(var i = mishori_count; i = 0; i--){ Logger.log(i);//すでにこの時点で実行されていない(ログなし)・・・★ 〈・・・途中略〉 LastRow += 1 LastRow_Answered += 1 } } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/09 21:17