여기 상황이 있습니다. 두 개의 시트가있는 스프레드 시트가 있습니다 : 'Sheet1'및 'Sheet2'. 둘 다 54 개의 행을 가진 세 개의 데이터 열을 가지고 있습니다. 하나의 EmbeddedChart에서 두 시트의 범위를 추가하려고합니다.다른 시트의 범위를 EmbeddedChart에 추가
이function testplot(){
var s = SpreadsheetApp.getActiveSpreadsheet();
var degrees = s.getSheetByName('Sheet1').getRange('A1:A54'); //domain
var range1 = s.getSheetByName('Sheet1').getRange('B1:B54'); //header:'B1 SinA'
var range2 = s.getSheetByName('Sheet1').getRange('C1:C54'); //header:'C1 CosA'
var range3 = s.getSheetByName('Sheet2').getRange('B1:B54'); //header:'B2 SinA'
var range4 = s.getSheetByName('Sheet2').getRange('C1:C54'); //header:'C2 CosA'
var chartsheet = s.getActiveSheet();
var chartbuilder = chartsheet.newChart()
.setChartType(Charts.ChartType.LINE)
.addRange(degrees)
.addRange(range1)
.addRange(range2)
.addRange(range3)
.addRange(range4)
.setOption('useFirstColumnAsDomain', true)
.setPosition(5,2,0,0)
.setOption('height',300)
.setOption('width',900)
.setOption('theme','maximized')
.setOption('pointSize',2)
.setOption('curveType','function')
var chart = chartbuilder.build();
chartsheet.insertChart(chart);
}
결과 차트 전용 'Sheet1의'범위을 보여줍니다 : 여기 내 코드입니다
이 차트는 모든 범위를 수동으로 추가 할 때 모습입니다 :
내가 뭘 잘못하고 있니?
미리 도움 주셔서 감사합니다.
답장을 보내 주셔서 감사합니다. @EricKoleda, 내가 뭘 분명히 놓치지 않았 음을 알았습니다. 해결 방법은 맞지만 실제 스프레드 시트에는 많은 시트가 있으며 동일한 범위의 모든 범위를 계획하고 있습니다. 모두 수동으로 전환하는 데 시간이 걸릴 것입니다. 이것에 시간을 할애 할 가치가 있습니까, 아니면 수정이 빨리 될 것이라고 가정하는 것이 합리적입니까? – Cronopio
솔직히이 버그가 해결되기까지는 다소 시간이 걸릴 수 있습니다. 수식을 사용하여 모든 데이터를 하나의 시트로 병합 한 다음 그로부터 차트를 작성하는 것과 같은 다른 잠재적 인 해결 방법이 있습니다. –
나는 비슷한 해결 방법을 찾고 있었지만 정직한 답변을 많이 주셔서 감사합니다! :) 그냥 순수한 호기심에서 : 차트 GUI를 사용하여 동일한 작업을 수동으로 수행 할 수 있습니다. 앱 스크립트 구현과의 차이점은 무엇입니까? – Cronopio