当前位置: 首页 > 知识库问答 >
问题:

如何获取脚本,将两个变量的总和添加到工作表中的第三列

曹景铄
2023-03-14

我有两个独立的脚本,要求用户为他们的开始里程(进入第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() );
}

共有1个答案

公孙宇
2023-03-14

添加要计算的代码,并将计算的值插入到您的提示符Home()函数中。而且不需要像现在的代码那样两次获取工作表。以下是该函数的外观:

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”或“shamalamumu”),并且不验证数据,那么您就有比函数不工作更大的问题:)您还应该在代码中使用锁服务来防止并发数据写入。

 类似资料:
  • 我有一个Python脚本,它在stdout上返回一个字符串。python脚本返回的值可以收集在bash脚本中,如下所示: 在使用Groovy编写的Jenkinsfile编写脚本的管道上,我需要从Jenkinsfile调用python脚本,并将输出收集到Jenkinsfile中的变量中。 问题: 如果我的Jenkinsfile在macOS节点上运行,我该如何做到这一点。以下是我至少可以在shell变

  • 问题内容: 好的问题是,我必须对两个链接的表中的两个和求和 第一表要点: 第二张表的收入: 现在我试过的是: 但我得到了错误的结果 我想得到这个: 谢谢! 问题答案: 如果要获得每位用户的总收入,则可能应该先确定要为其获得收入的用户。最明智的选择可能是使用users表本身作为基础。 这种方法的附加好处是可以报告没有积分和/或收入的用户。

  • 问题内容: 我想从2个不同的表中获得几列的总和(这些表具有相同的结构)。 如果我只考虑一个表,我会写这种查询: 但是,我也想使用表T_BAR中的数据,然后使用查询返回以下列: MONTH_REF SUM(T_FOO.amount1)+ SUM(T_BAR.amount1) SUM(T_FOO.amount2)+ SUM(T_BAR.amount2) 一切都按的值分组。 请注意,给定记录可以在一个表

  • 我正在学习JAVA。如果我想在列表中添加一些变量。我知道的是这样的: 如果我有很多变量呢。例如,从a到z,我是否需要像这样手动添加它? 因为我声明了100个变量,需要将它们添加到列表中。我们有其他方法可以更聪明地添加它们吗?Eclipse或Intellij中有热键吗? 感谢您的帮助。

  • 问题内容: 我在下面的我的jquery脚本时遇到问题,这是一个基本的精简版本,甚至无法正常工作,我有jquery脚本调用的php文件,我将其设置为编码并显示json响应 然后,在jquery脚本中,它应该读取该值并对其进行响应,但未获得响应。 json.response是在json字符串中调用名称响应变量的错误方式吗? 有人可以帮助我吗 更新; 我已经更改了 json.response 进入 数据

  • 在iTextSharp中,我们可以覆盖OnCloseDocument()事件,并将页面#of#total添加到文档的页脚。但是,PdfDocument不再具有此文档关闭事件。既然我们不能在添加新页面时确定总页数,那么在生成文档时如何确定总页数并将其放在页脚上呢? 我看到了一些关于蛮力方法的建议:生成PDF文档后,在刷新之前,使用PdfReader阅读它,在更新页脚之前获得总数。这是唯一的办法吗?有