Microsoft Excel เป็นโปรแกรมสเปรดชีต พัฒนาโดย Microsoft ใช้งานได้เกือบทุกแพลตฟอร์ม นิยมใช้ทางธุรกิจและทั่วไป ด้วยอินเทอร์เฟซง่ายและสูตร/ฟังก์ชันมากมาย ทำให้จัดการข้อมูง่ายขึ้น แต่เมื่อเร็วๆ นี้มีรายงานว่าผู้ใช้ใช้สูตรแทนที่ตัวอักษรเฉพาะเป็นคำไม่ได้ แสดงข้อผิดพลาด "An Array Value Could not be Found"
สาเหตุของข้อผิดพลาด "An Array Value Could not be Found" บน Excel
หลังสืบสวนพบสาเหตุหลัก:
- สูตรผิด (Wrong Formula): ข้อผิดพลาดนี้เกิดเมื่อใส่สูตรแทนที่ (substitution formula) ผิดพลาด ผู้ใช้มากมายใช้สูตรแทนที่ตัวอักษรเฉพาะเป็นคำ/ประโยค เพื่อประหยัดเวลา แต่หากใส่ผิดจะคืนค่าข้อผิดพลาดนี้
วิธีแก้ไข 1: ใช้สูตร Substitute Array Formula
หากใส่สูตรผิด ให้ใช้สูตรอาร์เรย์แทน:
- เปิด Excel และสเปรดชีตที่ต้องการ
- คลิกเซลล์ที่จะใช้สูตร
- คลิกแถบ Formula
- พิมพ์สูตรนี้ กด Enter:
=ArrayFormula(substitute(substitute(substitute(E2:E5&" "," y "," Y ")," yes "," Y ")," Yes "," Y "))
- ในที่นี้ แทนที่ "Y" ด้วย "Yes"
- แก้ไขสูตรให้ตรงกับความต้องการ: ใส่ตัวอักษร/คำที่ต้องการแทนที่แทน "Y" และคำที่จะแทนที่แทน "yes" เปลี่ยนที่อยู่เซลล์ตามต้องการ
วิธีแก้ไข 2: ใช้สูตร RegExMatch
หากวิธีแรกไม่ได้ ให้ลองสูตร RegExMatch:
- เปิด Excel และสเปรดชีต
- คลิกเซลล์เป้าหมาย
- เลือกแถบ Formula
- พิมพ์สูตร กด Enter:
=if(REGEXMATCH(E2,"^Yes|yes|Y|y")=true,"Yes")
- แทนที่ "Y" ด้วย "Yes" เช่นกัน
- เปลี่ยนค่า "Y" และ "Yes" ให้ตรงความต้องการ
วิธีแก้ไข 3: ใช้สูตรรวม (Combined Formula)
บางกรณีสูตรรวมจากทั้งสองข้างต้นทำงานได้:
- เปิด Excel และสเปรดชีต
- เลือกเซลล์เป้าหมาย
- คลิกแถบ Formula
- พิมพ์สูตร กด Enter:
=ArrayFormula(if(REGEXMATCH(E2:E50,"^Yes|yes|Y|y")=true,"Yes"))
- แทนที่ "Y" ด้วย "Yes" ปรับเงื่อนไขได้ตามต้องการ
วิธีแก้ไข 4: ใช้สูตร RegExReplace
อาจต้องใช้สูตร RegExReplace:
- เปิด Excel และสเปรดชีต
- เลือกเซลล์เป้าหมาย
- คลิกแถบ Formula
- พิมพ์สูตร กด Enter:
=ArrayFormula(regexreplace(" "&E2:E50&" "," y | yes | Yes "," Y ")) - แทนที่ "Y" ด้วย "Yes" ปรับให้ตรงสถานการณ์