2017-09-09 6 views
0

Google 스프레드 시트를 처음 사용하여 다음 작업을 수행하려고 노력했습니다. 나는 2 개의 열을 가지고있다 : C는 시작 타임 코드를 포함하고 D는 종료 타임 코드를 포함한다. 세 번째 열 (F)에는 시작 시간 코드와 종료 시간 코드의 결과로 얻은 필름 큐의 길이가 포함됩니다. 타임 코드는 스크립트 결과이므로 결과가 포함 된 셀을 다른 형식으로 내보낼 수 없습니다. 그래서 열 F의 결과를 값으로 인쇄하는 네 번째 열을 만들려고합니다. 나는 그것을 할 수있는 작은 스크립트를 쓸 수 있었다.Google 스프레드 시트에서 스크립트 실행

function onEdit(e) { 
    var sheet = SpreadsheetApp.getActiveSpreadsheet() 
    var sheetName = sheet.getName(); 
    if (sheetName == "EP02" || sheetName == "EP01") { 
    var range = sheetName.getRange('F3:F100').activate(); 
    var r = sheetName.getActiveRange(); 
    if (r.getColumn() == 4) { 
     var col = r.getColumn(); 
     if (col >= 3 && col <= 100) { 
     sheetName.getRange(r.getRow(),5); 
     var values = range.getValues(); 
     } 
    } 
    } 
} 

:

function getRangeValuesEP01() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var range = ss.getSheetByName("EP01").getRange('F3:F100').activate(); 
var values = range.getValues(); 
return values; 
}; 
내가 C 또는 D의 타임 코드를 편집 할 때 일이다

, 그것은 자동으로 실행되지 않습니다

그래서 난이 시도

: 그것은 다음과 같습니다 그것은 나에게 어떤 오류도주지 않지만 아무것도하지 않습니다. 그것은 아마도 실제로 이해가되지 않습니다. 내가 말했듯이, 나는 그 스크립트에 초보자입니다. 그리고 C와 D 두 열 모두에서 편집을 찾아야한다는 사실은 고려하지 않았습니다. C 또는 D가 변경되면 이미 결과를 업데이트하므로 F를 살펴 보는 것만으로 충분합니까?

누군가 나를 올바른 방향으로 밀어 넣을 수 있습니까?

답변

0

읽기 댓글 :

function myonEdit(e) 
{ 
    var sheet=e.source.getActiveSpreadsheet(); 
    var sheetName=sheet.getName(); 
    if(sheetName=="EP02" || sheetName=="EP01") 
    { 
    var r=sheet.getRange('F3:F100');//I made changes up to this point but the next line makes no sense so rethink it in light of changes 
    if (r.getColumn()==4)//This line doesn't make any sense because you set range to F3:F100 F is column 6 so it will never be 4 
    { 
     var col= r.getColumn(); 
     if (col >= 3 && col <= 100) 
     { 
     sheetName.getRange(r.getRow(),5); 
     var values = range.getValues(); 
     } 
    } 
    } 
} 
관련 문제