如何获取脚本将2个变量的总和添加到表格中的第3列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取脚本将2个变量的总和添加到表格中的第3列相关的知识,希望对你有一定的参考价值。
我有两个单独的脚本,询问用户他们的起步里程(输入第3列)和结束里程(输入第4列)。在输入结束里程后,如何获得输入第10栏的总里程?我已经尝试在工作表上输入一个函数但是被下一个数据输入覆盖了。
我的2脚本看起来像这样:
var StartMileage = SpreadsheetApp.getUi().prompt("Please enter Start Mileage.").getResponseText(); var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Retrieval Log P1CU X") var NewLog = ss.getRange(ss.getLastRow(), 3).setValue( StartMileage );
和,
var Home = SpreadsheetApp.getUi().prompt("What is your end mileage?").getResponseText(); var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Retrieval Log P1CU X") var NewLog = ss.getRange(ss.getLastRow(), 4).setValue( Home );
我想要的基本总和是'Home'的值减去放入第10列的'StartMileage'的值。
脚本设置为在点击按钮时运行,他们将在其中提交响应,第一个按钮将询问他们的姓名并开始里程,最后一个按钮会询问他们的结束里程,按钮将按顺序点击并按两份提交内容都将提交到同一行。我希望脚本在提交结束里程的同时进行计算,该函数如下所示:
function promptHome() { var Home = SpreadsheetApp.getUi().prompt("What is your end mileage?").getResponseText(); var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Retrieval Log P1CU X") var NewLog = ss.getRange(ss.getLastRow(), 4).setValue( Home ); var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Retrieval Log P1CU X") var NewLog = ss.getRange(ss.getLastRow(), 9).setValue( new Date() ); }
答案
添加代码以计算并将计算值插入promptHome()
函数。并且没有必要像现在在代码中那样获取表格两次。这是函数的外观:
function promptHome() {
var Home = SpreadsheetApp.getUi().prompt("What is your end mileage?").getResponseText();
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Retrieval Log P1CU X");
var startMileage = parseInt(ss.getRange(ss.getLastRow(), 3).getValue(), 10);
var diffMileage = parseInt(Home, 10)-startMileage;
ss.getRange(ss.getLastRow(), 4).setValue(parseInt(Home, 10));
ss.getRange(ss.getLastRow(), 9, 1, 2).setValues([[new Date(), diffMileage]]); // insert values into cols 9 and 10 at the same time, so save time
SpreadsheetApp.flush(); // commit the changes
}
当然,只有当您的用户仅在提示中输入数字时,它才能正常工作。但是如果你允许他们输入任何他们想要的东西(即“15mi”或“shamalamamumu”)并且不验证数据,那么你的问题比函数不起作用更大:)你还应该在你的代码中使用Lock Service来防止并发数据写道。
以上是关于如何获取脚本将2个变量的总和添加到表格中的第3列的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Google Apps 脚本将公式添加到 Google 表格?
如何通过读取shell脚本中的csv文件来将2列的总和添加到新列中