값을 가져올 때 시트에 날짜 스탬프를 자동으로 추가하는 Google 스프레드 시트 / 앱 스크립트

제이슨

안녕하세요 저는 하루가 끝날 때 값을 다른 시트로 복사하고 값의 로그를 유지하기 위해 날짜 기록을 추가하는 일부 Apps 스크립트가있는 Google 시트가 있지만 데이터가 표시되면 단일 행에 날짜 기록 만 추가합니다. m 복사는 모든 행 (약 30 개)에 걸쳐 있어야합니다 (괜찮아 보이게 할 수 있다면 어느 시점에서 차트에 표시되도록 계획하십시오). 내가 생각해 낸 해결 방법은 열 BI의 데이터가있는 행에 날짜 스탬프를 추가하는 다른 스크립트를 추가하는 것이 었습니다.하지만 그러한 스크립트에 대한 샘플 코드를 찾을 수 없었습니다 (아마도 잘못된 용어를 검색했습니다). onEdit 스크립트이지만 "사용자"가 셀을 편집 할 때만 트리거되고 다른 스크립트가 값에 붙여 넣을 때 트리거되지 않습니다.

그래서 두 가지 중 하나를 수행하는 방법을 찾고 있습니다. 첫 번째 스크립트를 편집하여 값을 복사 할 때 복사 된 모든 행에 대해 A 열에 날짜 기록을 추가하거나 가져 오는 데이터와 함께 작동하는 onEdit 유형 트리거를 추가합니다.

내 값을 복사하는 데 사용하는 스크립트 :

function dailyLog() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = ss.getSheetByName('Debug2');
  var logSheet = ss.getSheetByName('Log');
  var lastRow = logSheet.getLastRow();
  logSheet.getRange(lastRow + 1, 1).setValue(new Date());  // insert timestamp
  var range = sourceSheet.getDataRange();
  range.copyTo(logSheet.getRange(lastRow + 1, 2), {contentsOnly: true});
}

내 필요에 맞지 않는 onEdit를 사용하는 스크립트 :

function onEdit(event) {
  var eventRange = event.range;
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = ss.getSheetByName('Log');  
  if (eventRange.getColumn() == 2) { // 2 == column B
    var columnARange = sourceSheet.getRange(eventRange.getRow(), 1, eventRange.getNumRows(), 1);
    var values = columnARange.getValues();
    for (var i = 0; i < values.length; i++) {
       values[i][0] = new Date();
    }
    columnARange.setValues(values);
  }
}

요청이 있으면 샘플 시트를 만들 수 있습니다.

고마워, 제이슨

쿠퍼

DailyLog에 대해 시도하십시오.

이것은 srcsh에 헤더 행이 없다고 가정합니다.

function dailyLog() {
  var ss=SpreadsheetApp.getActive();
  var srcsh=ss.getSheetByName('Debug2');
  var logsh=ss.getSheetByName('Log');
  var rg=srcsh.getDataRange();//if you have header rows this needs to change
  var vA=rg.getValues();
  vA.forEach(function(r){
    r.unshift(Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM/dd/yyyy HH:mm:ss"));
    logsh.appendRow(r);
  });  
}

나는 당신이 onEdit ()로하려는 것은 일일 로그 함수에서 얻지 못한 날짜를 추가하는 것이라고 생각하지만 이제는 onEdit ()가 더 이상 필요하지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관