我正在寻找一些帮助,找到包含特定值的单元格的行号.
电子表格包含多个行和列的大量数据.我正在遍历.getDataRange并且可以找到包含我正在寻找的值的单元格.一旦找到,我想知道他的单元格所在的行,这样我就可以进一步获取额外的单元格值,因为我确切地知道有多少行和/或其他信息的列来自找到的单元格.
以下是查找包含特定字符串的单元格的一些代码.
function findCell() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var dataRange = sheet.getDataRange();
var values = dataRange.getValues();
for (var i = 0; i < values.length; i++) {
var row = "";
for (var j = 0; j < values[i].length; j++) {
if (values[i][j] == "User") {
row = values[i][j+1];
Logger.log(row);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出时,Logger.log(row)它给出了我正在寻找的值.我想确定每个值在哪一行,因此我可以在X行数和X列上下载以获取其他单元格的内容.
我环顾四周,有零散的东西,但不能解决这个难题。我正在尝试创建一个脚本,该脚本将在配置为每天运行的触发器上运行。触发器将在编辑器的“资源”选项下设置。
基本上,我正在寻找脚本以捕获一定范围的单元格,确定到期日期,该日期将填充在列中,并将其与当前日期匹配。如果匹配,则发送电子邮件。我首先从Google的电子表格教程中发送电子邮件开始。我添加了一个if语句来检查日期,但是在与dataRange的比较中我丢失了它。任何人都可以帮助纠正这些问题或为我指明研究方向。
该脚本似乎可以运行,但没有任何反应,我相信这是因为“ if(currentTime == dataRange)” dataRange匹配不正确吗?
这是代码:
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 50; // Number of rows to process
// Fetch the range of cells
var dataRange = sheet.getRange(startRow, 1, numRows, 2)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
//Get todays date
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate(); …Run Code Online (Sandbox Code Playgroud) 我正在寻找一些帮助,以按行循环遍历电子表格中的一组数据,然后将第一个单元格中的值写入新工作表,然后将各行中的每个单元格值写入。
这是一组示例数据的链接。 样本数据
上述电子表格中的 Sheet1 显示了原始数据。我想读取该数据并将其写入第二张 (2),以便它看起来像上述链接的第二张上的内容。
这是我当前的代码,但它将所有数据写入单个列。
function myfunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var sheet2 =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2');
var data = sheet.getDataRange().getValues();
for (var i = 0; i < data.length; i++) {
for (var j = 0; j < data[i].length; j++) {
var iava_value = (data[i][0]);
var lastRow = sheet2.getLastRow();
sheet2.getRange(lastRow +1, +1).setValue(data[i][j]);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我希望做有文字输入和窗体上的验证/必填字段文件上传文件附件.
该脚本接受输入并允许用户附加文件.提交后,它会将输入字段添加到电子表格并将文件上传到我的驱动器.我想要做的是强制文本输入和下拉列表来回答并需要文件附件.
我发现此链接的示例"示例验证"但我在尝试将其添加到我的代码中的单击处理程序时遇到问题.任何人都可以帮助指出正确的方向吗?
// Script-as-app template.
var submissionSSKey = 'Insert SS Key';
function doGet(e) {
var app = UiApp.createApplication().setTitle('Loan Registration Processing');
var panel = app.createFormPanel();
var grid = app.createGrid(10,2).setId('loanGrid');
var loanTypeLabel = app.createLabel('Loan Type');
var loanList = app.createListBox().setName('Loan List').setWidth('120px').setName('LoanType');
loanList.addItem('Select Option');
loanList.addItem('FHA');
loanList.addItem('Convential');
loanList.addItem('VA');
loanList.addItem('Reverse');
loanList.addItem('HELOC');
var borrowerNameLabel = app.createLabel("Borrower's Name");
var borrowerTextbox = app.createTextBox().setWidth('150px').setName('borrower');
var loanAmountLabel = app.createLabel('Loan Amount');
var loanAmountTextbox = app.createTextBox().setWidth('150px').setName('amount');
var appDateLabel = app.createLabel('Loan Date');
var appDateTextbox = app.createDateBox().setWidth('150px').setName('date');
var lienPostition = …Run Code Online (Sandbox Code Playgroud) 在过去的几天里,我发布了一些关于我正在开发的Google Apps脚本Web应用程序的问题.到目前为止,Serge在这里一直非常有帮助.该剧本的帖子就在这里.
我希望在该脚本中添加一列来生成uniqueID计数器,这样当提交新表单时,计数器将看到先前的唯一ID并增加1.想法将是带有标题行的空白电子表格.脚本在表单提交上运行,参见A2为空白并插入1.下一个提交的表格将在A2中看到2添加1并在A3中添加3,依此类推.
现在我正在研究计数器加1对单元格中的数字.我知道,当我开发这篇文章时,我需要抓住最后一行,然后找到单元格值并添加,但是因为我是GAS的新手,我正在自学,所以我想要慢慢地建立嗯,你明白了.
这是一个基本的开始,我想得到一些反馈,如果这是一个正确的方向开始..
function counter() {
//Grabs the range and pinpoint cell
var ssRange = SpreadsheetApp.getActiveSheet().getRange(1,1,1,1);
//Grab the cell value of A1
var value = ssRange.getValue();
//if statement to check value in A1 and if it is null, undefined, false, 0, NAN
if (!value) {
//if the cell is null, undefined, false, 0, NAN sets value to 1
var setCell = ssRange.setValue(1);
}
//if not updates the cell by getting the value and adding 1 to …Run Code Online (Sandbox Code Playgroud) 我正在创建一个基本表单,通过文本框和下拉列表获取用户输入,提交后将登录电子表格.到目前为止这个工作正常.我想要添加到表单中的是"文件上传"功能,允许某人选择文件,并在提交表单时上传文件,因为文本框中的数据值和下拉列表都会记录到电子表格中.我查看了以下链接https://developers.google.com/apps-script/class_fileupload但我很难将示例插入/添加到现有的doGet功能中..任何人都可以提供帮助或提供建议吗?这是目前为止的Google App Script代码.
*使用以下链接作为表格的基础:https: //sites.google.com/site/appsscripttutorial/advanced-examples/insert-data-in-sheet-using-ui-forms
// Script-as-app template.
var submissionSSKey = 'Spreadsheet Key goes Here';
function doGet() {
var app = UiApp.createApplication().setTitle('Loan Registration Processing');
var panel = app.createVerticalPanel();
var grid = app.createGrid(8,2).setId('loanGrid');
var loanTypeLabel = app.createLabel('Loan Type');
var loanList = app.createListBox().setName('Loan List').setWidth('120px').setName('LoanType');
loanList.addItem('Select Option');
loanList.addItem('FHA');
loanList.addItem('Convential');
loanList.addItem('VA');
loanList.addItem('Reverse');
loanList.addItem('HELOC');
var borrowerNameLabel = app.createLabel("Borrower's Name");
var borrowerTextbox = app.createTextBox().setWidth('150px').setName('borrower');
var loanAmountLabel = app.createLabel('Loan Amount');
var loanAmountTextbox = app.createTextBox().setWidth('150px').setName('amount');
var appDateLabel = app.createLabel('Loan Date');
var appDateTextbox = …Run Code Online (Sandbox Code Playgroud)