새소식

반응형
구글 스프레드시트 & 엑셀/앱스크립트

구글시트에서 셀병합을 일괄 해제 하는 방법 (필터 가능)

  • -
반응형

 

구글시트에서 셀병합을 일괄로 해제하여야 하는 경우가 있을 수 잇다.

 

셀병합이 되어있는 셀이 있으면 필터가 걸리지 않기 때문에,

 

셀병합을 해제해야하는데 데이터가 많은 경우 일일이 찾기란 쉬운일이 아니다.

 

아래와 같이 앱스크립트를 적용하면 쉽게 가능하다.

 

1. 영역없이 시트내 모든 셀병합을 해제할때

 

function 해제_병합된_셀() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getDataRange();
  var mergedRanges = range.getMergedRanges();

  // 모든 병합된 범위를 순회하면서 각각의 셀을 분리합니다.
  for (var i = 0; i < mergedRanges.length; i++) {
    mergedRanges[i].breakApart();
  }
}

 

2. 영역을 지정하고 시트내 지정한 영역만 셀병합을 해제할때

 

function 해제_병합된_셀() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var selectedRange = sheet.getActiveRange();
  var mergedRanges = selectedRange.getMergedRanges();

  // 선택한 영역 내의 병합된 범위를 순회하면서 각각의 셀을 분리합니다.
  for (var i = 0; i < mergedRanges.length; i++) {
    mergedRanges[i].breakApart();
  }
}

 

 

2가지의 차이는 범위를 getactiveRange로 할지 getDataRange로 할지의 차이정도이다.

 

일부 셀병합을 클릭하면 되지 않느냐 할수 있는데, 하나씩 하면 되긴된다. 얼마나 노가다냐지만~!

몇개 없으면 그냥 셀병합 누르는게 낳다. 

 

결과는 이렇게 된다.

 

 

깔끔하게 셀병합이 해제되고 해제된 셀의 값은 좌측상단에 고정된다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.