เปิดดูทีละหน้า-วิธีแก้ข้อมูลล้นแล้วเจอ Error Spill

#SPILL! เป็น Error ที่พบบ่อยมากใน Excel 365 หรือรุ่นตั้งแต่ 2021 เป็นต้นมา ที่เริ่มต้นความสามารถพิเศษที่เรียกว่า Dynamic Array โดยสาเหตุหนึ่งที่คำเตือนนี้จะเกิดขึ้น คือ ต่อเมื่อสูตรที่สร้างขึ้นนั้นไม่สามารถกระจายค่าที่หาได้ออกไปจนครบทั้งตาราง

Spill แปลว่า ล้น หรือ หก เช่น เวลาเทน้ำจนเต็มแก้วแล้วล้น หรือมีอะไรมาขวางทางน้ำที่ไหล น้ำก็จะล้น

วิธีแก้ไขแบบง่ายๆ ให้ใช้สูตร CountA ตรวจสอบก่อนว่าพื้นที่ด้านล่างที่ติดกับสูตรที่จะกระจายค่าออกไปนั้นเป็นช่องว่างที่ไม่มีอะไรกรอกไว้ไหม โดยใช้สูตรแบบนี้

=IF( CountA(Range) = 0, สูตรที่ต้องการใช้, 0)

ถ้านับแล้วพบว่าในพื้นที่นั้นสูตร CountA = 0  แสดงว่าไม่มีอะไรมาขวางก็ให้ใช้สูตรนั้นได้ แต่ถ้าไม่ใช่ให้แสดงค่า 0 แทน

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

=CHOOSEROWS( MyData, SEQUENCE( Transactions, 1, (Transactions*(PageNum-1))+1) )


พอกรอกเลขหน้า PageNum ที่อยากจะดูลงไปในเซลล์สีส้ม K2 สูตรนี้จะเลือกแสดงข้อมูลออกมาให้เห็นทีละหน้า

MyData เป็นพื้นที่ข้อมูลทั้งหมด ซึ่งมีจำนวน 380 รายการ หาได้จากสูตร Rows(MyData) ในเซลล์ C2

SEQUENCE( Transactions, 1, (Transactions*(PageNum-1))+1) ) ทำหน้าที่ดึงข้อมูลแต่ละหน้า โดย

เซลล์สีเขียว F2 ตั้งชื่อว่า Transactions เป็นจำนวนรายการต่อหน้า ตอนนี้สมมติว่าอยากให้แสดงทีละ 20 รายการต่อหน้า

(Transactions*(PageNum-1))+1) เป็นสูตรหาเลขที่ลำดับรายการเริ่มต้นของแต่ละหน้า

หน้าที่ 1 หาเลขที่รายการเริ่มต้นมาจาก 20*(1-1)+1 ก็จะเริ่มต้นที่รายการที่ 1 

หน้าที่ 2 หาเลขที่รายการเริ่มต้นมาจาก 20*(2-1)+1 ก็จะเริ่มต้นที่รายการที่ 21

หน้าที่ 3 หาเลขที่รายการเริ่มต้นมาจาก 20*(3-1)+1 ก็จะเริ่มต้นที่รายการที่ 41

หน้าที่ 9 หาเลขที่รายการเริ่มต้นมาจาก 20*(9-1)+1 ก็จะเริ่มต้นที่รายการที่ 161

หน้าที่ 15 หาเลขที่รายการเริ่มต้นมาจาก 20*(15-1)+1 ก็จะเริ่มต้นที่รายการที่ 281 

Download ตัวอย่างได้จาก 

https://drive.google.com/file/d/1EJaRC4PNHa3gArrYkpai0TmEmzA2qJYA/view?usp=sharing

วิธีนี้นอกจากใช้ช่วยแก้ Spill แล้ว ยังช่วยทำให้สามารถเลือกดูรายการไหนก็ได้โดยไม่ต้องเสียเวลาไปเลื่อนหน้าจอ หรือให้นำข้อมูลที่เลือกมาแต่ละหน้านี้ไปใช้คำนวณต่อ Excel จะใช้เวลาคำนวณเหลือนิดเดียว

 

 

ความคิดเห็น

บทความที่ได้รับความนิยม