Отслеживание входа в пустую строку - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть электронная таблица, в которой перечислены клиенты нашей компании (форматирован A21: A250, но данные есть только у A21: A106).То, что я хотел бы сделать, это подсчитать новых клиентов, когда запись будет сделана в следующую пустую строку.Я пробовал несколько разных методов, но безрезультатно.Вот то, над чем я работал.

Я пробовал формулы в самом листе (COUNTIF не пустой).Это работает так, как должно, но проблема в том, что мне нужно собирать новых клиентов по месяцам (столбцы после A - по месяцам).Я создал еще одну электронную таблицу, в которой есть кнопка, которую я нажимаю один раз в месяц, чтобы импортировать данные, таким образом фиксируя, какие цифры были в тот день.

function newCustomers() {
  ss = SpreadsheetApp.getActiveSpreadsheet();
  sourceSheet = ss.getSheetByName('BACKLOG');
  var lrow = sourceSheet.getLastRow();
  var range = sourceSheet.getRange(21, 1, lrow, 1);
  var data = range.getValues();
  var countNew = 0;

  for (var i=0; i<data.length; i++) {
    if (data[i][0] !== null) {
    countNew++
   }
 }
   Logger.log('New Customers' + countNew)
}

Приведенный выше код работает, но сообщает 250 (последний пробел)столбец в диапазоне) в журнале каждый раз, когда он запускается.Как я могу изменить это, чтобы подсчитывать только те ячейки в столбце А, в которые не введены данные?

1 Ответ

0 голосов
/ 12 февраля 2019

Попробуйте это:

function newCustomers() {
  var ss=SpreadsheetApp.getActive();
  var srcsh=ss.getSheetByName('BACKLOG');
  var startrow=21;
  var rg=srcsh.getRange(startrow, 1, srcsh.getLastRow()-startrow + 1, 1);
  var dA=rg.getValues();
  var count=0;
  for (var i=0;i<dA.length;i++) {
    if(dA[i][0] && dA[i][0].length>0) {
      count++;
    }
  } 
  var html=Utilities.formatString('Count: %s', count);
  SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html),'Count');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...