前提
esp32を使用して定期的に発信されるデータをスプレッドシート上に記録しています。
次に取得したデータから、指定範囲を棒グラフで表示させようと考えています。
ソースコードは作成したのですが、初心者のためエラーが乗り越えれません。
実現したいこと
日時を指定セルに入力し、スクリプトを実行したら指定日時のみのグラフが表示される
発生している問題・エラーメッセージ
構文エラー: SyntaxError: Unexpected token ';' 行: 4 ファイル: コード.gs
該当のソースコード
function findRow(sheet,val,col){
var dat = sheet.getDataRange().getValues();
for(var i=1;i<dat.length;i++){ if(String(dat[i][col-1]) == String(val)){ return i+1; } } return 0;
}
function makeGraphData() {
var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var graphSheet = objSpreadsheet.getSheetByName("graph"); var dataSheet = objSpreadsheet.getSheetByName("data"); dataSheet.unhideRow(dataSheet.getRange("A1:A")); // グラフの非表示を解除 var startValue = graphSheet.getRange("B2").getValue(); // 開始日の値を取得 var endValue = graphSheet.getRange("D2").getValue(); // 終了日の値を取得 var str_row = 0; var end_row = 0; str_row = findRow(dataSheet,startValue,1) if(0 == str_row){ Browser.msgBox("開始日の値がデータ範囲外です", Browser.Buttons.OK); return -1 } end_row = findRow(dataSheet,endValue,1) if(0 == end_row){ Browser.msgBox("終了日の値がデータ範囲外です", Browser.Buttons.OK); return -1 } dataSheet.hideRow(dataSheet.getRange("A"+(end_row+1)+":A"+dataSheet.getLastRow())); dataSheet.hideRow(dataSheet.getRange("A2:A"+(str_row+1)));
}
0 コメント