ขั้นสูง: ตัวเลือกจากสเปรดชีตอื่น
Sheet ตัวเลือกของคุณคือที่เดียวที่ส่วนเสริมอ่านข้อมูล คุณพิมพ์ตัวเลือกในคอลัมน์ A พิมพ์โควตาในคอลัมน์ B และส่วนเสริมเขียนจำนวนผู้ลงชื่อลงในคอลัมน์ C ไม่มีสิ่งอื่นใดใน Drive ของคุณถูกแตะต้อง
หากรายการที่คุณต้องการอยู่ในสเปรดชีตอื่นอยู่แล้ว (รายชื่อผู้เรียน รายการสินค้า หรือชีตที่คนอื่นดูแล) คุณไม่ต้องพิมพ์ใหม่หรือคัดลอกมา ให้ชี้คอลัมน์ A ไปยังชีตนั้นด้วยสูตร แล้วฟอร์มของคุณจะตามไปเอง
สูตร
เปิด Sheet ตัวเลือกของคุณแล้วไปที่แท็บของคำถาม ตอนเชื่อมต่อ คอลัมน์ A ถูกเติมด้วยตัวเลือกปัจจุบันของคำถามไว้แล้ว ดังนั้นก่อนอื่นให้ ล้างทุกอย่างในคอลัมน์ A ที่อยู่ใต้หัวตาราง สูตรจะเติมเซลล์ด้านล่างไปเรื่อย ๆ ตามผลลัพธ์ที่ขยายออก และจะหยุดพร้อม #REF! หากมีเซลล์ใดในนั้นมีข้อมูลอยู่
จากนั้นคลิกเซลล์ A2 แล้วใส่
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/edit", "Sheet1!A2:A")
แทนที่ URL ด้วย URL ของสเปรดชีตต้นทางของคุณ และแทนที่ Sheet1!A2:A ด้วยแท็บและคอลัมน์ที่เก็บตัวเลือกของคุณ ให้เริ่มช่วงข้อมูลที่แถวที่ 2 หากต้นทางของคุณมีแถวหัวตาราง
ครั้งแรกที่ทำเช่นนี้ เซลล์จะแสดง #REF! การกด Enter ทำให้การเลือกเลื่อนลงไปหนึ่งแถว และ Sheets จะแสดงปุ่มขอ อนุญาตการเข้าถึง เฉพาะตอนที่เซลล์สูตรถูกเลือกอยู่เท่านั้น จึงต้องคลิก A2 อีกครั้งเพื่อให้ปุ่มปรากฏ คลิก อนุญาตการเข้าถึง หนึ่งครั้งแล้วค่าจะปรากฏขึ้น การอนุญาตนี้เป็นแบบต่อคู่สเปรดชีต และปุ่มจะแสดงเฉพาะกับคนที่เปิดสเปรดชีตได้ทั้งสองไฟล์
ปล่อยให้ A1 เป็นคำว่า Options ไว้ ส่วนเสริมตรวจหัวตารางนี้เพื่อให้แน่ใจว่าเลย์เอาต์ของแท็บยังสมบูรณ์ และการซิงค์จะหยุดหากหัวตารางเปลี่ยนไป
หลังจากนั้นเกิดอะไรขึ้น
ไม่มีอะไรเปลี่ยนไปอีก ฟอร์มของคุณจะซิงค์ตามกำหนดการปกติ (เมื่อเปิดแถบด้านข้าง และทุกชั่วโมง) และการซิงค์แต่ละรอบจะอ่านค่าที่สูตรให้ผลลัพธ์อยู่ในขณะนั้น แก้ไขสเปรดชีตต้นทางแล้วค่าใหม่จะไปถึงฟอร์มของคุณในการซิงค์ครั้งถัดไป
โควตาต้องตรวจดูอีกรอบ
โควตาในคอลัมน์ B จับคู่กับตัวเลือก ตามแถว ตัวเลขใน B5 จำกัดตัวเลือกใดก็ตามที่อยู่ใน A5
รายการที่พิมพ์เองด้วยมือจะไม่ขยับ เรื่องนี้จึงไม่ปรากฏให้เห็นในการใช้งานปกติ แต่รายการที่ป้อนด้วยสูตรขยับได้ หากมีการแทรกแถว ลบแถว หรือจัดเรียงใหม่ที่ต้นทาง ตัวเลือกจะเลื่อนไป ในขณะที่โควตาของคุณยังอยู่ที่เดิม จึงไปติดอยู่กับแถวที่ผิด
สองวิธีที่ช่วยให้ปลอดภัย
- เพิ่มหรือลบแถวที่ ท้าย รายการต้นทาง แทนที่จะทำตรงกลาง
- หลังการจัดเรียงใหม่ทุกครั้ง ให้เปิด Sheet ตัวเลือกแล้วตรวจว่าแต่ละโควตายังอยู่ข้างตัวเลือกที่ถูกต้อง
หากคุณไม่ได้ใช้โควตาเลย เรื่องทั้งหมดนี้ก็ไม่เกี่ยวกับคุณ
เมื่อสูตรพัง
หากสิทธิ์เข้าถึงถูกเพิกถอน ไฟล์ต้นทางถูกลบ หรือช่วงข้อมูลใช้ไม่ได้แล้ว เซลล์จะให้ผลลัพธ์เป็นข้อผิดพลาดอย่าง #REF! หรือ #N/A
ส่วนเสริมจะ ไม่ เขียนสิ่งนั้นลงในฟอร์มของคุณ การซิงค์จะหยุด คำถามยังคงตัวเลือกเดิมที่มีอยู่ และแถบด้านข้างจะแสดงข้อผิดพลาดการซิงค์เพื่อบอกให้คุณไปแก้ Sheet ตัวเลือก เปิดชีต ซ่อมสูตร แล้วซิงค์อีกครั้ง
เมื่อเซลล์ที่มีข้อผิดพลาดมี IMPORTRANGE อยู่ แถบด้านข้างจะบอกเช่นนั้นและชี้คุณกลับไปยังปุ่มขอ อนุญาตการเข้าถึง เพราะการอนุญาตที่ยังไม่เคยให้นั้นดูเหมือนสูตรที่พังทุกประการ ให้คลิก A2 ใน Sheet ตัวเลือก อนุญาตการเข้าถึงหากปุ่มปรากฏ แล้วซิงค์อีกครั้ง
ทำไมจึงใช้สูตรแทนตัวเลือกไฟล์
การเชื่อมต่อไปยังสเปรดชีตภายนอกจากในตัวส่วนเสริมย่อมหมายถึงการให้สิทธิ์เข้าถึงไฟล์เหล่านั้น และจะทำให้ Sheet ตัวเลือกมีความหมายสองแบบขึ้นอยู่กับการตั้งค่าที่คุณมองไม่เห็นตอนกำลังดูชีตอยู่ การใช้สูตรทำให้กฎข้อเดียวนี้เป็นจริงเสมอ: คุณเป็นเจ้าของ Options และ Capacity ส่วนเสริมเป็นเจ้าของ Taken และส่วนเสริมไม่เคยอ่านสเปรดชีตใดนอกจากไฟล์ที่มันสร้างให้ฟอร์มของคุณ
