앱스 스크립트 공부를 구구컬리지 박용님의 'Apps Script로 시작하는 프로그래밍 입문' 튜토리얼 재생목록으로 시작하고 4일만에 실습 완료했습니다! '먹은 날과 안먹은 날' 광고 문구처럼 이 튜토리얼 재생목록을 실습하기 전과 실습한 후의 차이는 자신감과 기대감의 차이로 느껴집니다!! 이제 다른 앱스 스크립트 자료들을 찾아 봐도 될 자신감을 갖고 익히면서 제가 일하기 편하도록 맘껏 활용해 보도록 쉽고 유익한 강의 만들어 주셔서 감사합니다 🙂
@pangol753 ай бұрын
이렇게 자세하고 따듯한 글 남겨주셔서 저야말로 감사드립니다. 리뷰글 보고 다시 영상을 제작해야겠다는 힘을 받았습니다. 감사합니다 :)
@joywins2dois2be433 ай бұрын
앱스스크립트에서 이메일 발송이 이렇게 쉽게 되니 너무 좋네요! 저는 이메일 발송을 위해 개발 공부를 따로 해야 하나 메일 발송 서버는 또 얼마나 복잡할까 생각만 해도 머리가 무거워지는데 넘 좋구요🙂 계속 정주행하면서 앱스스크립트로 이메일 보낼 때 이메일 양식도 좀 폼 나게 보낼 수 있는 방법 찾으면 진짜 고민할 게 없을 거 같아요!! 유익한 영상 감사합니다!!!
@pangol753 ай бұрын
@@joywins2dois2be43 앱스스크립트 장점이 서버를 구성할 필요가 없다는 점입니다 ^^
@joywins2dois2be433 ай бұрын
'Apps Script로 시작하는 프로그래밍 입문' 플레이리스트 시작합니다! 열심히 따라 하겠습니다!! 유익한 강의 올려주셔서 감사합니다!!!
@pangol753 ай бұрын
@@joywins2dois2be43 화이팅! :)
@ycs92204 ай бұрын
안녕하세요 혹시 앱스 스크립트를 배우는데 있어서 어느 정도 실무에 적용시키려 얼마 정도의 기간이 걸린다고 생각하실까요?
@pangol754 ай бұрын
@@ycs9220 경우에 따라 다르겠지만, 간단한 목표를 잡으신다면 한달안에 가능하실 것 같아요^^
@ycs92204 ай бұрын
구글시트에서 query함수를 사용할줄알면 초보는 벗어났다고 볼수있을까요?
@pangol754 ай бұрын
@@ycs9220 네 당연하죠:)
@둘기엔지니어5 ай бұрын
함수와 함수간의 변수 저장 및 불러오기는 안될까요?
@pangol755 ай бұрын
@@둘기엔지니어 함수와 함수 사이는 불가능하고 리턴해서 결과를 다른 함수로 전달하는 방식을 쓰셔야해요~ 아니면 클래스를 이용하는 방법이 있습니다~
@둘기엔지니어5 ай бұрын
감사합니다.
@Godungkitty7 ай бұрын
구글 스프레드 시트 열 때 원하는 시트가 열리게 할 수 없나요? 예를 들어, 올해 3월부터 대장을 만들었는데 지금 7월이라 7월 시트가 먼저 떴으면 좋겠거든요 그런데 매번 3월 시트가 가장 먼저 떠요
@pangol757 ай бұрын
스프레드시트는 가장 앞에 있는 시트가 열리도록 되어 있어요. 가장 쉬운 방법은 7월 시트를 맨 앞쪽에 배치하는 겁니다 :)
@pangol757 ай бұрын
어려운방법! 구글 스프레드시트의 URL은 각 시트마다 고유한 ID를 포함합니다. 이를 활용하여 특정 시트를 기본으로 열리도록 할 수 있습니다. 시트 ID 찾기: 원하는 시트로 이동합니다. 브라우저 주소창에 나타나는 URL을 확인합니다. 예를 들어, docs.google.com/spreadsheets/d/스프레드시트_ID/edit#gid=시트_ID 형태입니다. 이 URL을 저장하거나 즐겨찾기에 추가하면, 해당 시트가 기본으로 열리게 됩니다. 이 방법을 사용하면 특정 시트를 기본으로 열리는 것처럼 사용할 수 있습니다. 직접적인 설정 옵션은 아니지만, URL을 활용하면 특정 시트를 쉽게 접근할 수 있습니다.
@Godungkitty7 ай бұрын
@@pangol75 친절한 설명 넘 감사해요💖 쉬운방법으로 해보겠슴다
@angelo-zx2zy8 ай бұрын
❤
@angelo-zx2zy8 ай бұрын
🎉
@choyilee87598 ай бұрын
가로로는 어떻게 해야될까요??ㅠ
@pangol758 ай бұрын
셀 선택을 가로로 해주시면 됩니다. 드래그 가로로 해주세요~
@pangol758 ай бұрын
셀 선택을 가로로 해주시면 됩니다. 드래그 가로로 해주세요~
@Curry_Quinn Жыл бұрын
좋은 강의 감사합니다! 회사 업무 편하게 해보려고 공부 했는데, 엄청난 효과가 있었습니다. 😀
@pangol75 Жыл бұрын
답글 남겨주셔서 감사합니다. ^^ 댓글 보고 기분이 좋아졌네요 😀
@lifesure5869 Жыл бұрын
옳바른 날짜입력하라고만뜨고 달력이 안뜨네요
@lifesure5869 Жыл бұрын
폰에서 하니 안되네요ㅠ
@yunalee4266 Жыл бұрын
다른 질문이긴 하지만 가끔 글씨가 밀리는건 왜 그럴까요~? 예를들어 10/10이라고 작성을 했는데 다른 칸에는 10/10이 보이게 작성되눈데 바로 밑에는 10/ 까지만 보이는 형태요~~~! ^^
쿼리는 다양하게 데이터를 조작할 수 있다면 피봇테이블은 기준을 변경하면서 정보를 보고 싶을 때 사용하는 기능이라는 점이 다를 것 같네요 ^^
@개발하는손창환2 жыл бұрын
질문이 있습니다. 영상을 따라해 보고 있는데 members라는 배열에 member라는 객체를 push 하면 객체의 현 속성들이 배열에 각인되는 것이 아니라 가변적인 member 객체 자체가 저장되는 느낌입니다. 말로만 하니 이해가 어려울 듯해 예시를 적어 보겠습니다. function myFunction() { let members = [] let member = {} member['name']="son" members.push(member) Logger.log(members) member['name']="kim" Logger.log(members) members.push(member) Logger.log(members) } 총 3번 Logger.log를 시행하도록 작성했는데요 영상을 통해 이해한 대로라면 제가 예상한 출력 결과는 아래와 같습니다만 오후 8:16:41 정보 [{name=son}] 오후 8:16:41 정보 [{name=son}] 오후 8:16:41 정보 [{name=son}, {name=kim}] 실제로는 아래와 같이 나옵니다. 오후 8:16:41 정보 [{name=son}] 오후 8:16:41 정보 [{name=kim}] 오후 8:16:41 정보 [{name=kim}, {name=kim}] member의 name 속성이 kim으로 바뀌고 나면 members에 이미 push된 son이 kim으로 바뀌더라고요 영상에서는 이런 방식으로 작동하지 않은 것 같은데 제가 이해를 잘못한 것인지, 앱스 스크립트의 작동 방식이 영상을 올려 주신 뒤로 바뀐 것인지 궁금합니다.
@pangol752 жыл бұрын
객체는 복사되는것이 아니라 참조되어서 변경된 값으로 다 출력이되는 것잇데요. 배열에 객체를 삽입하면 객체의 속성 값이 아닌 객체 참조가 삽입이 됩니다. 따라서 객체의 값을 변경하면 배열에 삽입된 것은 참조이기때문에 변경된 값이 출력된답니다
@개발하는손창환2 жыл бұрын
@@pangol75 답변 감사합니다. 몇 번의 실험을 통해 배열에 '참조'가 삽입된다는 것은 이미 알게 되었는데요. 질문의 핵심이 잘 전달되지 않은 것 같아 다시 한 번 질문드립니다. '참조'가 삽입된다는 것을 받아들였을 때 영상의 10:19에 나오는 결과가 이해가 되지 않습니다. members에 member가 7번 push 되었고 member에 마지막에 입력된 정보는 손오공의 정보이니 members[i]들을 반복문으로 출력했을 때 손오공의 정보만 7번 출력되어야 할 것 같은데 영상에서는 각기 다른 7명의 정보가 나오는 것이 이해가 안 됩니다 실제로 코드를 따라해 봐도 마지막 사람의 정보만 여러 번 출력됩니다. 확인 한 번 부탁드립니다.
@pangol752 жыл бұрын
@@개발하는손창환 반복문안에 let member = {} 이 부분이 있는데 반복 될 때마다 새로운 객체변수 member 가 생성되기 때문에 위와 같은 결과가 나오게 됩니다 :)
@개발하는손창환2 жыл бұрын
@@pangol75 let member = {} 이것이 반복문 안에 있는지 밖에 있는지에 따라 결과가 달라지는군요. 크게 배우고 갑니다. 좋은 강의 올려 주셔서 감사합니다.
@개발하는손창환2 жыл бұрын
@@pangol75 member 선언을 반복문 안에 넣어 보는 과정에서 질문이 하나 더 생겼습니다. ------------------------ 아래를 실행하면 function myFunction() { let members = [] for(let i=0; i<3; i++){ let member = {} member['name'] = "kim"+i members.push(member) } Logger.log(members) } 아래처럼 출력됩니다. 잘 이해했습니다. [{name=kim0}, {name=kim1}, {name=kim2}] ------------------------- 반복문 대신 수동으로 반복시켜 보고자 아래처럼 작성하고 같은 결과가 나올 것으로 예상하고 실행하면 function myFunction() { let members = [] let i i=0 let member = {} member['name'] = "kim"+i members.push(member) i = 1 let member = {} ← 여기서 문제 발생!!! member['name'] = "kim"+i members.push(member) i = 2 let member = {} member['name'] = "kim"+i members.push(member) Logger.log(members) } 아래와 같은 오류 메시지가 뜹니다. Identifier 'member' has already been declared ------------------------------------- 이미 let한 변수를 또 let할 수 없어서 생기는 문제인 듯합니다. 문제가 되는 let member = {} 중 2, 3번째 것들은 member = {}로 고치면 해결이 된다는 것은 알겠습니다. 이게 반복문 내에 있을 때는 문제가 안 되고 반복문 없이 직접 반복 코딩했을 땐 문제가 생기는 건가요? 반복문으로 구현한 것과 반복문 없이 반복 작성한 것이 본질적으로 같은 게 아닌가요?
@hucklee39192 жыл бұрын
순식간에 두 번 완독했습니다. VBA는 조금 아는데 요샌 회사에서 구글시트를 많이 써서 앱스스크립트에 목말랐던 터라 정말 감사히 잘 봤습니다. 아울러 지금 상태에 더해서, 일례로 C₩새폴더₩라는 경로에 후원자리스트에 있는 이름과 같은 파일명의 pdf파일들이 있을 때, 같은 이름의 pdf파일을 첨부해 전송할 수 있는 추가 강의도 간곡히 요청드립니다. 고맙습니다.
@sarahkim18512 жыл бұрын
혹시 엑셀 스프레드시트 도구에 Apps 스크랩트 항목이 없는 경우는 어떻게 해야하나요?
@pangol752 жыл бұрын
상단 툴바에 확장프로그램을 한 번 살펴보세요. developers.google.com/apps-script/quickstart/custom-functions#set_up_the_script 아니면 script.google.com/home/start 링크로 들어가셔서 바로 스크립트 파일을 생성하실 수 있습니다
@user-mk1ml9vx4q2 жыл бұрын
기초부터 강좌 해주시 감사합니다 입문자 가 쉽게 접할수 있게 해주셔셔 감사합니다 그런데 화면이 너무 작아서 코드를 볼수가 없읍니다
@pangol752 жыл бұрын
앗 그러시군요. 다음 영상 찍을 때 참고하도록 하겠습니다. 피드백 주셔서 감사합니다. 임시방편으로 영상의 화질을 1080으로 설정하시면 조금 더 선명해져서 조금 더 잘 보이긴합니다. ^^;;
@요즘대구2 жыл бұрын
접속이 안되네요 ^^;
@pangol752 жыл бұрын
영상에 나온 주소가 잘못 됐네요. 99college.org 로 가능합니다. ^^
@요즘대구2 жыл бұрын
잘 들었습니다. 감사합니다. 추천해주실만한 앱스 스크립트 관련 유튜브가 있을까요? :)
@pangol752 жыл бұрын
이후에 더 공부하신다면 구글에서 제공하는 샘플 보시면서 진행해보시는걸 추천드립니다 developers.google.com/apps-script/samples
@요즘대구2 жыл бұрын
업데이트가 됐나보네요. 지금은 도구가 아닌 확장프로그램-Apps Script에서 실행 가능합니다. 오늘부터 공부 시작!!!
@김민성-g8b5w2 жыл бұрын
KENTA님 열심히 배워볼께요!!!!!
@pangol752 жыл бұрын
화이팅! :)
@prowide63502 жыл бұрын
그대로 따라해보는 중인데.. 정말 감사합니다. Apps Script관련하여 자세한 구조를 설명해주는곳이 없었는데.. 정말 매강의진행될때마다 뭔가 조립이 되어가는 느낌이 듭니다. 감사합니다❤
@pangol752 жыл бұрын
제가 설명을 잘하기보다는 이해를 잘하시는 것 같아요 ^^
@prowide63502 жыл бұрын
아... 객체와 배열이 이런패턴으로 사용되는군요.. 정말 감사합니다. 너무 도움되었습니다
@pangol752 жыл бұрын
프로그래밍을 배울 때 자료구조라는 것이 있는데 데이터 유형을 선택할 때도 어떤 걸 사용행할까 고민하면서 진행하시면 실력이 팍팍 느실거예요~
@prowide63502 жыл бұрын
으....배열의 push와 length는 제겐 정말 신세계네요 ^^ DB작업시 유용하겠습니다.
@pangol752 жыл бұрын
배열에서 기본적으로 제공하는 기능들을 아시면 프로그래밍 할 때 많은 도움을 줍니다 :)
@prowide63502 жыл бұрын
정말 기초부터 차근차근 알려주시니.. 좋습니다. 안다고생각하고 대충넘어간 개념들도 다져가면서 보니 너무 좋습니다.
@pangol752 жыл бұрын
도움이 되신다니 좋네요 :)
@prowide63502 жыл бұрын
잘따라가보겠습니다
@MMM-gz7oh2 жыл бұрын
잘 보고 있습니다. 조회수가 너무 적어서 힘이 안나시겠지만 홧팅입니다.!!!
@pangol752 жыл бұрын
응원해주셔서 감사합니다. :)
@댄디베어-w2y2 жыл бұрын
안녕하세요! 앱스 스크립트 강의가 거의 없어서 아쉬웠는데, 마침 켄타님께서 만들어주신 강의 덕분에 열심히 공부하고 있습니다! 다름이 아니라, 질문이 있는데요! getrange(4, 2) 이런식으로 행과 열의 특정 셀을 숫자로 표기해서 기준을 잡으셨는데요! 혹시 특정 셀이 아닌, 범위로 기준을 잡는 방법도 있을까요?(e.g. (4, 2)가 B4셀 하나만을 가리키는데, B4:B10 이렇게 범위로 기준을 잡는 방법) 메일로 보내야 할 내용이 표로 만들어져있다보니 범위로 잡을 수만 있다면, 표 그대로를 메일로 보낼 수 있을 것 같아서요!
@pangol752 жыл бұрын
네 안녕하세요. 물론 있습니다. 똑같이 getrange 를 사용하고 안에 들어가는 데이터를 다르게 넘겨주면 됩니다. 예를 들어 1행, 1열 부터 1행 3열까지 가지오고 싶다면 getrange(1,1,1,3) 를 사용합니다. 자세한 내용은 developers.google.com/apps-script/reference/spreadsheet/sheet#getRange(Integer,Integer,Integer,Integer) 를 참고하세요 :)
@댄디베어-w2y2 жыл бұрын
@@pangol75 오!! 바로 답변달아주셔서 감사합니다! 저 방법이 있었군요!! 혹시 하나만 더 질문해도 괜찮을까요?ㅜ 매주마다 표를 메일로 보내야하는데, 표의 끝 행이 유동적으로 변경되어서 3줄일때도 있고 5줄일때도 있는데, 이럴 경우도 해결 방법이 있을까요?ㅜ
@pangol752 жыл бұрын
@@댄디베어-w2y 간단하게 해결해보면 무조건 5줄 읽게 구현할것같아요! 3줄일경우 어차피 아무 내용도 없을 거라.. 아니면 시트에서 마지막 행을 읽어서 처리 할 수도 있을 것 같아요. developers.google.com/apps-script/reference/spreadsheet/sheet#getlastrow 요걸 참조하세요~
@댄디베어-w2y2 жыл бұрын
안녕하세요! 알려주신 링크로 공부하면서, 지정된 셀 영역 데이터를 메일로 보내는 방법으로 아래 코드를 작성해보았는데요! 2행1열~마지막데이터행1열까지의 셀 영역 데이터를 메일로 보내고 싶은데, 테스트해보니까 2행1열에 있는 1개의 셀 데이터만 보내지더라구요ㅠ 혹시, 제가 잘못한 부분이 있는지 확인 가능하실까요?ㅠ function sendFormEmail(){ const ss = SpreadsheetApp.getActiveSpreadsheet(); const row = ss.getLastRow(); const column = ss.getLastColumn(); const sheet = ss.getSheetByName("시트명"); let contants = sheet.getRange(2, 1, row, column).getValue(); const mail = '받는사람 메일명'; const subject = '제목명'; let body = ''; body += '안녕하세요 '; body += '홍길동입니다. '; body += ' '; body += contants; body += ' '; body += ' '; body += '감사합니다. '; body += '홍길동'; const options = { cc: '참조 메일', name: '보내는사람 이름명' }; GmailApp.sendEmail(mail, subject, body, options); }
@pangol752 жыл бұрын
@@댄디베어-w2y 네 안녕하세요. 우선 변수 row에 실제로 원하는 숫자가 찍히는지 확인해보셨으면 좋겠습니다. console.log(row)롤 통해서 실제 원하는 값이 출력 되는지 확인해보세요. 그리고 예를들면 getrange(2,1,3,1) 일 때 2행 1열부터 4행 1열까지 범위가 잡히게 됩니다. 주의하실 점이, 세 번째 파라미터는 number of row 를 나타냅니다. 또! getLastRow를 호출방법이 잘못됐을 수도 있을 것 같아요. 사용 링크 보시면서 확인해보세요! developers.google.com/apps-script/reference/spreadsheet/sheet#getlastrow
@arts51612 жыл бұрын
잘 보고 있습니다. 코드를 올려주시면 큰 움이 되겠습니다. 부탁 드려요~
@theofficialbts2 жыл бұрын
앞으로 좋은 강의 부탁드립니다 ^^
@pangol752 жыл бұрын
새로운 걸 배우는게 쉽지 않은 건데 저도 잘 부탁드리겠습니다 ^^
@theofficialbts2 жыл бұрын
너무 좋은 강의인데 댓글이 없네요!! 더 많은 강의 부탁드립니다!
@pangol752 жыл бұрын
감사합니다!
@woonkibaek51292 жыл бұрын
정주행 중입니다 초보자에게 구조적으로 설명을 차근차근 해주셔서 잘 배워가고 있습니다 감사합니다!!
@pangol752 жыл бұрын
도움이 되어서 다행이네요 :)
@paulmoon74212 жыл бұрын
F2부터 J51이 선택되어있기때문에 F2하나만 = F2=False이면 되는건가요? G2=False 하고 I2=False도 해봤는데 전혀 다른 결과물들이 나오네요. 왜 다른 cell로는 못하나요?
@pangol752 жыл бұрын
구글시트가 조건을 검색할때 자동변환을 해서 검사를 해주기때문에 범위에서 가장 첫번째인 셀 f2 로 조건을 걸어줘야 합니다~
@paulmoon74212 жыл бұрын
@@pangol75 감사합니다. 이런 디테일들은 어디서 더 찾아볼 수 있을까요?
@pangol752 жыл бұрын
구글의 경우 온라인에서 도움말을 검색해보시면 확인해보실 수 있어요~ support.google.com/docs/topic/9054603?hl=ko&ref_topic=1382883
@paulmoon74212 жыл бұрын
@@pangol75 제 무지에 죄송하고 주신 링크 감사히 잘 쓰겠습니다. 감사합니다.
@pangol752 жыл бұрын
아닙니다. ^^ 저도 다 검색해보면서 하는거예요 :)
@paulmoon74212 жыл бұрын
감사합니다 3시간이 훌쩍 지나갔네요. 스프레드시트로 데이터분석하는 강의 들으러 갑니다! 감사합니다!
@pangol752 жыл бұрын
강의 잘 들어주셔서 감사합니다^^
@paulmoon74212 жыл бұрын
강의 시작합니다! 강사님 감사합니다.
@tube-wt8uy2 жыл бұрын
켄타님 자세한 설명 너무 감사합니다. 궁금한 점이 있는데요.. toArray1_Collect 에 배열입력시 "2022년1월", "2022년2월" ... 의 자료를 A2:A59, B2:B59 , C2:C59 ...가 아닌 시트 전체의 데이터를 가져오기 위해 A2:A, B2:B, C2:C 로 가져올 경우에도 toArray1_Collect 시트가 정상적으로 배열 유지가 되는 건가요? 저는 최초의 자료에 데이터를 추가하니 toArray1_Collect 시트에 빈 행이 생겨서요.... 뭐가 문제인지 모르겠습니다...
@pangol752 жыл бұрын
A2:A 는 A2부터 A열의 모든 데이터를 가져오는 범위 지정 방식이라 배열로 가져올 경우에 빈 셀이 생기게 됩니다. A59이후에 셀이 비어있어도 A2:A 로 지정하면 다 가져오는 거라서 빈 행이 생기게 되는 것 같아요~ 그래서 범위를 지정하실 때는 행 숫자도 지정해주시면 좋습니다
@tube-wt8uy2 жыл бұрын
@@pangol75 감사합니다. 배우는 과정에서 해 본건데 그런 한계(?)가 있나보네요. 답글 감사합니다!!