我正在尝试设置一个电子表格,当库存不足时会向供应商发送电子邮件订单我无法弄清楚如何让它循环并比较两列中的每一行并在供应低于最低值时发送电子邮件
function readCell() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("SHEET1");
var value = sheet.getRange("B5").getValue();
var value1 = sheet.getRange("C5").getValue();
if(value>value1) MailApp.sendEmail('BRIAn@ELLYSONTEC.COM', 'ORDER',
'TRANSFER BELT');
};
答案 0 :(得分:0)
这是一个可以帮助您入门的小例子。我还分享了您可以复制的电子表格示例。
//Col A is email. Col B is Part.
//Col C is Min Qty. Col D is Stock.
function readCellRevised() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var lr=sheet.getLastRow()
var value = sheet.getRange(2,1,lr-1,4).getValues();
value.sort()//sort value so email addresses are together
var uem=keepUnique()//get unique email addresses
for(m=0;m<uem.length;m++){ //for rach email address
text="" //set text to blank for each new email
for(i=0;i<value.length;i++){
if(value[i][2]>value[i][3] && uem[m][0]==value[i][0]){
var amt=value[i][2]-value[i][3] //how much to order
var prod=value[i][1] //what to order
var addr=value[i][0] //where to send
var text =text+" I need to order "+ amt +" "+prod+"\n" //combine text with line breaks
}}
// Logger.log(text)// use to test messages
MailApp.sendEmail(addr, 'ORDER', text); // send emails
}}
function keepUnique(){//get unique email addresses
var col = 0 ; // choose the column you want to use as data source (0
indexed, it works at array level)
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var lr=sheet.getLastRow()
var data = sheet.getRange(2,1,lr-1,1).getValues();//get column A
var newdata = new Array();
for(nn in data){
var duplicate = false;
for(j in newdata){
if(data[nn][col] == newdata[j][0]){
duplicate = true;
}}
if(!duplicate){
newdata.push([data[nn][col]]);
}}
return newdata
}
电子表格是:
https://docs.google.com/spreadsheets/d/1Xj4QADpJORpxmbry9He0Rs4UhhFRQ-Q5j9fMC8Pnp58/edit?usp=sharing