Google 스프레드 시트-상자가 넓은 범위의 특정 셀에 배치 될 때 하나의 확인란 만 선택할 수 있습니다.

라시 커스 투아

한 번에 6 개의 체크 박스 중 하나만 선택할 수 있도록 Google 스프레드 시트 용 간단한 스크립트가 필요합니다. 최종 사용자는 확인란을 선택하고 선택 취소하기 전에 선택한 항목을 보거나 새 항목을 선택할 때 FALSE를 확인해야합니다. 같은 초보자에게 "문제"는 체크 박스가 비대칭 적으로 위치한다는 것입니다. D14, D30, J14, J32, P14 및 P30 셀에 있습니다. 또한이 시트를 여러 번 복제해야하므로 스크립트는 동일한 방식으로 복제 한 모든 항목에서 작동해야합니다. 셀은 항상 모든 시트에서이 6 개의 셀이됩니다.

이 주제에 대한 많은 게시물을 보았고 성공하지 못한 채 문제에 예제 스크립트를 사용하려고 시도 했으므로 내 스프레드 시트에 대해 구체적으로 묻고 싶습니다.

다음은 확인란 위치가있는 내 시트의 초안 버전에 대한 링크입니다.

https://docs.google.com/spreadsheets/d/1PtxetS-Gyv7LyMD19yF3NuWZ24RvqUjyK42SmQTttiU/edit?usp=sharing

감사합니다, 라씨

Carlesgg97

다음을 수행하는 onEdit()트리거를 설정할 수 있습니다 .

  1. 편집 된 셀이 확인란인지 확인합니다 (범위 확인).

  2. 셀의 새 값이 TRUE(확인란이 활성화 됨)인지 확인합니다.

  3. 두 경우 12적용 동일한 시트에 정의 된 나머지 체크 박스를 설정 해제.

스크립트 실행이 약간 느릴 수 있으며 (Google Apps Script 제한으로 인해) 스크립트는 통합 문서의 각 시트에 대해 독립적으로 작동합니다.

암호

var CHECKBOX_CELLS = ["D14", "J14", "P14", "D30", "J32", "P30"];

function onEdit(e) {
  var range = e.range;

  var checkboxIndex = CHECKBOX_CELLS.indexOf(range.getA1Notation());

  if (checkboxIndex > -1 && range.getValue() == true) {
    var sheet = range.getSheet();

    for (var i=0; i<CHECKBOX_CELLS.length; i++) {
      if (i==checkboxIndex) continue;

      sheet.getRange(CHECKBOX_CELLS[i]).setValue(false);
    }
  }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관