Как подсчитать количество строк в Google Spreadsheet и проверить, содержит ли оно значение emailId в необходимом столбце - PullRequest
0 голосов
/ 30 мая 2019

Не могу понять, как подсчитать количество строк, в которых есть адрес электронной почты, чтобы заполнить количество строк для обработки. У меня есть электронная таблица со списком электронных писем, количество строк, которые можно отправить по электронной почте, регулярно меняется, поэтому я хотел бы подсчитать строки, которые можно отправить по электронной почте, и вместо того, чтобы вручную вводить «28» или что-то еще, я бы хотел, чтобы он автоматически находил это число: )

function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;  // First row of data to process
  var numRows = 28;  // Number of rows to process
  // Fetch the range of cells 
  var dataRange = sheet.getRange(startRow, 1, numRows, 4)
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (i in data) {
    var row = data[i];
    var emailAddress = row[0];  // First column
    var message = row[1];       // Second column
    var subject = "membership number"
    MailApp.sendEmail(emailAddress, subject, message);
  }
}

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

для подсчета адресов электронной почты в диапазоне, который вы можете использовать просто:

=COUNTIF(A:C, "*@*")

или правильным способом:

=ARRAYFORMULA(COUNTIF(ISEMAIL(A:C), TRUE))
0 голосов
/ 30 мая 2019

Возвращает текущее количество строк на листе независимо от содержимого.

var emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

var noOfRows = sheet.getMaxRows();
var dataRange = sheet.getRange(startRow, 1, noOfRows , 4)
var data = dataRange.getValues();
data.foreach((row)=>{
  if(emailRegex.test(row[0])){
    var emailAddress = row[0];
    var message = row[1];
    var subject = "membership number"
    MailApp.sendEmail(emailAddress, subject, message);
  }
});

https://developers.google.com/apps-script/reference/spreadsheet/sheet#getLastRow%28%29

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...