Javascript 如何使用google脚本从google工作表中提取特定列?
因此,我有一个膳食清单电子表格,由谷歌表单提供。员工每天晚上在一天结束时数餐,每个专栏的第二个单元都有一个标题:开始,星期一,星期二你明白了。我想通知我自己,当某些商品以很快的速度售出时,它们可以补充。我的问题是,我可以使用 .getLastColumn() 但是我想根据列的第二个单元格中最近一列的“Initial”的每个lastColumn数据,将它们放在一个单独的表上的2列数组中。有什么想法吗?这是我目前的剧本Javascript 如何使用google脚本从google工作表中提取特定列?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,因此,我有一个膳食清单电子表格,由谷歌表单提供。员工每天晚上在一天结束时数餐,每个专栏的第二个单元都有一个标题:开始,星期一,星期二你明白了。我想通知我自己,当某些商品以很快的速度售出时,它们可以补充。我的问题是,我可以使用 .getLastColumn() 但是我想根据列的第二个单元格中最近一列的“Initial”的每个lastColumn数据,将它们放在一个单独的表上的2列数组中。有什么想法吗?这是我目前的剧本 函数activeData(){ var ss=SpreadsheetApp.g
函数activeData(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var Sheet=ss.getSheetByName(“IREmaildata”);
var lastCol=Sheet.getLastColumn();
var rangeInitial=Sheet.getDataRange();//不确定这是否正确?
var initial=rangeInitial.getValues();
var int=“Initial”;//在“Initial”列中的第三个单元格必须显示“Initial”。
var rangeLastnight=Sheet.getRange(1,lastCol,37,1);//我可以很容易地从最近提交的Google表单中获取数据。
var lastNight=rangeLastnight.getValues();//我可以很容易地从最近提交的Google表单中获取数据。
/*
这里可能会有某种逻辑?
*/
ss.getSheetByName(“Sheet5”).getRange(1,2,37,1).setValues(昨天);
ss.getSheetByName(“Sheet5”).getRange(1,3,37,1).setValues(今天);
}
- 在共享电子表格中,
和IREmaildata
分别是您期望的输入和输出Sheet5
- 从共享电子表格中,您希望从工作表
中检索值。IREmaildata
- 您要检索最后一列(
),并检索在第二行有最近的夜间动态列
且距离最后一列最近的列(首字母
)。以及"A"一栏每周动态列的开始
- 您希望将计算出的值放入新列(
)precnatage sall Static列
- 对于共享电子表格,您希望将列“A”、“V”、“Y”和计算值检索到电子表格中的另一张图纸
- 您要检索最后一列(
- 您希望使用谷歌应用程序脚本实现这一点
IREmaildata
Initial
的列的索引Initial
,即最后一列的索引destSheetName
,然后运行函数activeData
function activeData() {
var destSheetName = "###"; // Please set the destination sheet name.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("IREmaildata");
var values = sheet.getDataRange().getValues();
var lastColumnIndex = values[1].length - 1;
var initialIndex = 0;
for (var i = lastColumnIndex - 1; i >= 0; i--) {
if (values[1][i] == "Initial") {
initialIndex = i;
break;
}
}
var result = values.map(function(row, i) {
var ar = [row[0], row[initialIndex], row[lastColumnIndex]];
if (i == 0) {
ar.push("");
} else if (i == 1) {
ar.push("Since Begining of week");
} else if (i > 1) {
var temp = 1 - (row[lastColumnIndex] / row[initialIndex]);
ar.push(isNaN(temp) ? "None sold" : temp);
}
return ar;
});
var destSheet = ss.getSheetByName(destSheetName);
destSheet.getRange("D3:D").setNumberFormat("0.00%");
destSheet.getRange(1, 1, result.length, result[0].length).setValues(result);
}
注:
- 在上面的脚本中,
用于从工作表getValues()
中检索值。在这种情况下,日期值作为日期对象进行检索。例如,如果要修复日期格式,请修改IREmaildata
tovar values=sheet.getDataRange().getValues()
var values=sheet.getDataRange().getDisplayValues()代码>