วิธีใช้สูตรกับการตอบกลับแบบฟอร์มของ Google ในชีต

เผยแพร่แล้ว: 2022-06-16

เมื่อมีคนส่งแบบฟอร์ม Google ของคุณ จะมีการแทรกแถวใหม่ใน Google ชีตที่จัดเก็บคำตอบของแบบฟอร์ม แถวสเปรดชีตนี้มีคอลัมน์ Timestamp วันที่จริงที่ส่งแบบฟอร์ม และคอลัมน์อื่นๆ ในแผ่นงานประกอบด้วยคำตอบของผู้ใช้ทั้งหมด หนึ่งคำตอบต่อคอลัมน์

คุณสามารถขยายแผ่นงาน Google ฟอร์มให้รวมฟิลด์สูตรด้วย และค่าของเซลล์จะถูกคำนวณโดยอัตโนมัติทุกครั้งที่ Google ฟอร์มเพิ่มแถวใหม่ลงในแผ่นงาน ตัวอย่างเช่น:

  • คุณสามารถมีสูตรตัวเลขอัตโนมัติที่กำหนด ID ที่เพิ่มค่าอัตโนมัติแต่ตามลำดับให้กับทุกการตอบกลับของแบบฟอร์ม อาจมีประโยชน์เมื่อคุณใช้ Google ฟอร์มในการออกใบแจ้งหนี้
  • สำหรับแบบฟอร์มการสั่งซื้อของลูกค้า สามารถเขียนสูตรใน Google ชีตเพื่อคำนวณยอดรวมตามการเลือกรายการ ประเทศ (อัตราภาษีแตกต่างกัน) และปริมาณที่เลือกในแบบฟอร์ม
  • สำหรับแบบฟอร์มการจองโรงแรม สูตรสามารถคำนวณค่าเช่าห้องโดยอัตโนมัติตามวันที่เช็คอินและเช็คเอาต์ที่ลูกค้ากรอกใน Google ฟอร์ม
  • สำหรับแบบทดสอบ ครูสามารถคำนวณคะแนนสุดท้ายของนักเรียนโดยอัตโนมัติโดยจับคู่ค่าที่ป้อนในแบบฟอร์มกับคำตอบจริงและให้คะแนน
  • ถ้าผู้ใช้ส่งแบบฟอร์มหลายรายการ สูตรสามารถช่วยคุณกำหนดจำนวนรวมของรายการที่ทำโดยผู้ใช้ทันทีที่ส่งแบบฟอร์ม

Autofill Google Sheets Formulas

สูตร Google ชีตสำหรับ Google ฟอร์ม

ในคำแนะนำทีละขั้นตอนนี้ คุณจะได้เรียนรู้วิธีเพิ่มสูตรใน Google ชีตที่เชื่อมโยงกับ Google ฟอร์ม ค่าเซลล์ที่สอดคล้องกันในแถวการตอบสนองจะถูกคำนวณโดยอัตโนมัติเมื่อมีการส่งคำตอบใหม่

เพื่อให้เข้าใจสิ่งที่เราพยายามบรรลุได้ดีขึ้น ให้เปิด Google ฟอร์มนี้แล้วส่งคำตอบ ถัดไป เปิด Google ชีตนี้แล้วคุณจะพบคำตอบของคุณในแถวใหม่ คอลัมน์ FK ถูกป้อนอัตโนมัติโดยใช้สูตร

ตัวอย่างทั้งหมดด้านล่างจะใช้ฟังก์ชัน ArrayFormula ของ Google ชีต แม้ว่าบางตัวอย่างเหล่านี้สามารถเขียนได้โดยใช้ฟังก์ชัน FILTER

ตอบกลับแบบฟอร์มหมายเลขอัตโนมัติด้วย ID ที่ไม่ซ้ำ

เปิด Google ชีตที่เก็บคำตอบของแบบฟอร์ม ไปที่คอลัมน์ว่างแรก แล้วคัดลอกและวางสูตรต่อไปนี้ในแถวที่ 1 ของคอลัมน์ว่าง

 =ArrayFormula( IFS( ROW(A:A)=1, "Invoice ID", LEN(A:A)=0, IFERROR(1/0), LEN(A:A)>0, LEFT(CONCAT(REPT("0",5), ROW(A:A) -1),6) ) )

