我是这个网站的新手,主要目的是我计划从事编程工作。我在一家工程公司找到了我的第一份工作,他要求我建立一个系统,让他们可以轻松确定提交工作和完成工作之间的时间。我们现在正在使用电子表格文档来完成某些部分。
我希望在Google文档中创建一个自定义函数,它允许我遍历行C中的值数组,然后将其与调用函数的数字进行比较,将数字与数字进行比较在数组中,给我哪一个是较小的数字。 编辑:该函数将在另一张名为"解析数据"位于同一个项目文件中。它的目的是自动提交当前项目的订单号(仅仅是为了组织起来)我计划实施的所有其他功能都将基于这个订单号是正确的。
到目前为止,我已经收集了这么多(我在飞行中学习这个因为我还缺乏经验,所以请耐心等待。)
{
/**created by Alexander Bickford for use at Double E Company
*sorts through a range of values to determine the lowest next value
*returns lowest determined value of next cell
*/
//List Of To Be Implemented Functions
// sheet.appendRow
function setValue(num)
{
var ss = SpreadsheetApp.getActiveSpreadsheet('parsed data');
var ss = ss.getSheets()[0];
var myRange = ss.getRange("C:C").getValues();
newValues = [];
for(i=1;i<=myRange;i++) //Loop to traverse the C range and find the lowest value.
{
if(num<=range[3][i])
{
}
else
num = range[3][i];
}
return num;
}
}
当我在电子表格中调用该函数时,我收到错误消息,说: 错误:ReferenceError:&#34; SPREADSHEET_ID_GOES_HERE&#34;没有定义。 (第8行,文件&#34;代码&#34;)
Google预先定义了顶部的一些功能:
/**
* Retrieves all the rows in the active spreadsheet that contain data and logs the
* values for each row.
* For more information on using the Spreadsheet API, see
* https://developers.google.com/apps-script/service_spreadsheet
function readRows() { <---Line 8 in the file
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);
}
};
* Adds a custom menu to the active spreadsheet, containing a single menu item
* for invoking the readRows() function specified above.
* The onOpen() function, when defined, is automatically invoked whenever the
* spreadsheet is opened.
* For more information on using the Spreadsheet API, see
* https://developers.google.com/apps-script/service_spreadsheet
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Read Data",
functionName : "readRows"
}];
sheet.addMenu("Script Center Menu", entries);
};
End Code I don't need */
我认为它与之前的行有关(我指出第8行)。有什么想法吗?
答案 0 :(得分:0)
下面的代码对我来说很好。
var ss = SpreadsheetApp.getActiveSheet();
var myRange = ss.getRange("C:C").getValues();
newValues = [];
for(i=1;i<=myRange.length;i++)
{
Logger.log(myRange[i]);
}
答案 1 :(得分:0)
查看您的代码,您似乎遇到了一些问题。
你似乎在混淆&#34; sheet&#34;使用&#34;电子表格&#34;,以及您的冗余声明&#34; ss&#34;作为一个变量必然会给你带来一些问题。
您似乎在传递不正确方法的参数。我之前使用Google App脚本时遇到了同样的问题。围绕Google的文档花了很多时间(你应该真正看一下:https://developers.google.com/apps-script/)。你似乎犯了同样的错误,按类比编码。查看Google的示例代码并尝试复制一定会让您遇到麻烦。
一些有用的建议:
您的代码可能如下所示:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("parsed data");
var endRowNumber = sheet1.getLastRow();
//insert rest of code