2016-08-12 1 views
0

시트 내에 데이터가 포함 된 셀의 데이터 만 추출하려는 두 개의 명명 된 범위가 있습니다. 지금은 빈 셀을 배열로 끌어들이는 방식입니다. 시트에서 명명 된 범위를 사용하여 getActiveRange와 같은 작업을 수행하는 방법이 있습니까?명명 된 범위의 App 스크립트 배열

이 시점에서 무엇을 시도해야할지 모르겠습니다.

+0

getRange (....). getValues ​​()를 사용하고 배열을 필터링하여 빈 필드를 제거 할 수 있습니다. –

답변

0

기본적으로 두 가지 기본 방법이 있습니다.

1) .getValues()을 사용하여 2D 값 배열을 가져옵니다. 그런 다음 for() 루프와 if(){}else{} 문을 결합하여 빈 값을 확인합니다. 값이 비어 있지 않으면 새 배열에 .push()을 입력합니다.

2) .getValues()을 사용하여 2D 값 배열을 가져옵니다. 어레이를 청소하려면 .filter()을 사용하십시오. .filter()은 새 배열을 반환하므로 var으로 설정해야합니다. 그런 다음 다른 배열처럼 var을 사용할 수 있습니다. .filter()()에있는 조건을 사용하거나 조작을 수행 한 다음 해당 기능을 .filter()으로 전달하는 기능을 설정할 수 있습니다. .filter(myFunction).

가이드는 여기에 옵션 2에 포함 : http://www.w3schools.com/jsref/jsref_filter.asp

같은 광경을 통하거나 여기에 유래에 for() { 루프를 사용하여 적절한 반복에 대한 자세한 안내도 찾아보실 수 있습니다.

+0

고마워요! 열의 데이터 길이가 열마다 다를 수있는 경우 데이터가있는 각 열에 대해 배열을 만들고 열을 반복 한 다음 ncolumn으로 이동하는 것이 모두 동일한 수의 행을 갖는 것이 좋습니다 더 쉬울 것이지만 나는 이것을 분명히 복잡하게하려고 노력하고있다. – Rockn

+0

데이터는 어떻게 수집됩니까? 데이터가 행 단위 또는 열 단위로 그룹화되어 있습니까? 데이터 처리를위한 가장 간단한 방법은 동일한 주제에 대한 각 데이터 포인트를 컬럼으로, 각 주제에 대해 데이터가 새로운 행으로 만드는 것입니다. – MasterCrander

+0

예를 들어 양식 제출을하고 있다고 가정 해 봅시다. 각각의 새로운 제출은 각 행에 맞는 응답을 가진 새로운 행이됩니다. 제출물 덕분에 가장 많이 채워진 열이있을 것이므로 가장 많이 채워진 열을 반복하고 그 행의 다른 셀을 'i' 행의'n '열을 호출하여 참조 할 수 있습니다. – MasterCrander

관련 문제