我有一个非常简单的excel公式,它可以工作,因为我可以限制递归迭代.我不是很精通脚本,但这就是它的功能.
=IF(D24="P",IF(E24="",DateStamp,E24),IF(D24="F",IF(E24="",DateStamp,E24),""))
它是通过/失败测试表,当有人通过或未通过测试时,它会添加时间戳.我们添加了一些人,我想将文档移动到谷歌应用程序,以允许超过1人同时处理它.
我遇到的唯一问题是这导致的循环引用.在excel中我可以限制选项中的迭代次数,我不再具备此功能.任何帮助都会很棒.
编辑:我试过的.我试图找到一种方法来输入一个同事为我创建的VBA脚本.我不熟悉脚本,所以我无法将其变成谷歌应用程序脚本:
VBA脚本:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
If Cells(Target.Row, 5).Value = "" Then
Cells(Target.Row, 5).Value = Now
End If
Else
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
从理论上讲,我尝试创建一个脚本,该脚本将复制一个带有时间戳的单元格,然后尝试"粘贴特殊",然后将值粘贴到所需的单元格中.这可以工作,除了我无法找到粘贴谷歌应用程序脚本特殊的方法.
感谢您的任何帮助/编辑
我的Google电子表格中有一张包含5个单元格的工作表,前3个仅包含单词,而最后2个包含时间,特别是时间戳.
cell 1 = data
cell 2 = data
cell 3 = data
cell 4 = time start
cell 5 = time ended
Run Code Online (Sandbox Code Playgroud)
现在,我想要的是当向单元1提供数据时,时间戳将自动出现在单元格4中.当向单元2和单元3提供数据时,时间戳将是单元5的新值.
我的朋友给了我一个代码,应该粘贴在脚本编辑器中:
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
Logger.log(row);
}
};
Run Code Online (Sandbox Code Playgroud)
和
function onOpen() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Read Data",
functionName …Run Code Online (Sandbox Code Playgroud) 这是一个开放式问题,(谷歌搜索返回了混合结果)但基本上,我试图创建一个谷歌表单,它根据表单用户在开始时输入的“键”值动态创建新的部分。
例如“您要为多少用户配置?”
输入值(字符串)将转换为数字(浮点)值,然后确定创建多少个后续部分类型。
使用 Google 现有的 Google Forms/Google Script 框架是否可以做到这一点?