구글링을 해보니 아래와 같은 수식이 검색됩니다.
=Query(VMERGE((ImportRange("0AozvCNI02VmpdG9MNkhIWk8xVWJ0XzVsLVN0aHdVUlE","Sheet1!A1:B")); ImportRange("0AozvCNI02VmpdG9MNkhIWk8xVWJ0XzVsLVN0aHdVUlE","Sheet2!A2:B")); "select * where Col1 is not null")
그래서 와 역시 구글 스프레드시트는 막강하구나 감탄을 하였습니다.
그런데 아래와 같이 #NAME? 라고 나옵니다.
VMERGE 함수가 없답니다.
관련해서 검색을 해봤습니다.
VMerge is a script installable from the script gallery of Google Spreadsheets. The =VMERGE() custom function provided by the library allows the vertical merging of ranges, arrays or data returned by other functions. |
스크립트 갤러리에서 설치해서 써야 한다고?
스크립트 갤러리는 없어졌자나?!!
부가기능 설치 및 사용하기(영어로만 제공) Google 문서, 스프레드시트, 프레젠테이션, 설문지에서 부가기능을 사용해 더 많은 작업을 할 수 있습니다. 문서, 스프레드시트, 프레젠테이션, 설문지 부가기능 스토어에서 어떤 부가기능을 사용할 수 있는지 확인하세요. 중요: Google 편집기 부가기능이 Chrome 웹 스토어에서 Google Workspace 마켓플레이스로 이전됩니다. 다음 사항을 참고하세요. 부가기능이 Google Workspace 마켓플레이스로 이전되지 않은 경우 설치할 수 없습니다. 이미 부가기능을 설치했으나 Google Workspace 마켓플레이스로 이전되지 않은 경우 계속 사용할 수는 있지만 부가기능을 제거하면 Google Workspace 마켓플레이스에서 다시 설치할 수 없습니다. 다른 사용자와 함께 문서에서 작업 중이며 Google Workspace 마켓플레이스로 이전되지 않은 부가기능을 사용 설정한 경우, 이전에 해당 부가기능을 설치한 사용자만 이를 사용할 수 있습니다. 이전에 설치한 부가기능 중 일부를 Google 문서, 스프레드시트, 프레젠테이션, 설문지에 다시 설치해야 할 수 있습니다. 부가기능 설치 방법 알아보기 개발자라면 부가기능을 Google Workspace 마켓플레이스로 이전하는 방법에 관해 알아보세요. |
그럼 그전에 설치한 사용자만 사용이 가능하다는 소리? 허걱!!
그래서 해당 함수를 검색해 봤습니다.
// Version 2.11 (Current version!)
function VMerge() { //Vertical Merge 2.11 - ahab facit 2010
var maxw=l=0;
var minw=Number.MAX_VALUE;
var al=arguments.length ;
for( i=0 ; i<al ; i++){
if( arguments[i].constructor == Array )l =arguments[i][0].length ;
else if (arguments[i].length!=0) l = 1 ; /* literal values count as array with a width of one cell, empty cells are ignored! */
maxw=l>maxw?l:maxw;
minw=l<minw?l:minw;
}
if( maxw==minw) { /* when largest width equals smallest width all are equal */
var s = new Array();
for( i=0 ; i<al ; i++){
if( arguments[i].constructor == Array ) s = s.concat( arguments[i].slice() )
else if (arguments[i].length!=0) s = s.concat( [[arguments[i]]] )
}
if ( s.length == 0 ) return null
else return s
}
else return "#N/A: All data ranges must be of equal width!"
}
출처 :: docs.google.com
역시 날고 기는 형님 선구자분들이 계시는군요
필요한 스크립트는 검색 실력만 있으면 프로그램 실력이 없어도 될 정도입니다.
이런 스크립트를 사용하길 꺼려 하신다면 아래 수식으로 하셔도 무방합니다.
=Query(
sort(
arrayformula(
{
ImportRange("1-zBxMIQKtCjCnwxBRnmw7WArGNuN-E2RVkHkGNbmL0E","시트1!A1:B");
ImportRange("1-zBxMIQKtCjCnwxBRnmw7WArGNuN-E2RVkHkGNbmL0E","시트2!A2:B")
}
),0,True
),
"select * where Col1 is not null"
)
결론
구글 스프레드시트에서 제공하는 함수만으로도 웬만한 기능은 다 구현이 가능하다.
댓글