前提・実現したいこと
最近マクロを勉強し始めた者です。
グーグルスプレッドシートのマクロ機能を使ってマクロを勉強しています。
その際、成績を付ける例題で、1回で全ての項目を入力したいと思っています。
発生している問題・エラーメッセージ
該当のソースコード
グーグルスプレッドシートのマクロ機能
function sample4(){ var sheet = SpreadsheetApp.getActiveSheet() var lastRow,total,kokugo,eigo,suugaku lastRow = sheet.getLastRow() for(var i=2; i<=lastRow; i++){ //全教科の合計 total = sheet.getRange(i,4).getValue() kokugo = sheet.getRange(i,1).getValue() eigo = sheet.getRange(i,2).getValue() suugaku = sheet.getRange(i,3).getValue() sheet.getRange(i,4).setValue(kokugo + eigo + suugaku) //合計210点以上なら〇、それ以外は✕(合否) sheet.getRange(i,5).setValue("") if(total >=210){sheet.getRange(i,5).setValue("〇")} else{sheet.getRange(i,5).setValue("✕")} //合計240点以上で、全教科70点以上に〇(優等生) if(total >=240){ if(kokugo >=70 && eigo >=70 && suugaku >=70){sheet.getRange(i,6).setValue("〇")}} //合計250以上はA、230点以上はB、210点以上はC、それ以外は何もなし(クラス) if(total >=250){sheet.getRange(i,7).setValue("A")} else if (total >=230){sheet.getRange(i,7) .setValue("B")} else if (total >=210){sheet.getRange(i,7) .setValue("C")} else{sheet.getRange(i,7) .setValue("")}}}
試したこと
total = sheet.getRange(i,4).getValue()
や
sheet.getRange(i,4).setValue(kokugo + eigo + suugaku)
sheet.getRange(i,5).setValue("")
などの文の場所を変えてみたりしましたが、別のところでエラーが出たりしてしまいます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/06 12:06