Google 스프레드 시트에 하루에 하나의 열로 설정된 모델이 있습니다. 실제와 예측을 모두 포함하며, 매일 예측을 실제와 바꾸기 위해 수식을 롤 포워드해야합니다. 나는 전체 열을 앞으로 굴릴 수는 없으며, 그 중 단지 한 부분 만 (위와 아래의 참조 번호는 변경되어서는 안됨).Google Apps Script : 수식을 기반으로 붙여 넣기 범위를 복사하는 방법은 무엇인가요?
매일이 작업을 수행하는 스크립트를 작성하려고했지만 getRange
동적 범위를 참조하는 방법을 모르겠습니다.
function rollColumn() {
var ss2 = SpreadsheetApp.openById('<ID redacted>');
ss2.getRange("=index(Model!$7:$7,,match(today()-2,Model!$4:$4,0)):index(Model!$168:$168,,match(today()-2,Model!$4:$4,0))").copyTo(ss2.getRange("=index(Model!$7:$7,,match(today()-1,Model!$4:$4,0)):index(Model!$168:$168,,match(today()-1,Model!$4:$4,0))"))
};
가 관련 범위를 기준으로 INDEX
공식은 한, 일 (필자는 스프레드 시트를 테스트 한) : 이것은 내 시도이다. 그러나 명확하게 getRange
은 수식을 입력으로 허용하지 않습니다. 또한 Google 스프레드 시트에서는 수식을 사용하여 명명 된 범위를 만들 수 없습니다 (Excel에서이 문제를 해결하는 방법).
누군가가 GAS로이 기능을 재현하는 데 도움을 줄 수 있습니까?
이 내가 스택 오버플로에서 발견 한 가장 가까운 기존의 질문,하지만 난 그것이 작동되도록 할 수 없었던 : Google Apps Script performing Index & Match function between two separate Google Sheets
감사합니다!
그것은 당신이 로그를 사용하여 시도 여부에 자바 스크립트를 알고 만있는 경우 명확하지 않다. 현재 코드의 주된 문제는 스크립트에서 Google 스프레드 시트 수식을 사용하려고하는 것입니다. 그러나 Google 스프레드 시트 공식은 Google 스프레드 시트에서만 작성됩니다. 색인과 일치하는 샘플 Google 시트 링크를 보내주십시오. 그런 다음 그 행동을 복제하는 코드를 제공하고 도움을 제공 할 것입니다. –
빠른 답장을 보내 주신 앙투안 (Antoine)에게 감사드립니다. 다음은 간단한 샘플 시트입니다. https://docs.google.com/spreadsheets/d/1BU2rhAZGOLYgzgSAdEz4fJkxEcPRpwl_TZ1SR5F0y08/edit?usp=sharing 요점은 전날 데이터가 오면이 경우 복사해야한다는 것입니다. 'M4 : M6'을'N4 : N6'으로 바꾼다 나는 오늘의 날짜를 기준으로 그 범위에 어떻게 도달 할 것인가를 보여주는 노란색의 수식을 포함 시켰지만, 스크립트 해결책이 완전히 달라질 수 있다고 확신한다. 고마워. 고마워. 다시! –
링크를 제공해 주셔서 감사하지만 수식을 볼 수 없습니다. 공유 설정을 [웹상에서 공개] (https://support.google.com/drive/answer/2494822?co=GENIE.Platform%3DDesktop&hl=ko)로 변경할 수 있습니까? 당신의 질문을 보는 모든 사람들이 그것을 볼 수 있도록? –