ฟังก์ชัน ROW() ส่งกลับหมายเลขแถวของแถวตอบกลับปัจจุบัน คืนค่า 1 สำหรับแถวแรกในคอลัมน์ใบแจ้งหนี้ ดังนั้นเราจึงตั้งชื่อคอลัมน์ในแถวแรก สำหรับแถวที่ตามมา หากคอลัมน์แรกของแถว (โดยปกติคือ Timestamp) ไม่ว่างเปล่า ID ใบแจ้งหนี้จะถูกสร้างขึ้นโดยอัตโนมัติ

รหัสจะเป็นเช่น 00001 , 00002 เป็นต้น คุณเพียงแค่ต้องวางสูตรคือแถวแรกของคอลัมน์และจะเติมแถวอื่นๆ ทั้งหมดในคอลัมน์โดยอัตโนมัติ

IFERROR จะคืนค่าอาร์กิวเมนต์แรกหากไม่ใช่ค่าความผิดพลาด มิฉะนั้นจะคืนค่าอาร์กิวเมนต์ที่สองหากมี หรือจะคืนค่าเป็นค่าว่างหากไม่มีอาร์กิวเมนต์ที่สอง ดังนั้นในกรณีนี้ 1/0 จึงเป็นข้อผิดพลาดและจะส่งกลับค่าว่างเสมอ

สูตรคำนวณวันที่สำหรับ Google Forms

Google Form ของคุณมีช่องวันที่สองช่อง ได้แก่ วันที่เช็คอินและวันที่เช็คเอาท์ ราคาโรงแรมอาจแตกต่างกันไปในแต่ละฤดูกาล ดังนั้นคุณจึงมีตารางแยกต่างหากใน Google ชีตที่รักษาค่าเช่าห้องต่อเดือน

Google Sheets Date Formula

คอลัมน์ C ใน Google ชีตเก็บคำตอบสำหรับวันที่เช็คอินในขณะที่คอลัมน์ D กำลังจัดเก็บวันที่เช็คเอาท์

 =ArrayFormula( IF(ROW(A:A) = 1, "Room Rent", IF(NOT(ISBLANK(A:A)), (D:D - C:C) * VLOOKUP(MONTH(D:D), 'Room Rates'!$B$2:$C$13,2, TRUE), "" ) ) )

สูตรนี้ใช้ VLOOKUP เพื่อรับราคาห้องพักสำหรับวันที่เดินทางที่ระบุในแบบฟอร์มตอบกลับ แล้วคำนวณค่าเช่าห้องโดยการคูณค่าเช่าห้องกับระยะเวลาที่เข้าพัก

สูตรเดียวกันสามารถเขียนด้วย IFS แทน VLOOKUP ได้

 =ArrayFormula( IF(ROW(A:A) = 1, "Room Rent", IFS(ISBLANK(C:C), "", MONTH(C:C) < 2, 299, MONTH(C:C) < 5, 499, MONTH(C:C) < 9, 699, TRUE, 199 ) ) )

คำนวณจำนวนภาษีตามมูลค่าในใบแจ้งหนี้

ในแนวทางนี้ เราจะใช้ฟังก์ชัน FILTER ซึ่งอาจนำไปสู่สูตรที่ซับซ้อนน้อยกว่าการใช้ฟังก์ชัน IF ข้อเสียคือ คุณต้องเขียนชื่อคอลัมน์ในแถวที่ 1 และวางสูตรในแถวที่ 2 (ดังนั้นจึงควรมีการตอบกลับแบบฟอร์มหนึ่งรายการเพื่อให้สูตรทำงานได้)

 =ArrayFormula(FILTER(E2:E, E2:E<>"")*1.35)

ที่นี่เราใช้ภาษี 35% กับมูลค่าใบแจ้งหนี้และควรเพิ่มสูตรนี้ในแถว #2 ของคอลัมน์ชื่อ "จำนวนภาษี" ตามที่แสดงในภาพหน้าจอ

กำหนดคะแนนแบบทดสอบใน Google ฟอร์ม

