구글 설문지(GOOGLE FORMS)를 한 번쯤은 만들어 보셨을 겁니다. 최소한 응답을 해본 적은 있으시죠. 구글 설문지는 매우 편리하면서도 양식이 예쁘지 않아 정이 가지는 않는 도구입니다. 그런데 구글 설문지를 구글 시트와 연결해서 값이 미리 채워진 설문지를 만들면 사용성을 조금 더 높일 수 있습니다.

왜 내가 이제 와서 구글시트를 해야 합니다_final

사용성을 높이는 건, 네 맞습니다. 클릭과 입력을 줄여야 하는 거죠. 사용자가 입력해야 할 내용을 모두 채워진 설문지를 만들어서 사용자가 제출(Submit) 버튼만 누르면 설문지가 제출되도록 할 수 있습니다. 아니 근데, 이런 짓을 왜 할까요. 응답자의 구글 계정을 수집할 수 있고 구글 인증에 따라 권한을 제한할 수 있는 구글 설문지는 사용자의 요청에 대한 기록을 구글 시트에 남기고 그에 따라 데이터베이스를 관리할 수 있는 아주 손쉬운 도구이기 때문입니다. 아래 설문지는 대여/반납 요청을 위한 설문지입니다.

도서관리_대여/반납요청

그리고 아래 설문지는 도서 반납 촉구를 위해 작성한 설문지입니다.

좋은 책 혼자 보지 말고 같이 봐요

책을 보고 싶은 사용자는 도서의 고유코드(No.)도서명, 대여인지 반납인지에 대한 구분, 요청일자를 적어서 설문지를 제출합니다. 만약 책을 다 읽고 반납하는 경우라면 한줄평을 남길 수도 있습니다. 다행히 누가 요청을 했는지는 설문지에서 수집하는 이메일 주소로 처리할 수 있습니다. 그런데 사실 저 정보들은 사용자가 입력할 필요가 없는 정보들입니다. 왜냐면 이미 도서 목록에 다 있는 정보이기 때문입니다. 도서 목록에서 빌리고 싶은 책 혹은 반납하고 싶은 책을 클릭하면, 이 책이 대여중인지 대여가능한 상태인지에 따라 내용이 자동으로 채워지게 하면, 사용자는 제출 버튼만 누르면 됩니다.(이 설문지는 공개 계정으로 작성되었으나 G Suite에서 작성된 설문지의 경우 해당 도메인 사용자의 이메일을 자동으로 수집할 수 있습니다)

설문지의 필드는 다섯 개입니다. 책의 고유코드(idx), 도서명, 요청구분(대여 or 반납), 요청일자 필드를 자동으로 입력해주고, 한줄평만 따로 입력하게 만든 설문지입니다. 설문지는 구글 시트처럼 고유 ID가 있습니다. 각 설문항목들도 고유id를 갖고 있고, URL에 해당 고유 id의 값을 지정할 수 있습니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9056d3fb-2e22-4ddb-896b-00266ff09ea6/Untitled.png

미리 채워진 링크 가져오기를 클릭한 후 생긴 설문지 항목에 내용을 채웁니다. 그 뒤에 링크 공유 버튼을 누르면 내용이 포함된 아래와 같은 URL이 생성됩니다. 이 URL을 구글 시트에서 HYPERLINK로 연결하고, 실제 응답은 구글 시트에서 계산해서 넣어주려는 것입니다. https://docs.google.com/forms/d/e/1FAIpQLSeWxk95ahuiMDlwXkYGgeHTs9We1e2tl38fVhwvPxbIfs5WbQ/viewform?usp=pp_url&entry.1579596080=**도서코드**&entry.1991013075=**도서명**&entry.775176578=**대여**&entry.1560839680=**2019-08-01**

진하게 표시된 부분이 설문의 응답입니다. 예제 시트에서는 해당 값을 우리가 기존에 이미 보유한 도서 목록의 데이터로 가공해서 넣도록 아래와 같이 작성해 놓았습니다.

IFERROR(
  switch(F6:F9, 
       "대여가능", 
          hyperlink(
            "<https://docs.google.com/forms/d/e/1FAIpQLSeWxk95ahuiMDlwXkYGgeHTs9We1e2tl38fVhwvPxbIfs5WbQ/viewform?usp=pp_url>"&
            "&entry.1579596080="&B6:B9&
            "&entry.1991013075="&C6:C9&
            "&entry.775176578=대여&entry.1560839680="&text(today(),"yyyy-mm-dd"),
           "대여처리"
           ),
        "대여중", 
          hyperlink(
             "<https://docs.google.com/forms/d/e/1FAIpQLSdjXW7ZrBg3KxzZVBR1VFlL2LgQ0NQb_K2VC3MRtKMNuuZqgQ/viewform?usp=pp_url&>"&
             "entry.810744669="&G7:G10&
             "&entry.538852159="&C7:C10,
            "반납조르기"
           )
          ),
"")

뭔가 엄청나게 복잡해 보이는데, B열의 도서 코드(idx)와, C열의 도서명, today()함수로 오늘 날짜를 요청일자에 넣어준 것 뿐입니다. SWITCH함수로 현재 책의 상태에 따라 요청의 종류를 "대여처리" 혹은 "반납조르기"로 설문지를 달리 해줍니다. 대여가능 상태일 때는 대여처리 설문지의 링크가, 대여중 상태일 때는 반납조르기 설문지의 링크가 나타납니다. SWITCH함수는 엑셀의 CHOOSE함수와 유사합니다(엑셀 2019에서는 SWITCH함수도 사용 가능합니다.) 반납을 하기 위해서는 반납하기 설문지가 필요한데, 이 설문지의 링크는 다른 열에 표시됩니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8010ef26-9854-4321-b40f-ce6db20ca08b/Untitled.png

도서 목록에서 사용자가 해당 설문 링크를 누르면, 내용이 채워진 아래의 설문지가 나타납니다(실제 사용시에는 이메일주소도 자동으로 채워집니다). 제출 버튼만 누르면 요청이 완료됩니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/abb5e6f9-3ed8-49b4-a14c-93a5747f06d7/Untitled.png