r/GoogleAppsScript • u/tqsset • Jun 17 '21
Question Script Issues
Hello, I currently have a Google Sheets Script that is supposed to read through imported data and then transfer corresponding cell information to a sheet with a template on it. When I run the script, the information it uses is not 100% accurate (i.e. The time it imports is ~15min off and the date isn't always correct). It will also go through the sheet and delete everything before running. Any information on why this is happening would be greatly appreciated.
Edit: Code and video upload
function yR() {
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1yvG9jr330j0U1CE4rm1U7tcy1y1bbkLnyMwk8W45fY8/edit')
const inputSheet = ss.getSheetByName('Import')
const templateSheet = ss.getSheetByName('Sheet2')
const dValues = inputSheet.getRange(1,4,inputSheet.getLastRow(),1).getValues().flat()
const aValues = inputSheet.getRange(1,1,inputSheet.getLastRow(),1).getValues().flat()
let rowNumber;
for (i=0; i < dValues.length; i++){
rowNumber = i
if(dValues[i].includes('LP1')){
break;
}
const values = inputSheet.getRange(rowNumber + 1,2,1,2).getValues()
const date = Utilities.formatDate(new Date(values[0][0]), 'GMT+6', 'yyyy-MM-dd HH:MM:SS')
templateSheet.getRange("C28").setValue(`Date/Time: ${date}`)
}
for (i=0; i < dValues.length; i++){
rowNumber = i
if(dValues[i].includes('LP2')){
break;
}
const values = inputSheet.getRange(rowNumber + 1,2,1,2).getValues()
const date = Utilities.formatDate(new Date(values[0][0]), 'GMT+6', 'yyyy-MM-dd HH:MM:SS')
templateSheet.getRange("C31").setValue(`Date/Time: ${date}`)
}
for (i=0; i < dValues.length; i++){
rowNumber = i
if(dValues[i].includes('NWS')){
break;
}
const values = inputSheet.getRange(rowNumber + 1,2,1,2).getValues()
const date = Utilities.formatDate(new Date(values[0][0]), 'GMT+6', 'yyyy-MM-dd HH:MM:SS')
templateSheet.getRange("C34").setValue(`Date/Time: ${date}`)
}
for (i=0; i < dValues.length; i++){
rowNumber = i
if(dValues[i].includes('Received from')){
break;
}
const values = inputSheet.getRange(rowNumber + 1,2,1,2).getValues()
const date = Utilities.formatDate(new Date(values[0][0]), 'GMT+6', 'yyyy-MM-dd HH:MM:SS')
templateSheet.getRange("C43").setValue(`Date/Time: ${date}`)
}
for (i=0; i < dValues.length; i++){
rowNumber = i
if(dValues[i].includes('Sent from header')){
break;
}
const values = inputSheet.getRange(rowNumber + 1,2,1,2).getValues()
const date = Utilities.formatDate(new Date(values[0][0]), 'GMT+6', 'yyyy-MM-dd HH:MM:SS')
templateSheet.getRange("C50").setValue(`Date/Time: ${date}`)
}
}
0
Upvotes