CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·일본산당 ·방탄소년당 ·자전거당 ·소시당 ·개발한당 ·야구당 ·안드로메당 ·이륜차당 ·골프당 ·퐁당퐁당 ·노젓는당 ·AI당 ·스팀한당 ·물고기당 ·맛있겠당 ·찰칵찍당 ·총쏜당 ·캠핑간당 ·패스오브엑자일당 ·IoT당 ·이브한당 ·창업한당 ·심는당 ·바다건너당 ·나스당 ·소셜게임한당 ·클다방 ·사과시계당 ·키보드당 ·소리당 ·리눅서당 ·육아당 ·콘솔한당 ·가상화폐당 ·라즈베리파이당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·배드민턴당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·패셔니앙 ·도시어부당 ·FM한당 ·포뮬러당 ·젬워한당 ·걸그룹당 ·안경쓴당 ·차턴당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·그림그린당 ·소풍간당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·파도탄당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

개발한당

질문 [구글 앱스 스크립트] 날짜로 데이터 불러오기 스크립트 관련 2

2021-04-25 22:20:29 179.♡.37.220
우유가좋아

안녕하세요..

취미로 구글 스프레드시트 앱스 스크립트롤 공부하고 있습니다.

정말 초보이고 유투브로 하나씩 보면서 익히고 있는 중입니다.

간단한 일기를 쓸 수 있는 양식을 한번 만들어 보고 있는데요.

양식 시트와 데이터 시트를 구분하여 매크로 버튼을 활용하여 데이터를 입력 및 출력을 해보려고 하는데...

양식 시트에 제가 입력한 원하는 날짜로 데이터 시트에서 정보를 불러오고 싶은데 어떻게 수정을 해야할지 막막합니다.

스샷과 스크립트를 첨부하니 고수 분들의 아낌없는 조언 구걸 합니다...ㅜㅜ

?????????? 2021-04-25 09.11.14.png


Form1(양식)시트와 Data 시트로 나뉘어져 있습니다.

Data 시트에는 Form1시트 데이터가 저장 됩니다.

?????????? 2021-04-25 09.13.51.png


앱스 스크립트 코드는 다음과 같습니다.

// Save Data

function submitData() {

 

 var SPREADSHEET_NAME = "Data";

 var SEARCH_COL_IDX = 0;

 var RETURN_COL_IDX = 0;

    

  var ss        = SpreadsheetApp.getActiveSpreadsheet();

  var formSS    = ss.getSheetByName("Form1"); //Form Sheet

  var datasheet = ss.getSheetByName("Data"); //Data Sheet

  

  var str       = formSS.getRange("C8").getValue();

  var values    = ss.getSheetByName(SPREADSHEET_NAME).getDataRange().getValues();

  for (var i = 0; i < values.length; i++) {

    var row = values[i];

    if (row[SEARCH_COL_IDX] != str) {

        //SpreadsheetApp.getUi().alert(' "Emp #' + formSS.getRange("C8").getValue() + '  "');

       // return row[RETURN_COL_IDX];

    //} else  {

     //Input Values

     var values1 = [[formSS.getRange("C8").getValue(),

                 formSS.getRange("C10").getValue(),

                 formSS.getRange("C12").getValue(),

                 formSS.getRange("C14").getValue()]];

   

     // Save New Data

     

     datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 4).setValues(values1);

     SpreadsheetApp.getUi().alert(' "New Data Saved - Emp #' + formSS.getRange("C8").getValue() +' "');

  

     formSS.getRange("C8").clear();

     formSS.getRange("C10").clear();

     formSS.getRange("C12").clear();

     formSS.getRange("C14").clear();

      return row[RETURN_COL_IDX];

    }

 

  }

}

//=========================================================

// Clear form

function clearCell() {

  var ss        = SpreadsheetApp.getActiveSpreadsheet();

  var formSS    = ss.getSheetByName("Form1"); //Form Sheet

  

    

  formSS.getRange("C8").clear();

  formSS.getRange("C10").clear();

  formSS.getRange("C12").clear();

  formSS.getRange("C14").clear();

  return true ;

  

}

//=====================================================================

var SEARCH_COL_IDX = 0;

var RETURN_COL_IDX = 0;

function searchStr() {

  

  var ss        = SpreadsheetApp.getActiveSpreadsheet();

  var formSS    = ss.getSheetByName("Form1"); //Form Sheet

  

  var str       = formSS.getRange("D4").getValue();

  var values    = ss.getSheetByName("Data").getDataRange().getValues();

  for (var i = 0; i < values.length; i++) {

    var row = values[i];

    if (row[SEARCH_COL_IDX] == str) {

     

      

      formSS.getRange("C8").setValue(row[0]) ;

      formSS.getRange("C10").setValue(row[1]);

      formSS.getRange("C12").setValue(row[2]);

      formSS.getRange("C14").setValue(row[3]);

      

      return row[RETURN_COL_IDX];

      

    }

  }

}

현재까지는 데이터 입력과 삭제 그리고 데이터를 불러오는 것 까지 이해하면서 작성을 했는데요(배꼈는데요...;;)

D4셀을 다른걸로 했을 때는 잘 불러오는데 날짜로 했을 때는 정보를 불러오지 못하더라구요...

저 수식을 어떻게 수정 해야 날짜를 불러올 수 있을까요?


우유가좋아 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [2]
마수리
IP 220.♡.127.239
04-26 2021-04-26 11:57:52
·
var str = formSS.getRange("D4").getValue();

D4에 데이터타입(포멧)이 날짜객체여서 저장이 안되고 있는 것으로 예상됩니다.

그래서 만약 우유가좋아님이 지금 계획하신대로 "2021년 4월 26일" 형태로만 저장하는걸 원하신다면

var str = formSS.getRange("D4").getDisplayValue();

getDisplayValue 메서드로 값을 가져오시면 됩니다.

---

그런데 만약 스프레드시트를 데이터베이스로 사용하시고 싶으시다면 일반적으로는 .getValue() 값에서 날짜형식 문자열로 변환해서 저장하는데 이부분은 나중에 한번 검토해보시면 될 것 같습니다.
우유가좋아
IP 179.♡.37.220
04-27 2021-04-27 00:09:22
·
@마수리님 댓글 남겨주셔서 정말 감사드립니다. 말씀하신대로 한번 시도해 보도록 하겠습니다 :)
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.