Apps Script를 사용하여 셀의 값을 다른 셀로 복사하려고합니다. 소스 셀의 값은 쿼리 수식으로 생성됩니다.
=sum(iferror(query(ExportDrop!$A$2:$AJ,"select AJ where A matches '" & join("|",C$3:C) & "' AND AH = '" & A3 & "'",0),0))
소스 시트는이 쿼리 수식의 출력을 성공적이고 올바르게 표시합니다.
스크립트 내에서 작업 할 때 다음 코드는 시트를 볼 때와 다른 영 (0)을 생성합니다.
cellval = sourceSheet.getRange("B3").getValue();
SpreadsheetApp.getUi().alert(cellval); return;
setActiveRangeSelection (), copyValuesToRange (), copyTo (, {contentsOnly : true}) 등을 사용하여 getDisplayValue (), getValue (), getValues () (범위 참조에 해당 변경 포함)를 시도했습니다.
Google 스프레드 시트의 쿼리 기능의 버그입니까? 쿼리 기능이 포함 된 원본 시트를 PDF로 인쇄 할 때도 같은 일이 발생하기 때문에 궁금합니다. 결과 PDF는 0 값을 표시합니다. 그래서 그것은 내 스크립트의 문제가 아니라 소스 시트의 문제와 더 비슷합니다. 인쇄 된 "간단한"쿼리 공식 시트의 테스트는 잘 작동합니다.
내가 도대체 뭘 잘못하고있는 겁니까?
편집하다:
예 : https://docs.google.com/spreadsheets/d/1eHHV-TJhC_aVNNLspx3suKhrthtcjRfIcZR0dWdTvOI
Sheet2를 인쇄 해보십시오. 첫 번째 PDF "미리보기"는 괜찮아 보이지만 내보내기 후 PDF를 열면 합계 값이 모두 0입니다.
답변 : Google 스프레드 시트 쿼리 기능에는 손상되거나 불완전한 기능이 광고되었습니다.
예 : matches
로컬에서 실행되고 Google 서버에서 동기화 format
되지 않아 동기화 문제가 발생 하지 않습니다. 부울은 전혀 작동하지 않습니다.
해결 방법 : OR
대신 일련의matches
=sum(iferror(query(Sheet1!$A$2:C,"select C where (A = " &join(" OR A = ",filter(C$1:C,C$1:C<>"")) & ") AND B = '" & A1 & "'",0),0))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다