เมืองใดได้ชื่อว่าเป็นแอปเปิ้ลลูกใหญ่ นี่เป็นคำถามแบบตอบสั้นๆ ใน Google ฟอร์ม เพื่อให้นักเรียนสามารถให้คำตอบ เช่น นิวยอร์ก นิวยอร์กซิตี้ นิวยอร์ค และยังคงตอบได้ถูกต้อง ครูต้องให้คะแนน 10 คะแนนให้กับคำตอบที่ถูกต้อง

 =ArrayFormula( IF(ROW(A:A) = 1, "Quiz Score", IFS( ISBLANK(A:A), "", REGEXMATCH(LOWER({B:B}), "new\s?york"), 10, {B:B} = "NYC", 10, TRUE, 0 ) ) )

ในสูตรนี้ เรากำลังใช้ฟังก์ชัน IFS ที่เหมือนกับคำสั่ง IF THEN ในการเขียนโปรแกรม เรากำลังใช้ REGEXMATCH เพื่อจับคู่ค่าต่างๆ เช่น New York, New York, newyork ในครั้งเดียวโดยใช้นิพจน์ทั่วไป

ฟังก์ชัน IFS จะคืนค่า NA หากไม่มีเงื่อนไขใดเป็นจริง ดังนั้นเราจึงเพิ่มการตรวจสอบ TRUE ที่ส่วนท้ายซึ่งจะถูกประเมินว่า true เสมอหากไม่มีเงื่อนไขก่อนหน้านี้ที่ตรงกันและคืนค่า 0

แยกชื่อของผู้ตอบแบบฟอร์ม

หากคุณมีฟิลด์แบบฟอร์มที่ขอให้ผู้ใช้กรอกชื่อเต็ม คุณสามารถใช้ฟังก์ชัน Google ชีตเพื่อแยกชื่อจริงออกจากชื่อเต็ม และใช้ฟิลด์นั้นเพื่อส่งอีเมลในแบบของคุณ

 =ArrayFormula( IFS( ROW(A:A)=1, "First Name", LEN(A:A)=0, IFERROR(1/0), LEN(A:A)>0, PROPER(REGEXEXTRACT(B:B, "^[^\s+]+")) ) )

เราได้ใช้วิธี RegexExtract ที่นี่เพื่อดึงสตริงก่อนช่องว่างแรกในฟิลด์ชื่อ ฟังก์ชัน PROPER จะใช้อักษรตัวแรกของชื่อเป็นตัวพิมพ์ใหญ่ในกรณีที่ผู้ใช้ป้อนชื่อเป็นตัวพิมพ์เล็ก

ค้นหาการส่งแบบฟอร์ม Google ที่ซ้ำกัน

หาก Google ฟอร์มของคุณเป็นที่อยู่อีเมลสำหรับคอลเลกชั่น คุณสามารถใช้ฟิลด์นั้นเพื่อตรวจหาคำตอบที่ส่งมาจากผู้ใช้คนเดียวกันหลายครั้งได้อย่างรวดเร็ว

 =ArrayFormula( IFS( ROW(A:A)=1, "Is Duplicate Entry?", LEN(A:A)=0, IFERROR(1/0), LEN(A:A)>0, IF(COUNTIF(B:B, B:B) > 1, "YES", "") ) )

สมมติว่าคอลัมน์ B กำลังจัดเก็บที่อยู่อีเมลของผู้ตอบแบบฟอร์ม เราสามารถใช้ฟังก์ชัน COUNTIF เพื่อทำเครื่องหมายรายการที่ซ้ำกันในสเปรดชีตการตอบกลับของเราได้อย่างรวดเร็ว คุณยังใช้การจัดรูปแบบตามเงื่อนไขในชีตเพื่อไฮไลต์แถวที่อาจซ้ำกันได้

ตอบกลับแบบฟอร์มอีเมลพร้อมค่าป้อนอัตโนมัติ

คุณสามารถใช้ Document Studio เพื่อส่งอีเมลไปยังผู้ตอบแบบฟอร์มโดยอัตโนมัติ อีเมลจะถูกส่งหลังจากที่ Google ชีตกรอกค่าของสูตรโดยอัตโนมัติ คำตอบของแบบฟอร์มต้นฉบับและค่าที่คำนวณสามารถรวมอยู่ในเอกสาร PDF ที่สร้างขึ้นได้