Получение суммарной длительности определенной ячейки на основе столбца пользователя - PullRequest
0 голосов
/ 03 июня 2019

В настоящее время я работаю над инструментом утилизации, в котором мне нужно получить продолжительность времени от первой отметки времени до следующей.

Я уже создал цикл для получения этой продолжительности. Тем не менее, у меня возникают проблемы с получением правильной логики.

function Duration() {
  var spreadsheet = SpreadsheetApp.getActive();
  var validation_file = SpreadsheetApp.openById("some id here");
  var logged_act_sheet = validation_file.getSheetByName("Logged 
Activites");


  // Get the last row with data for the whole sheet.
  var numRows = logged_act_sheet.getLastRow();

  for(a=2; a < numRows; a++){
    var ldap = logged_act_sheet.getRange('C' + a).getValue();
    var ldapCount = a;
    for(b=ldapCount; b < numRows; b++){ 
    var ldap2 = logged_act_sheet.getRange('C' + b).getValue();
      if(ldap == ldap2 ){
        logged_act_sheet.getRange('D' + a).setFormula("=SUM(A" + b + 
"-A" + a + ")");
        }
    }
  }

};

Метка времени находится в столбце A Имя пользователя в столбце C Продолжительность в столбце D Я ожидаю, что результат будет: Если C2 = пользователь 1 и C4 = пользователь 1, то D2 должен быть "= A4-A2" Если C3 = пользователь 2 и C5 = пользователь 2, то D3 должно быть "= A5-A3". Смотрите пример данных ниже:

here's the sample data

Это означает, что каждый раз, когда я зацикливаюсь в каждой строке, следующая строка с тем же именем пользователя из активной строки будет являться наименьшей, а вычитаемая будет активной строкой.

1 Ответ

0 голосов
/ 03 июня 2019

Только что решил свою проблему.Мне просто нужно добавить +1 на ldapCount.var ldapCount = a + 1;

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