320x100
'구글 스프레드시트에서 현재 날짜와 시간을 입력해야 하는 경우가 종종 있습니다. 그런 경우 today() 함수나 now() 함수를 사용해서 입력 하게 되면, 스프레드시트가 열릴 때마다 입력 값이 현재 값으로 리셋되기 때문에 날짜와 시간을 고정해야 하는 경우에는 사용할 수 없습니다.'
그럴 때 onEdit() 함수를 사용해서 필요한 날짜 / 시간을 입력 할 수 있는 사용자 함수 입니다.
1. 메뉴의 도구 > 스크립트 에디터 클릭 후,
2. Code.gs에 아래 스크립트를 복사 / 붙여넣기 한 다음 저장하고,
3. A행에 자료를 입력해보세요. E행에 현재 날짜 / 시간이 바로 기록되게 되고, 그 값은 스프레드시트가 다시 열려도 바뀌지 않습니다.
※ A컬럼(1)에 데이터를 입력하면, E행에 현재 날짜와 시간을 입력 해주는 함수입니다.
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSheet();
var currentCell = ss.getActiveCell();
if( currentCell.getColumn() == 1 ) {
var nextCell = currentCell.offset(0, 4);
var newDate = Utilities.formatDate(new Date(),"GMT+09:00", "MM/dd/yyyy HH:MM:ss");
nextCell.setValue(newDate);
}
}
조금 응용해보면 아래와 같이 B행에 주문이 들어오면, 현재 시간을 C행에 기록해줍니다.
function onEdit(e)
{
var sheet = e.source.getActiveSheet();
// 스크립트 실행 시트 '주문자료'
if (sheet.getName() == "주문자료")
{
var actRng = sheet.getActiveRange();
var editColumn = actRng.getColumn();
var rowIndex = actRng.getRowIndex();
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf("날짜") + 1;
var orderCol = headers[0].indexOf("주문") + 1;
if (dateCol > 0 && rowIndex > 1 && editColumn == orderCol)
{
sheet.getRange(rowIndex, dateCol)
.setValue(Utilities.formatDate(new Date(), "GMT+09:00", "yyyy-MM-dd HH:mm:ss"));
}
}
}
♣ 이번 시간에는 구글 스프레드시트에서 현재 날짜와 시간을 입력해야 하는 경우, 고정된 날짜와 시간을 한 번에 입력하는 방법을 알아보았습니다~!
728x90
'구글 오피스 > 스프레드시트' 카테고리의 다른 글
구글스프레드시트 크롤링, 스크랩핑 하기 (8) | 2024.09.14 |
---|---|
구글 스프레드시트 찾기 및 바꾸기, 전체 시트 (1) | 2024.09.06 |
구글 시트 html 메일 발송 매크로(앱스 스크립트) (0) | 2024.04.14 |
구글 파이낸스 주식, 기간 별 주가 거래량 변동 차트 만들기(구글 스프레드시트 차트) (1) | 2021.06.23 |
구글 파이낸스 함수를 이용한 주식 포트폴리오 관리, 주식 투자 (0) | 2021.03.24 |