Google Form-สร้าง Drop-down List จากข้อมูลใน Google Sheet [Apps Script]

Chaiyachet
2 min readNov 26, 2019

--

เพื่อนๆ ที่ใช้งาน Google Form ประจำ คงคุ้นเคยกันดีหากฟอร์มที่ต้องการให้ผู้ใช้งานกรอกมีรูปแบบเป็น Drop-down List และหาก Drop-down List นั้นมีเยอะมาก แล้วต้องมากรอกข้อมูลทีละรายการจนครบคงรู้สึกเหนื่อยแบบสุดๆ วันนี้เราจะใช้ Apps Script มาช่วยในการส่งข้อมูลของ Drop-down List ไปที่ Google Form โดยไม่ต้องมานั่งกรอกข้อมูลทีละรายการให้เหนื่อยและเสียเวลากันไปเปล่าๆ มาเริ่มกันเลยดีกว่าครับ Let’s go! 🎢

— เริ่มจากสร้าง Sheet มาใหม่ด้วยการพิมพ์ sheet.new ในช่อง URL กันเลย และสร้าง Form ด้วยการพิมพ์ form.new ในช่อง URL ได้เช่นกันครับ ใครที่ยังไม่รู้จักฟีเจอร์นี้ไปทำความรู้จักได้ที่เรื่อง สร้างไฟล์ใหม่อย่างรวดเร็วด้วยฟีเจอร์ .new กันได้เลยครับ อย่าลืมตั้งชื่อไฟล์ทั้ง Sheet และ Form ด้วย วันนี้ผมจะทดลองด้วยการสร้าง Drop-down List จาก Sheet ข้อมูลรายชื่อจังหวัด อำเภอ ตำบล รหัสไปรษณีย์ ของประเทศไทยน่ะครับ (ใครยังไม่มีลองไปดูวิธีการได้เลยที่ Google Sheet-สร้างรายชื่อตำบล อำเภอ จังหวัด และรหัสไปรษณีย์ ไว้ใช้งานกันเถอะ)

หลังจากได้ Sheet ข้อมูลรายชื่อจังหวัด อำเภอ ตำบล รหัสไปรษณีย์ มาแล้ว ให้ตั้งชื่อหัวข้อ Drop-down List ใน Google Form ให้ตรงกันกับหัวคอลัมน์ของข้อมูลใน Sheet ก่อนครับ โดย 1 คอลัมน์ เท่ากับชุดข้อมูล Drop-down List 1 ชุด และอย่าลืมเลือกรูปแบบการกรอกเป็นแบบ Drop-down List ด้วยครับ

— ใน Sheet ข้อมูลให้ไปที่เมนู Tools -> Script editor เพื่อเริ่มการเขียน Apps Script ได้เลย ผมไม่ขอลงรายละเอียดในตัว Code น่ะครับ และสิ่งที่เพื่อนๆ ต้องนำมาใส่เองก็คือ Google Sheet Id และ Google Form Id ที่ได้สร้างไว้นั่นเอง จะมีฟังก์ชันการทำงานหลัก 3 ฟังก์ชั่น

  • function updateDropdown(id, values) : ทำการอัพเดทข้อมูล Drop-down List ของแต่ละหัวข้อไปที่ Google Form
  • function updateDropdownUsingTitle(title, values) : ทำการตรวจสอบหัวข้อใน Google Sheet ว่าตรงกับหัวข้อใน Google Form หรือไม่ก่อนจะทำการอัพเดทข้อมูล Drop-down List
  • function main() : ทำการรับค่าจากคอลัมน์ใน Google Sheet และส่งค่าไปที่ function ที่สองเพื่อตรวจสอบหัวข้อก่อนทำการอัพเดทข้อมูลไปที่ Google Form ด้วยฟังก์ชันแรกครับ

— ทำการ Run Script ฟังก์ชัน main() ได้เลยครับ แล้วก็ Permission Review ต่อเลย เราก็จะได้ข้อมูล Drop-down List ที่มีข้อมูลเยอะๆ ไปที่ Google Form แล้วครับ

— หากเราต้องทำการเปลี่ยนแปลงข้อมูลก็ให้ Run Script ฟังก์ชัน main() ใหม่ ข้อมูลใน Google Form ก็จะอัพเดทให้ด้วยครับ หรืออยากต้องการสร้างปุ่มลัดไว้อัพเดทข้อมูลก็ให้ไปที่เมนู Insert -> Drawing สร้างปุ่มขึ้นมาชื่อว่า Update Form แล้วให้ Click 3 ตุ่มแล้วกำหนด Assign script เป็น main เพียงเท่านี้หากต้องการอัพเดทข้อมูลไปที่ฟอร์มก็เพียงแค่คลิ๊กที่ปุ่มนี้ได้เลยครับ

***กรณีที่ข้อมูลมีมากกว่าที่ Google Form กำหนดจะมี Error แจ้งตามนี้ครับ อาจจะต้องระวังเรื่องจำนวนข้อมูลด้วยครับ

— มาดูสิ่งที่เราได้บน Google Form กันครับ

ท้ายสุด เป็นอย่างไรบ้างครับ เราสามารถลดแรง และเวลาในการต้องมากรอกข้อมูลทีละรายการได้เยอะมากๆ เลย มีเวลาไปขี้เกียจต่อได้อีกเยอะ ลองเปลี่ยนข้อมูลเป็นของเพื่อนๆ ดูครับ ก็หวังว่าจะเป็นประโยชน์กับเพื่อนๆ ทุกคนครับ Happy Life…😏

Originally published at https://adamblog.co on November 26, 2019.

--

--