ChatGPT:
새로운 브랜드 인지도 설문을 하려고 해.
브랜드 이름은 X. 설문 문항 10개만 제안해줘. ChatGPT:
먼저 구글 시트에 질문과 답변보기를 데이터베이스 형태로 넣고, 구글 폼으로 만들고 싶어
먼저 구글 시트에 어떤 방식으로 입력하면 좋을까?Q_No | Question_Text | Type | Options | Required |
1 | 브랜드 X를 들어본 적이 있으신가요? | multiple | 예;아니오 | TRUE |
2 | 브랜드 X를 처음 알게 된 경로는 무엇인가요? | multiple | TV/라디오 광고;온라인 광고(SNS, 유튜브 등);지인 추천;매장 방문;기타 | TRUE |
3 | 브랜드 X 하면 가장 먼저 떠오르는 이미지는? | multiple | 세련됨;합리적 가격;품질 우수;친근함;잘 모르겠다 | TRUE |
4 | 브랜드 X에 대해 얼마나 친숙하다고 느끼시나요? | scale | 1-5 | TRUE |
5 | 브랜드 X의 제품/서비스를 사용해본 적 있습니까? | multiple | 예;아니오 | TRUE |
6 | 브랜드 X를 얼마나 자주 이용하시나요? | multiple | 주 1회 이상;월 13회;연 12회;사용 경험 없음 | TRUE |
7 | 브랜드 X 제품/서비스에 대한 전반적 만족도 | scale | 1-5 | TRUE |
8 | 경쟁 브랜드 대비 브랜드 X의 수준은? | scale | 1-5 | TRUE |
9 | 앞으로 브랜드 X를 구매할 의사가 있습니까? | scale | 1-5 | TRUE |
10 | 브랜드 X가 개선하면 좋을 점은? | paragraph | - | FALSE |
ChatGPT:
방금 만든 **구글 시트(질문 데이터베이스)**를 읽어서 자동으로 Google Form을 생성하는 Apps Script 코드 만들어줘function createFormFromSheet() {
// 현재 시트 가져오기
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getDataRange().getValues();
// 첫 행(헤더)은 제외
var headers = data[0];
var rows = data.slice(1);
// 새로운 Google Form 생성
var form = FormApp.create("브랜드 X 인지도 및 태도 조사");
form.setDescription("브랜드 X에 대한 인지도, 태도, 이용 경험, 구매 의사를 파악하기 위한 설문입니다.");
// 응답 저장용 스프레드시트 생성 후 연결
var ss = SpreadsheetApp.create("brand_x_survey_responses");
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());
// 행 반복 → 질문 생성
rows.forEach(function(row) {
var qNo = row[0];
var question = row[1];
var type = row[2].toLowerCase();
var options = row[3] ? row[3].toString().split(";") : [];
var required = (row[4] === true || row[4] === "TRUE");
var item;
switch (type) {
case "multiple": // 객관식 단일 선택
item = form.addMultipleChoiceItem()
.setTitle(question)
.setChoiceValues(options);
break;
case "checkbox": // 객관식 복수 선택
item = form.addCheckboxItem()
.setTitle(question)
.setChoiceValues(options);
break;
case "scale": // 척도형 (예: "1-5")
var bounds = options[0].split("-");
var lower = parseInt(bounds[0], 10);
var upper = parseInt(bounds[1], 10);
item = form.addScaleItem()
.setTitle(question)
.setBounds(lower, upper);
break;
case "paragraph": // 서술형
item = form.addParagraphTextItem()
.setTitle(question);
break;
default:
Logger.log("지원되지 않는 유형: " + type);
}
// 필수 여부 설정
if (item && required) {
item.setRequired(true);
}
});
Logger.log("응답 링크: " + form.getPublishedUrl());
Logger.log("편집 링크: " + form.getEditUrl());
}
https://docs.google.com/forms/d/e/1FAIpQLSd6vmWZOrjDecUpBzxo0fzTwLNrUxB9aG70IrBGbcjcbFEMqg/viewformhttps://docs.google.com/forms/d/1AIKGqtV3BIa9wfbVYV26i_tHCOc6L363kkJfu6SBgbo/edit