Google 스프레드시트에서 숫자를 시간으로 변환
P粉575055974
2023-09-04 10:51:21
<p>날짜, 시작 시간, 점심 시간, 종료 시간, 하루 근무 시간을 입력하고 마지막으로 한 달 동안 근무한 시간을 합산할 수 있는 자동화된 Google 스프레드시트 스프레드시트를 만들려고 합니다. . Google 스프레드시트에서 작업 일정을 만드는 것은 그리 어렵지 않지만 몇 가지 개선하고 싶은 부분이 있습니다. 그 중 하나는 스프레드시트가 해당 날짜의 근무 시간을 올바르게 계산하더라도 총계를 8시간 22분이 아닌 오후 8시 22분과 같은 시계 시간으로 표시한다는 것입니다. 또 다른 문제는 이 형식을 사용하면 시간 형식으로 시간을 써야 한다는 점인데, 이는 지루한 작업입니다. 셀에 3~4개의 숫자를 입력하고 이를 시간으로 변환하고 싶습니다. </p>
<p>이를 달성하는 유일한 방법은 Google Apps Script를 사용하는 것이라는 것을 알게 되었기 때문에 제가 찾은 유일한 튜토리얼을 따랐지만 코드가 전혀 작동하지 않았습니다. 스크립트 도구는 JavaScript를 사용하는데, After Effects 표현식에서 매일 사용하기 때문에 어느 정도 익숙하지만 전문가는 아닙니다. 누구든지 이 덜 어려운 프로젝트를 도와줄 수 있다면 매우 감사하겠습니다. 물론, 내가 하고 있는 일에 대해 누군가가 더 나은 대안을 가지고 있다면 나는 그것을 다른 방향으로 바꾸는 데 전적으로 열려 있습니다. 매우 감사합니다. 튜토리얼을 기반으로 생성한 코드를 붙여넣은 다음 튜토리얼 자체에 대한 링크를 붙여넣겠습니다. </p>
<pre class="brush:php;toolbar:false;">var COLUMN_TO_CHECK = 3;
var SHEET_NAME = "시트1";;
함수 onEdit(e){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
if(sheet.getName() === SHEET_NAME){
var selectedCell = sheet.getActiveCell();
selectedCell.setNumberFormat("@");
if(selectedCell.getColumn() === COLUMN_TO_CHECK){
var cellValue = selectedCell.getValue();
var time = cellValue.substr(0,2)+":"+cellValue.substr(cellValue.lenght - 2);
selectedCell.setValue(시간);
selectedCell.setNumberFormat("hh:mm");
}
}
}</pre>
<p>7번째 줄에서 오류가 발생했습니다: var sheet = ss.getActiveSheet();. 디버거는 변수 <strong>ss</strong>를 호출합니다. </p>
<p>튜토리얼에서 제가 발견한 한 가지 문제는 주요 코드와 단계별 코드 사이에 불일치가 있고 일부 코드 줄도 건너뛴다는 것입니다. 이것이 내 코드가 작동하지 않는 이유일 수 있습니다. 튜토리얼을 따랐을 때 추천 코드를 정확하게 복사하려고 시도하다가 막다른 골목에 이르렀습니다. </p>
<p>https://yagisanatode.com/2018/06/02/google-apps-script-how-to-automatically-generate-a-time-from-a-four-digit-24-hour-time- -google-sheets/</p>
저는 여기서 인용한 기사의 저자입니다. 나는 이것을 주석에 추가할 만큼 StackOverflow를 자주 사용하지 않습니다. 여기서는 그렇게 하는 것이 선호된다고 생각합니다.
ss
变量引用的是活动电子表格。这是与脚本绑定的电子表格。因为我们使用了onEdit()
트리거에 유의하세요. 따라서 이 스크립트는 Google 스프레드시트에 바인딩되어야 합니다. 귀하의 질문에 따르면 이미 이 작업을 수행하고 있는지 확실하지 않지만 이를 수행하기 위한 지침은 다음과 같습니다. Google 스프레드시트 메뉴에서 >확장 프로그램>Apps Script로 이동합니다.여기에 코드를 붙여넣고 프로젝트를 저장하세요. 시트 이름(탭의 이름)이 수정 및 업데이트하려는 시트 이름과 동일한지 확인하고 그에 따라
SHEET_NAME
변수를 업데이트하세요.이렇게 하면 발생한 오류가 해결될 것입니다.
참고 - 기본 코드 아래의 코드 분석은 코드의 일부 중요한 부분을 강조하기 위한 것일 뿐 단계별 가이드는 아닙니다. 이 점을 염두에 두고 게시물을 업데이트했으며 귀하의 의견에 감사드립니다.
질문을 오해했다면 사과드립니다.
Tanaike - 이 내용이 더 적절하다고 생각하시면 여기에 게시하는 대신 이 답글을 삭제하거나 댓글에 병합해 주시기 바랍니다.